符号 | 描述 |
---|---|
X | 输入变量,是维度为 N×1 的向量 |
Xj | 输入变量向量 X 中的第 j 个数据, j=1,...,N |
X | 输入变量,是维度为 N×p 的矩阵 |
xi | 输入变量矩阵 X 中的第 i 行数据, i=1,...,N |
Y | 回归问题的输出变量 |
Ŷ | 回归问题的预测输出变量 |
Ĝ | 分类问题的预测输出变量 |
向量 | 所有向量默认为column vector |
(xi,yi) 和 (xi,gi) | 训练数据对 |
在正式进入统计学模型之前,先来看两个常见的回归模型,为后面理解抽象的统计学模型做一个铺垫。
令训练数据为 (X,Y) , 其中, X∈RN×p , Y∈RN×1 , (xi,yi) 为其中一条训练数据对, xi∈Rp×1 , yi∈R1×1 。
令真实模型的参数为 β∈Rp×1 ,预测模型的参数为 β̂ ∈Rp×1 。
假设真实模型是线性的,即满足 yi=xTiβ ,那么就可以假设预测模型为 yi^=xTiβ̂ ,然后根据预测结果和真实结果的差距来调整求解 β̂ 即可。
在这个模型中,预测结果和真实结果之间的差距由“最小平方误差”来衡量,统计学上又称为“最小平方残差(Residual Sum of Squares)”,即
由于这个误差公式是一个“二次函数(quadratic function)”,所以一定存在一个最小值。
求解误差函数最小值点的简单方法就是令导数为0,然后求解。
现将RSS写成矩阵形式: RSS(β̂ )=(y−Xβ̂ )T(y−Xβ̂ )
于是求得:
二元分类模型其实就是对回归模型的结果做一个决策,令类A的 yi=0 ,令类B的 yi=1 ,然后令 yi^<0.5 为类A, yi^>0.5 为类B。则两个类的决策边界就是 xTiβ̂ ==0.5 。
K近邻模型的想法很简单,就是借鉴周围K个最近点的 yi 来判断自己的 yi 。最简单的借鉴方法就是取平均,或者说是“服从多数”。数学表示如下:
和“最小平方模型”不同的,”K近邻模型”的边界是不规则的,其不规则的程度与K有关:K越大,边界越平滑,反之。不难想到,K特别大容易造成欠拟合,K特别小如K=1,容易造成过拟合。
非常容易地,会认为K就是这个模型的参数。但是K是超参数而不是参数。
所谓参数需要满足以下两个条件:
所以K近邻模型的参数是每一个“社区(neighbor)”的输出变量平均值 mean(yj) 。
假设训练集中每一个“社区”互不重叠,则共有 Nk 个社区,每个社区一个平均值/参数,所以一共有 Nk 个参数。
“最小平方模型”是一个线性分类器,因为它的决策边界是一条线或者一个超平面。而“K近邻模型”是一个非线性分类器,其边界是歪来歪去扭来扭去的。
那么什么样的数据适合用线性分类器,什么样的数据适合用非线性分类器呢?考虑两种情境;
第一种:两个类的数据分别来自两个差异很大的多元高斯分布;
第二种:两个类的数据集都来自几个差异很小的多元高斯分布的混合;
以上两种情境的不用之处在于,第一种,两个类的数据分布非常独立,虽然依旧不可避免的有部分数据出现overlap,但是绝大部分数据是分离的很开的,完全可以用一条直线分开来;
【图片1】
而第二种数据,两个类的数据分布的非常紧密,不仅有overlap,而且不overlap的部分也无法用一条直线分开来。
【图片2】
所以很明显的,第一种情况下,使用线性分类器可以达到近乎完美的分类效果,而第二种情况必须使用非线性分类器才可以近乎完美分类。
这里“普适”的意思是,最基本的统计学模型,不管是“最小平方线性回归模型”,还是“K近邻模型”都是从这个统计学基本模型中经过已经的assumption演化而来的。所以掌握了这个统计学基本模型后,我们自己也可以经过一些合理的假设提出自己的模型。
令 X∈RN×p , Y∈RN×1 ; X 和 Y 的联合概率为 Pr(X,Y) ; 预测模型为 Ŷ =f(X) ; 评估标准为平方误差函数 L(Y,f(X))=(Y−f(X))2
定义“期望预测误差(Expected Predicted Error)”为误差的数学期望,即所有误差 (y−f(x))2 乘以这个误差出现的概率 Pr(x,y) :
线性模型在fit这个统计学模型时,做了以下两个假设:
K近邻模型在fit这个统计学模型时,做了以下两个假设:
Linear Regression因为假设真实模型是线性的,所以模型自身的方差不大(可以通过看决策边界,如果边界平稳波动不大,那就是方差小),但是有可能导致较高的偏移 (f(x)−f̂ (x))2 ,也就是说LR是一个容易“欠拟合”的模型;
K近邻因为其决策边界取决于target points的领域,所以决策边界容易产生较大波动,所以其方差大,但是因为其预测值是根据接近target point的领域“服从多数”投票产生的,所以偏移量相对来说不会特别大,也就是说K-NN是一个容易“过拟合”的模型,K越小,过拟合的可能性越大。
在Coursera的机器学习课程中,Andrew有讲过underfitting欠拟合和overfitting过拟合,对应的是high bias和high variance。下面就从统计学的角度来看bias和variance究竟是如何体现在我们的均方误差Mean Squared Error(MSE)中的。
假设真实模型为 f(x) , ϵ 是无法避免的观测误差:
下面开始展开MSE,并逐步代入 y=f(x)+ϵ ,注意这里只有 ϵ 是独立于 x,y 的:
然后假设 E(ϵ)=0 ,如果 E(ϵ)≠0 ,而是 E(ϵ)=c ,我们可以通过把 c 纳入 f(x) 中的常数项的方式将 E(ϵ)=0 ,所以这里只要假设 E(ϵ)=0 即可,于是最终上式简化成了:
令 error=f(x)−f̂ (x) ,即预测模型和真实模型之间的误差。则:
第一项表示误差的稳定性, Var[error] 越大,表明这个误差越不稳定,反映出这个预测模型越不稳定。即此时有可能误差很小,但是将来有可能误差很大。 Var[error] 也反映出这个模型的泛化能力, Var[error] 越大,模型可能在当前数据中,误差很小,但是在其他数据中可能误差很大,即容易造成“过拟合”。
第二项表示误差的平均大小,也成为偏移量 bias , E[error] 越大,表明预测模型和真实模型之间的差距越大,容易造成“欠拟合”。 E[error] 也反映出这个模型的准确性。
第三项表示观测误差,是不可避免的一项。
模型越复杂(模型的capacity越大), Var[error] 越大, E[error] 越小。