X X X常称为: input variable(输入变量), predictor(预测变量),independent variable(自变量), feature(属性), variable (变量)
Y Y Y常称为:response variable(响应变量),dependent variable(因变量)
一般情况下,假设观察到一个定量的响应变量Y和p个不同的预测变量,分别记为X 1 _1 1、X 2 _2 2、X p _p p。假设这个Y和X =(X1,X2,…,Xp)有一定的关系,可以表达成如下的形式:
Y = f ( x ) + ϵ   \ Y = f(x) + \epsilon \, Y=f(x)+ϵ
这里的 f f f是X 1 _1 1,X 2 _2 2,…,X p _p p的函数,它是确定的但是也是未知的, ϵ \epsilon ϵ是随机误差项(error term),与X独立,且均值为0。 ϵ \epsilon ϵ也叫不可约误差(inreducible error)。
实际上,统计学习就是关于估计f的一系列方法。
通过下式去预测 Y Y Y:
Y ^ = f ^ ( x )   \ \hat{Y} = \hat{f}(x)\, Y^=f^(x)
f ^ \hat{f} f^表示 f f f的预测, Y ^ \hat{Y} Y^表示 Y Y Y的预测,这里的 f ^ \hat{f} f^是黑箱(black box),意味着如果黑箱能提供准确的预测 Y Y Y,并不十分追求 f ^ \hat{f} f^的确切形式。
Y ^ \hat{Y} Y^的精确性依赖于两部分:一个部分是可约误差(reducible error),可约误差是可以通过更合适的统计学习方法去估计 f f f来降低的;一个部分是不可约误差,也就是 ϵ \epsilon ϵ.
有时候我们的目的不只是为了预测,而是想明白 X X X和 Y Y Y的关系,这时候 f f f不能被当作黑箱看待,我们需要知道 f f f的具体形式,我们可能会关心如下问题:
1.哪些预测变量与响应变量相关?
2. 响应变量与每个预测因子之间的关系是什么?
3. Y与每个预测变量的关系是否能用一个线性方程概括,还是它们的关系需要更复杂的形势?
这里的推断就是我们常说的解释性。有些估计 f f f的方法可能预测性好,但却解释性差。
具体思路如下:
(1)假设 f f f的形式,如我们常假设的线性模型。
(2)用训练集拟合(fit)或训练(train)模型。如在线性模型中得到待估参数的过程。
注:参数法下需要注意过拟合(overfitting)的问题
非参数方法不限定 f f f的具体形式,可以在更大的范围内选择更适宜 f f f形状的估计,但往往需要大量的观测点来进行估计。
如何区分?简单点可直接看有没有响应变量:指导学习有预测变量和相应的响应变量,目标是发现预测变量和响应变量之间的关系;无指导学习是只有预测变量而没有相应的响应变量的,目的是理解变量之间的关系,如聚类分析。
注:还有一种叫半指导学习(semi supervised learning),例如有n个观测点,其中m个观测点同时观测到预测变量和响应变量,但对于其余 n-m 个观测点,只能观测到预测变量
测量 Y Y Y和 Y ^ \hat{Y} Y^之间的接近程度的评价标准:均方误差(mean square error, MSE), 表达方式如下:
M S E = 1 n ∑ i = 1 n ( y i − f ^ ( x i ) )   \ MSE = \frac{1}{n}\sum_{i=1}^{n}(y_{i}-\hat{f}(x_{i}))\, MSE=n1i=1∑n(yi−f^(xi))
我们选择的模型应该尽可能使测试均方误差最小,也就是测试点的均方误差,而非训练均方误差,估计测试均方误差比较困难,因为很可能没有可用的测试集,估计测试均方误差的方法常用的有交叉验证(Cross-validation, CV),一种使用训练集估计测试均方误差的方法。
期望测试均方误差(Expected test MSE)分解为: f ^ ( x 0 ) \hat{f}(x_{0}) f^(x0)的方差、 f ^ ( x 0 ) \hat{f}(x_{0}) f^(x0)偏差的平方和误差项 ϵ \epsilon ϵ的方差,公式如下:
E ( y 0 − f ^ ( x 0 ) ) 2 = V a r ( f ^ ( x 0 ) ) + B i a s ( f ^ ( x 0 ) ) 2 + V a r ( ϵ )   \ E(y_{0}-\hat{f}(x_{0}))^{2} = Var(\hat{f}(x_{0}))+Bias(\hat{f}(x_{0}))^{2}+Var(\epsilon)\, E(y0−f^(x0))2=Var(f^(x0))+Bias(f^(x0))2+Var(ϵ)
上述式子中可以看到, V a r ( ϵ ) Var(\epsilon) Var(ϵ)是不可约误差,为了达到我们的目标,也就是最小化测试均方误差,我们需要选择一种统计方法同时使方差( V a r ( f ^ ( x 0 ) ) Var(\hat{f}(x_{0})) Var(f^(x0)))加偏差( B i a s ( f ^ ( x 0 ) ) 2 Bias(\hat{f}(x_{0}))^{2} Bias(f^(x0))2)的和达到最小。这里的方差代表用不同的训练集估计 f f f时,估计函数的改变量。一般而言,使用光滑度更高的方法,所得模型的方差会增加,偏差会减小。
衡量 f ^ \hat{f} f^精度的评价标准:训练错误率(error rate), 表达方式如下:
1 n ∑ i = 1 n I ( y i ̸ = y i ^ )   \ \frac{1}{n}\sum_{i=1}^{n}I(y_{i}\not= \hat{y_{i}})\, n1i=1∑nI(yi̸=yi^)
其中 I ( y i ̸ = y i ^ ) I(y_{i}\not= \hat{y_{i}}) I(yi̸=yi^)表示一个示性变量,当 y i ̸ = y i ^ y_{i}\not= \hat{y_{i}} yi̸=yi^时,值为1,当 y i = y i ^ y_{i}= \hat{y_{i}} yi=yi^时,值为0。类似回归模型,对于分类模型,我们选择的模型应该尽可能使测试错误率最小。
贝叶斯分类器思想:将一个待判的x0分配到下面这个式子最大的那个 j j j类上:
P r ( Y = j ∣ X = x 0 )   \ Pr(Y = j|X=x_{0})\, Pr(Y=j∣X=x0)
贝叶斯分类器可以使分类模型有最小的测试误差,但对于实际的观测数据来说,很难知道给定 X X X后 Y Y Y的条件分布,所以有的时候计算贝叶斯分类器是不可能的。
K最近邻(KNN)分类器尝试估计给定 X X X后 Y Y Y的条件分布。原理是,给定一个正整数K和测试观测值 x 0 x_{0} x0,KNN用 x 0 x_{0} x0最近的K个点每个类别的所占K个点的概念来估计给定 X X X后 Y Y Y的条件分布。KNN的效果有时候可以近似于贝叶斯分类器。此方法的关键在于选取合适的K,K越小,容易过拟合,造成偏差低但是方差高,K越大,意味着模型的光滑度减弱,得到一个近似线性的决策边界,这会使得分类器的方差低但偏差高。