深度学习之损失函数理解

为什么要用到损失函数?
输入:训练集 X = [ x ( 1 ) , x ( 2 ) , . . . x ( i ) . . . x ( m ) ] X=[x^{(1)},x^{(2)},...x^{(i)}...x^{(m)}] X=[x(1),x(2),...x(i)...x(m)],假设 x ( i ) x^{(i)} x(i)为一张图片转化成的多维向量(如上一篇博客所讲)。 Y = [ y ( 1 ) , y ( 2 ) , . . . y ( i ) . . . y ( m ) ] Y=[y^{(1)},y^{(2)},...y^{(i)}...y^{(m)}] Y=[y(1),y(2),...y(i)...y(m)] y ( m ) y^{(m)} y(m) x ( i ) x^{(i)} x(i)对应的标签值,若 x ( i ) x^{(i)} x(i)图片显示为cat,则 y ( i ) y^{(i)} y(i)为1,否则为0。
执行:(1)将训练集 x ( i ) x^{(i)} x(i)带入假设函数 z ( i ) = w T x ( i ) + b z^{(i)}=w^Tx^{(i)}+b z(i)=wTx(i)+b从而训练 w w w b b b;(2)将 z ( i ) z^{(i)} z(i)作为自变量,放入 s i g m o i d sigmoid sigmoid函数(激活函数)中,即为 f ( z ( i ) ) = 1 1 + e − z ( i ) f(z^{(i)})=\frac{1}{1+e^{-z^{(i)}}} f(z(i))=1+ez(i)1
输出: y ( i ) ^ = f ( z ( i ) ) \widehat{y^{(i)}}=f(z^{(i)}) y(i) =f(z(i))
那么问题来了,如何来衡量 y ( i ) ^ \widehat{y^{(i)}} y(i) 与标签值 y ( i ) y^{(i)} y(i)的近似程度?从而调整 w w w b b b?损失函数就是衡量的方法,来衡量预测输出值和实际值有多接近。
损失函数
在逻辑回归中用到的损失函数是: L ( y ^ , y ) = − y l o g ( y ^ ) − ( 1 − y ) l o g ( 1 − y ^ ) L(\widehat{y},y)=-ylog(\widehat{y})-(1-y)log(1-\widehat{y}) L(y ,y)=ylog(y )(1y)log(1y )为什么要用到这个函数?比如:
我们的最终目的是让 L ( y ^ , y ) L(\widehat{y},y) L(y ,y)变小,从而表明预测值与实际值相近,上面这个函数就很好的解决了这个问题。
y = 1 y=1 y=1时损失函数 L ( y ^ , y ) = − l o g ( y ^ ) L(\widehat{y},y)=-log(\widehat{y}) L(y ,y)=log(y ),如果想要损失函数 L L L尽可能得小,那么 y ^ \widehat{y} y 就要尽可能大,因为sigmoid函数取值[0,1],所以 y ^ \widehat{y} y 会无限接近于1。
y = 0 y=0 y=0时损失函数 L ( y ^ , y ) = − l o g ( 1 − y ^ ) L(\widehat{y},y)=-log(1-\widehat{y}) L(y ,y)=log(1y ),如果想要损失函数 L L L尽可能得小,那么 y ^ \widehat{y} y 就要尽可能小,因为sigmoid函数取值[0,1],所以 y ^ \widehat{y} y 会无限接近于0。
损失函数是在单个训练样本中定义的,它衡量的是算法在单个训练样本中表现如何,为了衡量算法在全部训练样本上的表现如何,我们需要定义一个算法的代价函数,算法的代价函数是对 m m m个样本的损失函数求和然后除以 m m m: J ( w , b ) = 1 m ∑ i = 1 m L ( y i ^ , y ( i ) ) = 1 m ∑ i = 1 m ( − y ( i ) l o g ( y ( i ) ^ ) − ( 1 − y ( i ) ) l o g ( 1 − y ( i ) ^ ) ) J(w,b)=\frac{1}{m}\sum_{i=1}^m{L(\widehat{y^i},y^{(i)})}=\frac{1}{m}\sum_{i=1}^m{(-y^{(i)}log(\widehat{y^{(i)}})-(1-y^{(i)})log(1-\widehat{y^{(i)}}))} J(w,b)=m1i=1mL(yi ,y(i))=m1i=1m(y(i)log(y(i) )(1y(i))log(1y(i) ))
J ( w , b ) J(w,b) J(w,b)函数图如下:
在这里插入图片描述

损失函数只适用于像这样的单个训练样本,而代价函数是参数的总代价,所以在训练逻辑回归模型时候,我们需要找到合适的 w w w b b b,来让代价函数 J J J的总代价降到最低,代价越低,则 w w w b b b越准确。
关山初度尘未洗,策马扬鞭再奋蹄!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值