深度学习与图像识别:原理与实践 笔记Day_09

一、损失函数

1.均方误差

均方误差是各数据偏离真实值的距离平方和的平均数,也即误差平方和的平均数,用σ表示。

                                        ​​​​​​​        ​​​​​​​        Loss = \frac{\sum_{0}^{n}(x_i-x_i{}')^2}{n}

这里x_i表示的是神经网络的输出,x_i{}'表示的是真实值,i表示每个数据。

用Python代码实现,具体如下:

def mean_squared_error(p,y):
    return np.sum((p-y)**2)/y.shape[0]

动物分类的例子,我们将猫份为类1,狗分为类2,小鸡分类为3,如果不属于任何一类就分为类0。假设我们在这里输入了一张猫的照片,其对应的真是标签是0 1 0 0(ont-hot编码形式):

y=\begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix}      ,                   y_precict = \begin{pmatrix} 0.3 \\ 0.2 \\ 0.1 \\ 0.4 \end{pmatrix}

通过代码来看:

import numpy as np
y = np.array([0,1,0,0])  # y的真实标签
p = np.array([0.3,0.2,0.1,0.4]) #通过Softmax得到的概率值
def mean_squared_error(p,y):
    return np.sum((p-y)**2)/y.shape[0]

print(mean_squared_error(p,y))

运行结果:

如果分类的类别是正确的,则输出的是0.05500000000014

import numpy as np
y = np.array([0,1,0,0])  # y的真实标签
p = np.array([0.2,0.6,0.1,0.1]) #通过Softmax得到的概率值
def mean_squared_error(p,y):
    return np.sum((p-y)**2)/y.shape[0]

print(mean_squared_error(p,y))

 运行结果:

第一个例子中,我们输入的图片是猫,但是神经网络认为是鸡,损失函数的输出约为0.23;

第二个例子中,我们输入的图片是猫,神经网络也认为是猫,损失函数的输出约为0.055.

可以看出第二个例子的损失函数较小,意味着其与真实值之间的误差较小。

2.交叉熵误差

同样的例子,在使用Softmax层时,对应的目标值y以及训练结束前某次输出的概率值y_predict分别为:

y=\begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix}      ,                   y_precict = \begin{pmatrix} 0.3 \\ 0.2 \\ 0.1 \\ 0.4 \end{pmatrix}

Softmax使用的损失函数为交叉熵,其中C代表类别数量:

                                            Loss = - \sum_{j=1}^{C=4}y_jlog(y_predict_j)

在训练过程中,我们的目标是最小化Loss的值,y已经是ont-hot类型了,我们输入的图片是猫,所以我们知道y1=y3=y4=0,y2=1,所以带入Loss函数中可以得到:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​     Loss = - y_2log(y_predict_2)

def cross_entropy_error(p,y):
    return np.sum(-y*np.log(p))

p代表预测值;y表示真实值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值