机器学习笔记(九) 神经网络的学习

本文深入探讨神经网络的学习过程,重点介绍了代价函数的定义及其在二类分类和多类分类中的应用,以及反向传播算法的计算方法和直观解释。同时,文章还提到了梯度下降的检验、参数初始化策略,以及训练神经网络的综合步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.代价函数

   首先引入一些新记法,便于稍后讨论。

   假设神经网络的样本有m个,每个样本包含一组输入x和一组输出信号y,L表示神经网络的层数,Sl即第l层的单元个数(不包括偏置单元)。

   将神经网络的分类定义为两种情况:二类分类和多类分类。

  

   在逻辑回归中,我们的代价函数:

  

   我们只有一个输出变量,也只有一个因变量y。但是在神经网络中不同,我们可以有很多输出变量,我们的hθ(x)是一个维度为k的向量,并且我们训练集中的因变量也是同样维度的向量,一次我们的代价函数会更复杂。

   神经网络的代价函数:

  

   代价函数虽然看起来复杂,但是背后的思想相同,我们希望通过代价函数来观察算法预测的结果与真实情况的误差。不同的地方在于,对于每一行特征,我们都会给出k个预测,预测k个不同的结果,选择其中可能性最高的一个,与y中的实际数据比较。后面的正则化是排除了每一层的θ0后,每一层的θ矩阵的和。最里层的循环j循环所有的行,外面的i循环所有的列。


2.反向传播算法

   和线性回归和逻辑回归类似,神经网络也可以用梯度下降算法,但是神经网络比较复杂,该如何计算梯度?

   需要如下两个式子:

    

   在前面,我们给出了前馈网络的计算方法,对于一个给定训练样本的神经网络,通过前向传播的方式从输入层开始,正向一层一层进行计算,直到最后一层。

   现在,为了计算代价函数的偏导数,我们需要一种反向传播算法。其核心是最小化网络输出值和目标值之间的误差。首先计算最后一层的误差,然后再一层一层反向求出各层的误差,直至倒数第二层。

   对下面的神经网络:

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值