盘点机器学习中那些神奇的损失函数

盘点机器学习中那些神奇的损失函数

这周深圳真的变冷,以前读书的时候,只要天气变到我会冷到哆嗦就知道,快过年了,算算,还有21天,2017就过去了,我在2016年31号那天00点许下的愿望,全他妈一个都没实现。

这周不更代码了,再更头发都掉光了,我最近在学习R语言,但是估R语言我应该没能跟sas一样玩那么好。今天来更新在机器学习中的一些专业术语,例如一些损失函数,正则化,核函数是什么东西。

损失函数:损失函数是用来衡量模型的性能的,通过预测值和真实值之间的一些计算,得出的一个值,这个值在模型拟合的时候是为了告诉模型是否还有可以继续优化的空间(模型的目的就是希望损失函数是拟合过的模型中最小的),损失函数一般有以下几种,为什么损失函数还有几种呢,因为不同的算法使用的损失函数有所区分。

1

0-1损失函数:

这个损失函数的含义,是最简单的,预测出来的分类结果跟真实对比,一样的返回1,不一样返回0,这种方式比较粗暴,因为有时候是0.999的时候,其实已经很接近了,但是按照这个损失函数的标准,还是返回,所以这个损失函数很严格,严格到你觉得特别没有人性。

2

感知损失函数

那么这个感知损失函数,其实是跟混淆矩阵那种算法是一样,设定一个阀值,假设真实值与预测值之间的差距超过这个阀值的话,就是1,小于的话就是,这种就多多少少弥补了0-1损失函数中的严格,假设以0.5为界限,那么比0.5大的我们定义为坏客户,小于0.5定义为坏客户,假设用这种方式,那么大部分好客户聚集在0.6,以及大部分好客户聚集在0.9这个位置,感知损失函数,判断的时候可能是差不多的效果。但是很明显两个模型的效果是,后者要好。当然你在实际的做模型的时候也不会单靠一个损失函数衡量模型啦,只是你在拟合的时候可能使用的损失函数来拟合出机器觉得是最优的。

3

Hinge损失函数

Hinge损失函数是源自于支持向量机中的,因为支持向量机中,最终的支持向量机的分类模型是能最大化分类间隔,又减少错误分类的样本数目,意味着一个好的支持向量机的模型,需要满足以上两个条件:1、最大化分类间隔,2、错误分类的样本数目。错误分类的样本数目,就回到了损失函数的范畴。

我们看上面这张图:把这四个点,根据下标分别叫1、2、3、4点,可以看到hinge衡量的是该错误分类的点到该分类的分类间隔线之间的距离,像1点,他虽然没有被正确分类,但是是在分类间隔中,所以他到正确被分类的线的距离是小于1的(分类间隔取的距离是1),那么像2,3,4点他们到正确的分类间隔的距离都是超过1,正确分类的则置为0,那么回到上面的公式,支持向量机中,分类使用+1,-1表示,当样本被正确分类,那么就是0,即hinge的值为0,那么如果在分隔中的时候,hinge的值为1-真实值与预测值的积。举个例子,当真实值yi是1,被分到正确分类的分类间隔之外,那么yi=1,>1,那么这时候即样本被正确分类hinge值则为0。那么如果是被错误分类,则hinge值就是大于1了。这就是hinge损失函数啦。

4

交叉熵损失函数

这个函数是在逻辑回归中最大化似然函数推出来,在公式层面的理解,可以看到就是计算样本的预测概率为目标值的概率的对数。这个你不想听公式推导也看下去啦,因为这对于优化问题的理解可以更深刻。

以上的公式中的h(x)代表的样本是目标值的概率,那么模型最极端的预测是什么,y=1的样本的h(x)都为1,y=0的样本的h(x)都是0,那么你这个模型的正确率就是100%,但在实际建模中这个可能性是极低的,所以这时候使用最大似然估计将全部的样本的预测值连乘,那么这时候意味着对于y=1的样本,h(x)的值越大越好,y=0的时候h(x)的值越小越好即1-h(x)的值越大越好,这时候似然估计这种相乘的方式貌似很难衡量那个模型是最好的,所以加上log函数的转化之后再加上一个负号,全部的项变成相加,这时候我们只要求得-ln(l())最小就可以了。这就是交叉熵损失函数。那么这里你可能会问,为什么用的是log,不是用什么exp,幂函数这些,因为log是单调递增的,在将式子从相乘转成相加的同时,又保证了数值越大,ln(x)的值越大。

5

平方误差

平方差,这个大家很熟啦,线性回归很爱用这个,这个衡量线性关系的时候比较好用,在分类算法中比较少用。

6

绝对误差

那么这个也是回归中比较常用的,也不做多的解释。

7

指数误差

这是adaboosting中的一个损失函数,假设目标变量还是用-1,1表示,那么就以为在上面的公式中,当yi=1的时候,就希望越大越好,即越小越好,同样可推当yi=0的时候。思想跟逻辑回归类似,但是因为这里使用-1,1表示目标变量,所以损失函数有些区别。

文章参考以下链接:http://blog.csdn.net/heyongluoyao8/article/details/52462400(侵删)

以下就是各种损失函数的图像:

那么今天的更新就到这里啦~~再见~

屁屁sas数据分析

铭仔,一个做评分卡的钢铁直男。

屁屁,一个做评分卡的

95年少女。

找不到打赏可以扫下方二维码哦~~,谢谢您的打赏~~

本文来自企鹅号 - 屁屁的sas数据分析媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏量化投资与机器学习

【Python机器学习】系列之线性回归篇【深度详细】

谢谢大家的支持!现在该公众号开通了评论留言功能,你们对每篇推文的留言与问题,可以通过【写评论】给圈主留言,圈主会及时回复您的留言。 本次推文介绍用线性模型处理回...

5699
来自专栏Spark学习技巧

读懂Word2Vec之Skip-Gram

本教程将介绍Word2Vec的skip gram神经网络体系结构。我这篇文章的目的是跳过对Word2Vec的一般的介绍和抽象见解,并深入了解其细节。具体来说,我...

2967
来自专栏北京马哥教育

用Python实现极大似然估计

极大似然估计(Maximum likelihood estimation, 简称MLE)是很常用的参数估计方法,极大似然原理的直观想法是,一个随机试验如有若干个...

1103
来自专栏人工智能LeadAI

BAT机器学习面试1000题系列(第150~279题)

长文~可先收藏再看哟~ 150、在感知机中(Perceptron)的任务顺序是什么?深度学习 DL基础 易 1 随机初始化感知机的权重 2 去到数据集的下一批(...

1.5K9
来自专栏大数据挖掘DT机器学习

用NN(神经网络)实现数据的降维理论及练习

数据降维的重要性就不必说了,而用NN(神经网络)来对数据进行大量的降维是从2006开始的,这起源于2006年science上的一篇文章:reducing the...

3259
来自专栏深度学习自然语言处理

【顶会论文解析】罪行预测

https://bamtercelboo.github.io/2018/07/19/Learning-to-Predict-Charges-for-Crimin...

551
来自专栏数据科学与人工智能

【算法】聚类算法

小编邀请您,先思考: 1 有哪些算法可以聚类?各自有什么特点? 2 聚类算法的效果如何评价? 1 定义 聚类是数据挖掘中的概念,就是按照某个特定标准(如距离)把...

35013
来自专栏SIGAI学习与实践平台

理解过拟合

小明是个机器学习爱好者,他很喜欢吃蛋糕。有一天他突然想到:能不能用蛋糕的直径来预测蛋糕的价格。于是他定了各种不同尺寸的蛋糕,然后把尺寸和价格的数据记录起来,接着...

1346
来自专栏大数据挖掘DT机器学习

规则化和模型选择(Regularization and model selection)

1 问题 模型选择问题:对于一个学习问题,可以有多种模型选择。比如要拟合一组样本点,可以使用线性回归 ? ,也可以用多项式回归 ? 。那么使用哪种模型...

3347
来自专栏大数据挖掘DT机器学习

机器学习算法的R语言实现:朴素贝叶斯分类器

1、引子 朴素贝叶斯方法是一种使用先验概率去计算后验概率的方法,其中 朴素 的意思实际上指的是一个假设条件,后面在举例中说明。本人以为,纯粹的数学推导固然有其...

2759

扫码关注云+社区