神经网络 代价函数

神经网络 代价函数

首先引入一些便于稍后讨论的新标记方法:

假设神经网络的训练样本有 m m m个,每个包含一组输入 x x x和一组输出信号 y y y, L L L表示神经网络层数, S I S_I SI表示每层的neuron 个数( S l S_l Sl表示输出层神经元个数), S L S_L SL代表最后一层中处理单元的个数。

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

二类分类: S L = 0 , y = 0   o r   1 S_L=0, y=0\, or\, 1 SL=0,y=0or1表示哪一类;

K K K类分类: S L = k , y i = 1 S_L=k, y_i = 1 SL=k,yi=1表示分到第 i i i类; ( k > 2 ) (k>2) (k>2)

我们回顾逻辑回归问题中我们的代价函数为:

J ( θ ) = − 1 m [ ∑ i = 1 m y ( i ) log ⁡ h θ ( x ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ] + λ 2 m ∑ j = 1 n θ j 2 J(\theta) = -\frac{1}{m} \left[\sum_{i=1}^{m}y^{(i)}\log{h_\theta(x^{(i)})} + (1 - y^{(i)})\log\left(1 - h_\theta(x^{(i)})\right)\right] + \frac{\lambda}{2m}\sum_{j=1}^{n}\theta_j^2 J(θ)=−m1[i=1∑my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]+2mλj=1∑nθj2

在逻辑回归中,我们只有一个输出变量,又称标量(scalar ),也只有一个因变量 y y y,但是在神经网络中,我们可以有很多输出变量,我们的 h θ ( x ) h_\theta(x) hθ(x)是一个维度为 K K K的向量,并且我们训练集中的因变量也是同样维度的一个向量,因此我们的代价函数会比逻辑回归更加复杂一些,为: \newcommand{\subk}[1]{ #1_k }
h θ ( x ) ∈ R K h_\theta\left(x\right)\in \mathbb{R}^{K} hθ(x)∈RK ( h θ ( x ) ) i = i t h output {\left({h_\theta}\left(x\right)\right)}_{i}={i}^{th} \text{output} (hθ(x))i=ithoutput

J ( Θ ) = − 1 m [ ∑ i = 1 m ∑ k = 1 K y k ( i ) log ⁡ ( h Θ ( x ( i ) ) ) + ( 1 − y k ( i ) ) log ⁡ ( 1 − h Θ ( x ( i ) ) ) ] + λ 2 m ∑ l = 1 L − 1 ∑ i = 1 s l ∑ j = 1 s l + 1 ( Θ j i ( l ) ) 2 J(\Theta) = -\frac{1}{m} \left[ \sum_{i=1}^{m} \sum_{k=1}^{K} y_k^{(i)} \log (h_\Theta(x^{(i)})) + \left( 1 - y_k^{(i)} \right) \log \left( 1 - h_\Theta \left( x^{(i)} \right) \right) \right] + \frac{\lambda}{2m} \sum_{l=1}^{L-1} \sum_{i=1}^{s_l} \sum_{j=1}^{s_{l+1}} \left( \Theta_{ji}^{(l)} \right)^2 J(Θ)=−m1[i=1∑mk=1∑Kyk(i)log(hΘ(x(i)))+(1−yk(i))log(1−hΘ(x(i)))]+2mλl=1∑L−1i=1∑slj=1∑sl+1(Θji(l))2

这个看起来复杂很多的代价函数背后的思想还是一样的,我们希望通过代价函数来观察算法预测的结果与真实情况的误差有多大,唯一不同的是,对于每一行特征,我们都会给出 K K K个预测,基本上我们可以利用循环,对每一行特征都预测 K K K个不同结果,然后在利用循环在 K K K个预测中选择可能性最高的一个,将其与 y y y中的实际数据进行比较。

正则化的那一项只是排除了每一层 θ 0 \theta_0 θ0后,每一层的 θ \theta θ 矩阵的和。最里层的循环 j j j循环所有的行(由 s l + 1 s_{l+1} sl+1 层的激活单元数决定),循环 i i i则循环所有的列,由该层( s l s_l sl层)的激活单元数所决定。即: h θ ( x ) h_\theta(x) hθ(x)与真实值之间的距离为每个样本-每个类输出的加和,对参数进行regularizationbias项处理所有参数的平方和。

相关推荐
北邮刘老师7 分钟前
【智能体互联协议解析】北邮ACPs协议和代码与智能体互联AIP标准的关系
人工智能·大模型·智能体·智能体互联网
亚马逊云开发者17 分钟前
使用Amazon Q Developer CLI快速构建市场分析智能体
人工智能
Coding茶水间23 分钟前
基于深度学习的非机动车头盔检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
Rose sait33 分钟前
【环境配置】Linux配置虚拟环境pytorch
linux·人工智能·python
福客AI智能客服37 分钟前
从被动响应到主动赋能:家具行业客服机器人的革新路径
大数据·人工智能
司南OpenCompass1 小时前
衡量AI真实科研能力!司南科学智能评测上线
人工智能·多模态模型·大模型评测·司南评测
罗宇超MS1 小时前
如何看待企业自建AI知识库?
人工智能·alm
土星云SaturnCloud1 小时前
液冷“内卷”:在局部优化与系统重构之间,寻找第三条路
服务器·人工智能·ai·计算机外设
智界前沿1 小时前
集之互动AI创意视频解决方案:商业级可控,让品牌创意从“灵感”直达“落地”
人工智能·aigc