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

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


题目:上图的样本案例分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向量化。



下面是本例中用到的函数





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值