假设让你写一个程序,让它能识别图片上的数字5,你能想到几种方法?
神经网络基础4 - 损失函数
第一种方法是你绞尽脑汁写一个识别算法,第二种方法是你提取图片中可能代表数字5的一些特征向量,然后利用传统的机器学习方法训练出一个模型去识别。
第三种方法就是使用神经网络了,相比第二种方法来说,神经网络的优势在于它不需要人为地去设计和抽取原始数据中的特征数据,直接能从原始数据获得最终的结果,所以神经网络又被称为端到端的机器学习。
神经网络需要根据历史数据自动试出最优的权重参数,那什么才算是最优的呢?这里就需要引入损失函数的概念,损失函数代表了一个神经网络优劣的指标,损失函数有很多,最有名的叫均方差。
神经网络基础4 - 损失函数这里,yk 是表示神经网络的输出,tk 表示训练数据,k 表示数据的维数。以数字识别为例,对于数字5的图片,
tk = [0, 0, 0, 0, 0, 1, 0, 0, 0, 0] 其中每个数字代表了概率,第6个数字为1,代表了是数字5的概率为100%
如果神经网络计算出来的实际值是:
yk = [0.1, 0.05, 0.0, 0.0, 0.05, 0.1, 0.6, 0.1, 0.0, 0.0]
那么损失函数的值就是0.097500000000000031,可以看出损失函数的值越小,神经网络越优。
所以,神经网络的训练过程其实就是寻找最小损失函数的过程。
网友评论