第二章--第三节 成本函数和损失函数是什么鬼
来源:互联网 发布:软件语言翻译器 编辑:程序博客网 时间:2024/04/29 23:22
前言:损失函数是机器学习里最基础也是最为关键的一个要素,通过对损失函数的定义、优化,就可以衍生到我们现在常用的LR等算法中
本文是根据个人自己看的《统计学方法》《斯坦福机器学习课程》及日常工作对其进行的一些总结。因为才疏学浅,如有不对之处,请发邮件指点liedward@qq.com。非常感谢帮忙指正错误。
关键词:损失函数的作用,机器学习.
损失函数的作用:衡量模型模型预测的好坏。
正文:
首先我们假设要预测一个公司某商品的销售量:
X:门店数 Y:销量
我们会发现销量随着门店数上升而上升。于是我们就想要知道大概门店和销量的关系是怎么样的呢?
我们根据图上的点描述出一条直线:似乎这个直线差不多能说明门店数X和Y得关系了:我们假设直线的方程为Y=a0+a1X(a为常数系数)。假设a0=10 a1=3 那么Y=10+3X(公式1)
X
公式Y
实际Y
差值
1
13
13
0
2
16
14
2
3
19
20
-1
4
22
21
1
5
25
25
0
6
28
30
-2
我们希望我们预测的公式与实际值差值越小越好,所以就定义了一种衡量模型好坏的方式,即损失函数(用来表现预测与实际数据的差距程度)。于是乎我们就会想到这个方程的损失函数可以用绝对损失函数表示:
公式Y-实际Y的绝对值,数学表达式:[1]
上面的案例它的绝对损失函数求和计算求得为:6
为后续数学计算方便,我们通常使用平方损失函数代替绝对损失函数:
公式Y-实际Y的平方,数学表达式:L(Y,f(X))= [1]
上面的案例它的平方损失函数求和计算求得为:10
以上为公式1模型的损失值。
假设我们再模拟一条新的直线:a0=8,a1=4
X
公式Y
实际Y
差值
1
12
13
-1
2
16
14
2
3
20
20
0
4
24
21
3
5
28
25
3
6
32
30
2
公式2 Y=8+4X
绝对损失函数求和:11 平方损失函数求和:27
公式1 Y=10+3X
绝对损失函数求和:6 平方损失函数求和:10
从损失函数求和中,就能评估出公式1能够更好得预测门店销售。
统计学习中常用的损失函数有以下几种:
(1) 0-1损失函数(0-1 lossfunction):
L(Y,f(X))={1,0,Y≠f(X)Y=f(X)
(2) 平方损失函数(quadraticloss function)
L(Y,f(X))=(Y−f(X))2
(3) 绝对损失函数(absoluteloss function)
L(Y,f(X))=|Y−f(X)|
(4) 对数损失函数(logarithmicloss function)或对数似然损失函数(log-likelihood loss function)
L(Y,P(Y|X))=−logP(Y|X)
损失函数越小,模型就越好。
总结:
损失函数可以很好得反映模型与实际数据差距的工具,理解损失函数能够更好得对后续优化工具(梯度下降等)进行分析与理解。很多时候遇到复杂的问题,其实最难的一关是如何写出损失函数。这个以后举例
下一篇,我们来说一下如何用梯度下降法对每个公式中的系数进行调整。
参考文献:
[1] 《统计学方法》 李航 P7页- 第二章--第三节 成本函数和损失函数是什么鬼
- 第二章--第三节 成本函数和损失函数推导过程
- 第三节 Swift 函数和闭包
- 第三节循环语句和函数初识
- 第二章 --- 第三节
- 第二章 第三节
- 【第二章 第三节】
- 函数第三节
- Python函数第三节
- 损失函数(Loss function)和代价函数(成本函数)(Cost function)的区别与联系
- 激活函数和损失函数
- 激活函数和损失函数
- 第二章--第二节 sigmoid函数是什么鬼?
- 神经网络之损失函数:方差损失和互熵损失
- php源码之路第四章第三节(函数的调用和执行)
- 第二十三节 java学习 构造函数
- F#入门-第四章 面向对象-第三节 成员函数
- 第五章 第三节:比较运算符与函数
- Hibernate学习总结
- 沙龙是什么
- 51Nod 1096
- 数学笔记26——参数方程
- 关于海康威视Java web项目结合的几点注意事项
- 第二章--第三节 成本函数和损失函数是什么鬼
- Android获取当前运营的APP的包名
- “小心!有人在偷看你手机!”谷歌搞了个被偷窥提醒算法
- hive中行转列的问题:
- Tesseract-OCR的简单使用与训练
- Java的三种代理模式
- Java中数据库连接池原理机制的详细讲解
- make命令和makefile文件
- PhpStorm配置Xdebug调试