开发者学堂课程【机器学习算法 :机器学习方法三要素-2】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/535/detail/7169
机器学习方法三要素-2
内容介绍
一、损失函数
二、损失函数的类型
一、损失函数
损失函数(Loss Function):用来衡量预测结果和真实结果之间的差距,其值越小,代表预测
结果和真实结果越一致。
例如:
已知父亲身高预测孩子身高。实际上预测值和真实值之间会有差距。真实值和预测值之间的差加起来(取绝对值),差越小,预测结果更接近真实值。
通常是一个非负实值西数。通过各种方式缩小损失函数的过程被称作优化。损失函数记做 L(Y,f(x))。
二、损失函数的类型
1、0-1损失西数(0-1 LF):
预测值实际值精确相等则 “没有损失〞为0,否则意味着 “完全损失”,为1。
预测值和实际值精确相等有些过于严格,可以采用两者的差小于某个國值的方式。
如果精确相等为0;不精确相等为1;累加起来值越大效果越差,值越小效果越好。
如果损失函数为0,那么说明每个数据都十分精准。
上面的函数太严格,可以将其放宽一点。比如说设定一个阈值,真实值在预测值2厘米以内的,可以认为没有损失。否则预测和实际值超过2厘米,说明预测的完全错误。
例如:
对于相同的预测结果,两个损失函数严格程度不同。设 T=0.5.则有:
Y 是真实值,f 是预测值。如果严格遵守函数,结论是1、1、1、0.说明结论很差。但是直接看左侧的数据可能不会发现。
这时我们取0.5.小于这个值的就可以被称为标准。
可以根据实际业务来设置。
2、绝对值损失函数:
预测结果与真实结果差的绝对值。简单易懂,但是计算不方便。
绝对值计算不方便会对绝对值求平方。
3、平方损失函数:
预测结果与真实结果差的平方。
平方损失函数优势有:
(1)每个样本的误差都是正的,累加不会被抵消
(2)平方对于大误差的惩罚大于小误差(对损失函数累加起来,值越大,模型越差。取绝对值会真实反映。但是取平方则会有有较大的误差。)
(3)数学计算简单、友好,导数为一次函数。绝对值求导不可以。
真实值在第一列,预测值在第二列,如果求绝对值损失函数,在第三列。如果求平方损失函数,在第四列。根据第一、二列的对比发现,第一列的乘法力度较大。
4、对数损失函数( Logarithmic LF)或对数似然损失函数(log-likehood loss function):对数函数具有单调性,在求最优化问题时,结果与原始目标一致。可将乘法转化为加法,简化计算:
5、指数损失西数( Exponential LF):
单调性、非负性的优良性质,使得越接近正确结果误差越小
L(Y, f(x))=e-Y+f(x)
6、折叶损失西数(Hinge LF):
也称校链损失,对于判定边界附近的点的惩罚力度较高,常见于 SVM(高效的学习方法)
不同的损失西数有不同的特点,适用于不同的场景:
(1)0-1:理想状况模型;要么精确相等,要么完全损失。
(2)Log:逻辑回归、交叉熵
(3)Squared:线性回归
(4)Exponential : AdaBoosting
(5)Hinge : SVM. soft margin;软间隔