机器学习算法实现03-神经网络

    xiaoxiao2021-03-27  32

    依据之前博文中的神经网络理论做个简单的例子,对神经网络前向传播与反向传播算法有个深入理解,同时对神经网络计算细节有个清晰认识。

    题目:上图的样本案例分3类,利用神经网络知识推算出一个未知坐标属于哪类

    这里我准备用3层结构的神经网络层

    一,

    nn_params:初始化参数值。

        首先进行参数随机初始化

        eps = 0.0001 ;    Theta1=rand(4, 3) * (2*eps)- eps ;    Theta2=rand(3, 5) * (2*eps) - eps ;     initheta = [Theta1(:) ; Theta2(:)];

        将initheta 传给nn_params 。

    input_layer_size:输入层激励单元数。本例为2个单元

    hidden_layer_size:隐藏层单元数。本例为4个单元

    num_labels:输出层单元数。本例为3个单元

    二,将theta1与theta2重组成对应矩阵

    三,将最后分类情况向量化,向量化后即,1对应[1,0,0],2对应[0,1,0],3对应[0,0,1]。

    四,前向传播算出第二,第三层的激活函数输出值。注意不要忘了增加偏量值。

    五,正则化求出代价函数值,将2个参数矩阵的第一列移除,不参与正则化。

    六,利用前向传播,反向传播算出梯度值。逐条数据计算。

    七,对梯度值进行正则化,并把theta1,theta2向量化。

    下面是本例中用到的函数

    转载请注明原文地址: https://ju.6miu.com/read-664453.html

    最新回复(0)