1. 损失函数
损失函数是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。
经验风险:一个损失函数的函数
结构风险:可简单理解为经验风险(一种损失函数的函数)+λ正则化项。
模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子:
其中,前面的均值函数表示的是经验风险函数,L代表的是损失函数,后面的Φ是正则化项或者叫惩罚项,它可以是L1,也可以是L2,或者其他的正则函数。整个式子表示的意思是找到使目标函数最小时的θ值。常见的损失函数有:
n log对数损失函数(逻辑回归)
n 平方损失函数(最小二乘法)
n 指数损失函数(Adaboost)
n Hinge损失函数(SVM)
n 0-1损失
n 绝对值损失
正则化项或者叫惩罚项:
含义就是把整个模型中的所有权重w的绝对值加起来除以样本数量,其中是一个惩罚的权重,可以称为正则化系数或者惩罚系数,表示对惩罚的重视程度。如果很重视结构风险,即不希望结构风险太大,我们就加大,迫使整个损失函数向着权值w减小的方向移动,换句话说,w的值越多、越大,整个因子的值就越大,也就是越不简洁,刚才这种正则化因子叫做L1正则化项,常用的还有一种叫带有L2正则化项的损失函数。
将w做了平方后取加和。
2. 泛化能力
欠拟合和过拟合概念
欠拟合就是拟合效果非常差,比如一个一元二次方程,却用一元一次方程去拟合,这样的拟合效果肯定会很差。过拟合则是模型过于复杂,将训练数据拟合的十分到位,这样就容易拟合上许多噪音数据,这样对于训练数据他的误差会很小,但是对于预测数据即一些从来没有碰到过的数据,他的预测效果会特别差。对于未知数据的预测好坏通常叫做泛化能力。
如何判定模型是过拟合还是欠拟合
通常的办法是将训练数据分成2部分,一部分用来训练,让另一部分作为测试数据,检查他的泛化能力,如果泛化能力很差就是欠拟合,如果训练数据预测的很好,但是测试数据的精度却很差就是过拟合,我们可以通过学习曲线来将他可视化。
学习曲线
学习曲线其实就是把训练数据集取前i个样本(i