损失函数及一般型(及梯度)

首先,回顾高数中对于梯度的定义

梯度是一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)

设二元函数 \large z=f(x,y) 在平面区域 \large D 上具有一阶连续偏导数,则对于每一个点 \large P(x,y) 都可定出一个向量 \large \left \{ \frac{\partial f}{\partial x},\frac{\partial f}{\partial y}\right \}=f_{x}(x,y)\vec{i}+f_{y}(x,y)\vec{j} 该函数就称为函数 \large z=f(x,y) 在点 \large P(x,y) 的梯度,记作 \large gradf(x,y) 或 \large \triangledown f(x,y)

 即有: 

 \large gradf(x,y)=\triangledown f(x,y)=\left \{ \frac{\partial f}{\partial x},\frac{\partial f}{\partial y}\right \}=f_{x}(x,y)\vec{i}+f_{y}(x,y)\vec{j}

其中 \large \triangledown =\frac{\partial }{\partial x}\vec{i}+\frac{\partial }{\partial y}\vec{j} 称为(二维的)向量微分算子或Nabla算子

所以 \large \triangledown f=\frac{\partial f}{\partial x}\vec{i}+\frac{\partial f}{\partial y}\vec{j}

设 \large e=\left \{ cos\alpha ,cos\beta \right \} 是方向 \large l 上的单位向量

则可得其方向导数为: \large \frac{\partial f}{\partial x}=\frac{\partial f}{\partial x}cos\alpha +\frac{\partial f}{\partial y}cos\beta

                                        ​​​​​​​    \large =\left \{ \frac{\partial f}{\partial x},\frac{\partial f}{\partial y} \right \}\left \{ cos\alpha ,cos\beta \right \}

                        ​​​​​​​        ​​​​​​​            \large =gradf(x,y)\cdot e

可以发现方向导数的大小,即梯度与方向向量的点乘

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​    \large =\left | gradf(x,y) \right |\cdot \left | e \right |\cdot cos\left [ gradf(x,y),e \right ]

所以当方向 \large l 与梯度方向一致时,有

余弦值 \large cos\left [ gradf(x,y),e \right ]=1 ,此时方向导数 \large \frac{\partial f}{\partial l} 取得最大值

且最大值就为梯度的模,即

\large \left | gradf(x,y) \right |=\sqrt{\left ( \frac{\partial f}{\partial x} \right )^{2}+\left ( \frac{\partial f}{\partial y} \right )^{2}}

因此,函数在一点沿梯度方向的变化率是最大的,且最大值为在该点处梯度的模

损失函数用来衡量预测值和真实值之间的区别,也就是衡量模型的好坏

损失函数越小,表示模型的鲁棒性越好

损失函数的作用:计算神经网络每次迭代的前向计算结果(预测值)与真实值的差距,从而指导下一步的训练向正确的方向进行

损失函数的具体步骤:

1.用随机值初始化前向计算公式的参数;

2.代入样本,计算输出的预测值;

3.用损失函数计算预测值和标签值(真实值)的误差;

4.根据损失函数的导数,沿梯度最小方向将误差回传,修正前向计算公式中的各个权重值;

5.goto 2,直到损失函数值达到一个满意的值就停止迭代

几种简单的损失函数:

绝对值损失(L1 Loss)

其公式为: \large l(y,{y}')=\left | y-{y}' \right | 

其中 \large y 为真实值, \large y{}' 为预测值

可以发现该函数在零点处不可导

均方损失(L2 Loss)

其公式为: \large l(y,y{}')=\frac{1}{2}(y-y{}')^{2}

除以 \large \frac{1}{2} 是求导后系数部分为 1

鲁棒损失(Huber’s Robust Loss)

其公式为: \large l(y,{y}')=\left\{\begin{matrix} \left | y-{y}' \right |-\frac{1}{2} & if\left | y-{y}' \right |>1\\ \frac{1}{2}(y-{y}')^{2}& otherwise \end{matrix}\right.​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PL_涵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值