我从网上找了很多的资料,但是也没有很明确的定义,大体上的意思就是:
欠拟合:模型拟合不够,在训练集(training set)上表现效果差,没有充分利用数据,预测的准确率比我们设计的模型远远低很多,拟合结果严重的不符合预期。
解决办法:增加模型的复杂度,不要用简单的线性回归,适当的采用二次回归,将训练集合扩大,采集更多的数据。
过拟合:模型过度拟合,在训练集(training set)上表现好,但是在测试集上效果差,也就是说在已知的数据集合中非常好,在添加一些新的数据进来效果就会差很多,造成这样的原因是考虑影响因素太多,超出自变量的维度过于多了。
解决办法:减少模型的复杂度,适当的将训练集合进行筛选。
首先介绍一下参数学习方法和非参数学习方法
参数学习方法::在训练完成所有数据后得到一系列训练参数,然后根据训练参数来预测新样本的值,这时不再依赖之前的训练数据了,参数值是确定的。
非参数学习方法:在预测新样本值时候每次都会重新训练数据得到新的参数值,也就是说每次预测新样本都会依赖训练数据集合,所以每次得到的参数值是不确定的,举例:局部加权回归。
1.局部加权回归(LWR)
因为最开始预测的时候,我们是根据线性回归拟合的,存在欠拟合,为了避免这个问题,我们引入了局部加权回归(LWR),对所需要预测的
x
附近进行预测,因此每次都要做一次拟合,这样虽然增加了一定的计算量,但是也避免了欠拟合现象。
首先需要引入一个权重函数
如果
|x(i)−x|→0
,那么取值就是
1
如果
所以我们定义的损失函数
J(θ)=12∑mi=1w(i)(hθ(x(i))−y(i))2
所以,对于预测
x
来说,离预测样本数据较近的点权值较大,离预测
缺点:当数据规模比较大的时候计算量很大,学习效率很低。并且局部加权回归也不是一定就是避免欠拟合
2.选用误差函数为平方和的概率解释
假设线性函数
y(i)=θx(i)+E(i)
,前半部分就是我们根据最小二乘法计算出的向量表达式,后半部分是误差(噪音)。一般来讲,误差满足平均值为
0
的高斯(正态)分布,即
E(i)=y(i)−θx(i)
那么
x
和
{y(i)|x(i);θ}服从N(θx(i),σ2)
这样就估计了一条样本的结果概率,然而我们期待的是模型能够在全部样本上预测最准,也就是概率积最大。这个概率积成为极大似然估计。我们希望在最大似然估计得到最大值时确定
θ
。称
L(θ)
为极大似然估计,因为每个
y
都是独立同分布的,所以对于
L(θ)=∏mi=112πσ√∗exp(−(y(i)−θx(i))22σ2)
首先我们对其取对数,即:
ln(θ)=∑mi=1log12πσ√∗exp(−(y(i)−θx(i))22σ2)
将上述式子化简为:
ln(θ)=m∗log12πσ√−1σ2∗(12∑mi=1(y(i)−θx(i))2)
要想
ln(θ)
最大就要使
J(θ)=(12∑mi=1(y(i)−θx(i))2)
最小,然后就根据最小二乘法求出
θ
值,所以这就解释了为何误差函数要使用平方和。