机器学习笔记七:损失函数与风险函数
来源:互联网 发布:西交大网络导航 编辑:程序博客网 时间:2024/05/29 05:03
一.损失函数
回顾之前讲过的线性回归模型,我们为了要学习参数使得得到的直线更好的拟合数据,我们使用了一个函数
这个函数就是比较模型得到的结果和“真实值”之间的“差距”,来判断这个模型是不是好。因为模型越好,差距越小,就越能够反应真实值。这个是能够很容易理解的。
但是上面的解释毕竟太过于“通俗”,而且事实上面还存在很多的损失函数的类型供我们使用,你甚至能够定义自己的损失函数类型。所以下面的篇幅就来讲讲一些常用的损失函数。
Ⅰ.0-1损失函数(0-1 loss function)
这个函数比较好理解。要是我们模型得到值和“真实值(标签值)”不一样,损失为1.要是一样的话,没有损失,自然为0.
这个函数的优点就是简单,非常的简单。但是缺点也非常的明显,就是无法度量损失的“严重程度”,无论有多不一样,都得到1的损失,很显然不利于后面的学习。
用途:
我暂时没有发现哪个机器学习算法用了0-1损失函数,有的话给个提示。
Ⅱ.平方损失函数(quadratic loss function)
我们也常常把这个方法称为最小二乘法(Ordinary least Squares)
这个函数就是我们之前一直使用的函数啦,非常非常的常见,还记得我们为什么会选择平方损失函数吗?不记得了参见第三节对于线性回归的回顾。机器学习笔记四:线性回归回顾与logistic回归
我们给直线模型加上了一个服从高斯分布的“噪声”项,使得整个模型都服从高斯分布,然后用极大似然估计推导出来最小二乘式。不记得的话回去回顾一下。
最小二乘的基本原则是:最优拟合直线应该是使各点到回归直线的距离和最小的直线,即平方和最小。这是一开始讲线性回归的时候就说过的。这是很直观的理解。
总结一下:假如我们有m个输入(实例),
那么平方损失的一般形式(某个样本)为:
但是样本数量到m个的话,这么多样本的平方损失为:
Ⅲ.对数损失函数(logarithmic loss function)
上面的形式就是对数损失函数的形式啦。
这里只说两点,因为以后还会经常见到。
第一点就是对数损失函数非常常用。比如后面我们会看到的logistic回归,没错,又是这货。还有softmax回归等等,还要再来讲这个损失函数。
第二点就是对于这个公式的理解。这个公式的意思是在样本x在分类为y的情况下,我们需要让概率p(y|x)达到最大值。要是这个说法很难懂的话,就换个方式,就是利用目前已知的样本分布,找到最有可能导致这种分布的参数值。更通俗的说,就是什么样的参数才能够使我们观测到目前这组数据的概率最大。
要是现在还是不理解,后面会再讲,知道这种形式就行了。
前面加了一个负号是因为log函数是单调递增的,在前面加上负号之后,最大化p(y|x)就等价于最小化L。
Ⅳ.指数损失函数(exp-loss)
指数损失函数的形式的adaboost部分会用的很多。在后面的Adaboost部分会详细讲使用方式。
二.风险函数
上面说到了损失函数,通俗来说,损失函数就是度量模型得到某个样本的值和本该有的“真实值”之间的“接近程度”,值越“接近”,说明模型的效果更能够体现样本的“规律”。这里应该很好理解。而风险函数,可以认为是平均意义下的损失。有两个概念,一个是经验风险,还有一个是机构风险。
Ⅰ.经验风险(Empirical Risk)
给定一个数据集,模型f(x)关于训练集的平均损失被称为经验风险,或者叫做经验损失。
其中N是样本数量。
这个公式的用意很明显,就是模型关于训练集的平均损失(每个样本的损失加起来,然后平均一下)。在实际中用的时候,我们也就很自然的这么用了。
同样,这里还有一个理论,就是经验风险最小的模型是最优的模型,即经验风险最小化(ERM)。
在之前,这个理论我们也是直接拿来用了,因为这个理论很符合人的直观理解。因为在训练集上面的经验风险最小,也就是平均损失越小,意味着模型得到结果和“真实值”尽可能接近,表明模型越好。
经验风险最小化可以总结为:
Ⅱ.结构风险(Structural Risk)
当样本容量不大的时候,经验风险最小化模型容易产生“过拟合”的问题。为了“减缓”过拟合问题,就提出了结构风险最小(SRM)的理论。
结构风险的定义也很简单,就是在经验风险上加上一个正则化项(regularizer)或者叫做罚项(penalty term),即
结构风险最小化就是认为,结构风险最小的模型是最优的模型。即
- 机器学习笔记七:损失函数与风险函数
- 损失函数与风险函数
- 机器学习之 损失函数和风险函数
- 机器学习-损失函数
- 机器学习损失函数
- 机器学习损失函数
- 机器学习-损失函数
- 机器学习-损失函数
- 机器学习-损失函数
- 机器学习之--损失函数
- 机器学习中的损失函数
- 机器学习中的损失函数
- 机器学习之--损失函数
- 机器学习中的损失函数
- 机器学习中的损失函数
- 机器学习的损失函数
- 机器学习中的损失函数
- 机器学习中的损失函数
- 《连载 | 物联网框架ServerSuperIO教程》- 8.单例通讯模式开发及注意事项
- 在阿里云Ubuntu上安装mysql
- 矩形的个数
- mysql 主键自增
- 见识了才会慢慢的思考更多
- 机器学习笔记七:损失函数与风险函数
- win7与Ubuntu共享文件夹的详细方法
- 扩展spring的BeanUtils,增加拷贝属性排除null值的功能(注:String为null不考虑)
- 又到路口
- 《连载 | 物联网框架ServerSuperIO教程》- 9. 协议过滤器,解决一包多发、粘包、冗余数据
- springmvc中shiro拦截权限动态写入功能
- 《C++ Primer Plus(第六版)》(9)(第七章 函数 笔记和答案)
- Tkinter控件示例
- 《连载 | 物联网框架ServerSuperIO教程》- 10.持续传输大块数据流的两种方式(如:文件)