2022.9.8
神经网络算法数学原理是非常难的,但好在我们只需要掌握代码逻辑还有思路就可以了
神经网络算法的实现过程大体主要分为两块: 正向迭代和反馈修正
1. 正向迭代部分只需要用到大二学到的线性代数知识(矩阵乘法)
2. 反馈机制部分:
主要考虑(1)误差函数的选择 (2)极值点的判定
误差函数的选择是选择经验函数:平方差函数
极值点的判定选择的是梯度下降法,也是最经典的求单峰极值的函数
通过对表达式的微分,我们可以得到经验公式
2022.9.9
经过昨日的学习,今天自己开始对于神经网络模板代码的构建
神经网络初始化:
# neural network class definition
class neuralNetwork():
# 初始化网络
def __init__(self,inputnodes,hiddennodes,outputnodes,learningrate):
# 输入层 隐藏层 输出层
self.inodes= inputnodes
self.hnodes= hiddennodes
self.onodes= outputnodes
# 学习率
self.lr= learningrate
# 训练网络
def train(self):
pass
# 查询网络
def query(self):
pass
# 尝试创建3个节点,每一层各有三个的小型神经网络对象
inputnodes=3
outputnodes=3
hiddennodes=3
learningrate=0.3
n=neuralNetwork(inputnodes,hiddennodes,outputnodes,learningrate)