栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

全连接神经网络

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

全连接神经网络

import numpy as np
import random
import sys
import math


alpha = 0.01

#sigmoid函数
def sigmoid(x):
    return 1 / (1 + math.exp(-x))

#损失函数
def loss():
    sigema1 = (y[0] - t[0]) ** 2
    sigema2 = (y[1] - t[1]) ** 2
    return sigema1 + sigema2

#t是预测值  (随机的)
t = [random.uniform(0,1),random.uniform(0,1)]
x1 = random.uniform(0,1)
x2 = random.uniform(0,1)
x3 = random.uniform(0,1)

#x是输入层的输入值
x = [x1,x2,x3]

#w1矩阵是输入层到隐藏层的每条权重的矩阵
#w2矩阵是隐藏层到输出层的每条权重的矩阵
w1 = np.array([[ random.uniform(0,1) for col in range(0,4)] for row in range(0,3)])
w2 = np.array([[ random.uniform(0,1) for col in range(0,2)] for row in range(0,4)])

#a矩阵是隐藏层的值
a = np.array([random.uniform(0,1),random.uniform(0,1),random.uniform(0,1),random.uniform(0,1)])
for i in range(0,4):
        a[i] = sigmoid(np.sum(x * w1[:,i]))

#y矩阵是输出层的输出值
y = [random.uniform(0,1),random.uniform(0,1)]

#计算y矩阵
for i in range(0,2):
        y[i] = sigmoid(np.sum(a * w2[:,i]))

#初始化delta矩阵 (delta矩阵的行列数与w矩阵相同)
delta1 = np.array([[ random.uniform(0,1) for col in range(0,4)] for row in range(0,3)])
delta2 = np.array([[ random.uniform(0,1) for col in range(0,2)] for row in range(0,4)])

#计算输入层到隐藏层的各个delta值
for i in range(0,3):
    for j in range(0,4):
        for k in range(0,2):
            delta1[i][j] = a[j] * (1 - a[j]) * w1[i][j] * (loss() * 2 * (y[k] - t[k]) * w2[i][k])

#计算隐藏层到输出层的各个delta值
for i in range(0,4):
    for j in range(0,2):
        delta2[i][j] = 2 * (y[j] - t[j]) * y[j] * (1 - y[j]) * a[j]

#计算输入层到隐藏层的权重 (训练100次)
for _ in range(100):

    for i in range(0,3):
        for j in range(0,4):
            w1[i][j] -= alpha * delta1[i][j]

#计算隐藏层到输出层的权重 (训练100次)
for _ in range(100):
    for i in range(0,4):
        for j in range(0,2):
            w2[i][j] -= alpha * delta2[i][j]

#结果
print(w1)
print(w2)

数据全部随机 公式比较复杂 难以验证正确性

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/272625.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号