第二章--第三节 成本函数和损失函数是什么鬼
前言:损失函数是机器学习里最基础也是最为关键的一个要素,通过对损失函数的定义、优化,就可以衍生到我们现在常用的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页
第二章--第三节 成本函数和损失函数是什么鬼相关推荐
- 第二章--第三节 成本函数和损失函数推导过程
前面一节,介绍了神马是sigmoid函数. 其实他的本质,根据doctor wu所示,就是y=wTx+b 机器学习的重点就是能够算出wT和b两个不同的参数,进行模拟. 损失函数,不知道为啥,docto ...
- [转载]Programming MS Office 2000 Web Components第二章第三节
第二章第三节 编程模型要点 现在总结一下我们对电子表格组件的介绍,我将讲述(电子表格)控件编程模型的各个要点,以便您了解如何运用这个控件,以及当您需要编写脚本来实现不同的功能时该如何去做.本节不是编程 ...
- 第二章第三节(上)路径决策算法(动态规划)
这一节是根据参考线+障碍物实现避障的局部规划 这一节的理论,确定规划的起点是在frenet坐标系下的 哇塞每个规划周期下 这个参考线坐标都得换一次,这好烦呐: 撒点求粗解是在frenet坐标系下的, ...
- 根据黑马pink老师讲的bootstrap而做的笔记(不过多赘述,简洁高效)第二章 第三节 bootstrap的布局容器
咱们大部分围绕着两个问题来叙述 是什么? 怎么做? 一.目录(总体,这门课要学的目录)(现在是第二章,bootstrap前端开发框架) 1.响应式开发 2.bootstrap前端开发框架 3.boot ...
- 第二章:1、函数求导
机器学习中问题的求解往往转化为优化问题. 1.函数极限 函数的导数是通过极限来定义和表达的.极限理解: 向量的2范数:表示点到原点的欧氏距离,就是向量的长度.点的邻域表示以点a为心,以为半径的一个d维 ...
- 第二章 第三节 创建第一个程序
第三节 创建第一个程序 返回目录 启动Eclipse的时候,您会看到工作区(workspace),它是工程的容器.在初始的工作区中没有任何工程,如图2-2. 图2-2 Eclipse主窗口 没有工程 ...
- 初级会计实务--第二章第三节、交易性金融资产
第三节.交易性金融资产 1.金融资产的分类 初级实务考的时第三类计入当期损益的金融资产 2.会计科目的设置 科目:交易性金融资产(资产类,借表增,贷表减) 用于核算企业分类以公允价值计量且其变动 ...
- $.post把表单对象传递过去_第二章 第三节 Request请求对象详解
Request对象和Response对象是必须熟悉的. Request对象负责请求的构造和处理 Response对象负责返回资源的解析和处理 一.Request对象参数 Request(url[, c ...
- 寒江独钓 第二章(3)Hook分发函数和回调函数
前面两节讲的是通过在设备栈上绑定一个新的设备实现键盘过滤.这是非常正统的方法,是合法软件行为.一般黑客软件不会采用这么正道的方法. 黑客可以通过修改一个已经存在的驱动对象(比如前面提到的Kbd ...
最新文章
- Codeforces 1215
- 蔡超:入门 Go 语言必须跨越的五个思维误区
- 几张旧照片,用傻瓜拍的,翻出来凑数 (续)
- java 连接ldap_ldap java 连接demo
- XEIM|XEIM企业即时通讯
- 学习vue3系列computed
- Studio One 5 Professional for Mac(多功能数字音频工作站)
- 安全卫士分析--号码归属地
- 【语音识别】基于matlab GUI DTW MFCC 0-9数字语音识别(带面板)【含Matlab源码 385期】
- linux 命令(7) df
- matlab误码率理论,PSK理论误码率与实际误码率MATLAB仿真程序
- python中摄氏度的符号咋打_linux下怎么方便的输入度数符号 °
- 有关上传到APPStore上iphone5,5c,4s下载应用,出现该APP与设备不兼容问题
- 我喜欢的photo,images....
- [免费专栏] Android安全之Android Fragment注入
- App通过QQ/微信登录绑定用户信息的一般流程
- 第一届世界区块链大会·三点钟峰会(W.B.C)在澳门开幕 万人峰会大咖云集明星嘉年华
- centos、linux离线搭建yum源,iso文件制作yum源,nginx搭建yum源
- shopex之phpunit环境搭建
- 基于matlab fir数字滤波器设计 程序流程图,实验五:FIR数字滤波器设计与软件实现...