3.5 运用派生输入方向的方法

这是一篇有关《统计学习基础》,原书名The Elements of Statistical Learning的学习笔记,该书学习难度较高,有很棒的学者将其翻译成中文并放在自己的个人网站上,翻译质量非常高,本博客中有关翻译的内容都是出自该学者的网页,个人解读部分才是自己经过查阅资料和其他学者的学习笔记,结合个人理解总结成的原创内容。
有关ESL更多的学习笔记的markdown文件,可在作者GitHub上查看下载。

原文 The Elements of Statistical Learning
翻译 szcf-weiya
时间 2018-08-21
解读 Hytn Chen
更新 2020-02-20

翻译原文

!!! note “weiya 注:翻译”
Derived Input Directions 翻译为“派生输入方向”.

在很多情形下我们有很多输入,这些输入的相关性经常是非常强的.这一小节中的方法产生较少的原输入变量 XjX_jXj​ 的线性组合 Zm,m=1,2,…,MZ_m,m=1,2,\ldots,MZm​,m=1,2,…,M,然后 ZmZ_mZm​ 用来代替 XjX_jXj​ 来作为回归的输入.这些方法区别于怎样构造线性组合.

主成分回归

在这种方法下,使用的线性组合 ZmZ_mZm​ 是在前面 3.4.1 节中定义的主成分.

主成分回归构造派生的输入列 zm=Xvm\mathbf z_m=\mathbf Xv_mzm​=Xvm​,然后在 z1,z2,…,zM,M≤p\mathbf z_1,\mathbf z_2,\ldots,\mathbf z_M,\; M\le pz1​,z2​,…,zM​,M≤p 上回归 y\mathbf yy.因为 zm\mathbf z_mzm​ 是正交的,则这个回归只是单变量回归的和

y^(M)pcr=yˉ1+∑m=1Mθ^mzm(3.61)\hat{\mathbf y}^{pcr}_{(M)}=\bar y\mathbf 1+\sum\limits_{m=1}^M\hat{\theta}_m\mathbf z_m\tag{3.61} y^​(M)pcr​=yˉ​1+m=1∑M​θ^m​zm​(3.61)

其中,θ^m=⟨zm,y⟩/⟨zm,zm⟩\hat\theta_m=\langle \mathbf z_m,\mathbf y\rangle/\langle\mathbf z_m,\mathbf z_m\rangleθ^m​=⟨zm​,y⟩/⟨zm​,zm​⟩.(该表示法详见ESL3.2)因为每个 zm\mathbf z_mzm​ 是原输入变量 xj\mathbf x_jxj​ 的线性组合,我们可以将解 (3.61) 表达成关于 xj\mathbf x_jxj​ 的系数(练习 3.13):

β^pcr(M)=∑m=1Mθ^mvm(3.62)\hat\beta^{pcr}(M)=\sum\limits_{m=1}^M\hat\theta_mv_m\tag{3.62} β^​pcr(M)=m=1∑M​θ^m​vm​(3.62)

岭回归下,主成分依赖输入 xj\mathbf x_jxj​ 的放缩尺度,所以一般地我们首先对它们进行标准化.注意到如果 M=pM=pM=p,我们就会回到通常的最小二乘估计,因为列 Z=UD\mathbf Z=\mathbf U\mathbf DZ=UD 张成了 X\mathbf XX 的列空间.对于 M<pM < pM<p 我们得到一个降维的回归问题.我们看到主成分回归与岭回归非常相似:都是通过输入矩阵的主成分来操作的.岭回归对主成分系数进行了收缩,收缩更多地依赖对应特征值的大小;主成分回归丢掉 p−Mp-Mp−M 个最小的特征值分量.图 3.17 说明了这一点

图 3.17 岭回归运用 (3.47) 中的收缩因子 dj2/(dj2+λ)d_j^2/(d_j^2+\lambda)dj2​/(dj2​+λ) 来收缩主成分回归的系数.主成分回归截断了它们. 图中显示了图 3.7 对应的收缩和截断模式作为主成分指标的函数.

在图 3.7 中我们看到交叉验证表明有 7 项;最终模型在表 3.3 中有最低的测试误差.

偏最小二乘

这个技巧也构造了一系列用于回归的输入变量的线性组合,但是与主成分回归不同的是它采用 y\mathbf yy(除了 X\mathbf XX)来构造.和主成分回归相同的是,偏最小二乘 (PLS) 也不是尺度不变 (scale invariant) 的,所以我们假设每个 xj\mathbf x_jxj​ 标准化使得均值为 0 、方差为 1.一开始,PLS 对每个 jjj 计算 φ^1j=⟨xj,y⟩\hat \varphi_{1j}=\langle \mathbf x_j, \mathbf y\rangleφ^​1j​=⟨xj​,y⟩.从这里我们构造新的派生输入变量 z1=∑jφ^1jxj\mathbf z_1=\sum_j\hat \varphi_{1j}\mathbf x_jz1​=∑j​φ^​1j​xj​,这是第一偏最小二乘方向.因此在每个 zm\mathbf z_mzm​ 的构造中,输入变量通过判断其在 y\mathbf yy 上的单变量影响强度来加权.

!!! note “weiya 注:原书脚注”
因为 xj\rm{x}_jxj​ 已经标准化,第一方向 φ^1j\hat\varphi_{1j}φ^​1j​ 是单变量回归的系数(乘以某不相关的常数);但对接下来的方向不是这样.

输出变量 y\mathbf yy 在 z1\mathbf z_1z1​ 上回归便得到系数 θ^1\hat \theta_1θ^1​,然后我们对 x1,x2,…,xp\mathbf x_1,\mathbf x_2,\ldots,\mathbf x_px1​,x2​,…,xp​ 进行关于 z1\mathbf z_1z1​ 的正交化.我们继续这个过程,直到得到 M≤pM\le pM≤p 个方向.在这种方式下,偏最小二乘得到一系列派生的、正交化的输入或者方向 z1,z2,…,zM\mathbf z_1,\mathbf z_2,\ldots, \mathbf z_Mz1​,z2​,…,zM​.和主成分回归一样,如果我们构造所有 M=pM=pM=p 个方向,我们会得到一个等价于普通最小二乘估计的解;如果使用 M<pM< pM<p 个方向会得到一个低维的回归.这个过程将在算法 3.3 中详细描述.

!!! note “weiya 注:”
在 a\mathbf aa 上回归 b\mathbf bb(或者称作 b\mathbf bb 在 a\mathbf aa 上回归)指的是
b\mathbf bb 在 a\mathbf aa 上的无截距的简单单变量回归,回归系数为
γ^=⟨a,b⟩⟨a,a⟩\hat \gamma = \dfrac{\langle \mathbf a,\mathbf b\rangle}{\langle \mathbf a,\mathbf a\rangle} γ^​=⟨a,a⟩⟨a,b⟩​
​ 同时这一过程也称作 b\mathbf bb 关于 a\mathbf aa 正交化


算法 3.3 偏最小二乘


  1. 对xj\mathbf x_jxj​标准化使得均值为0、方差为1.令y^(0)=yˉ1\hat{\mathbf y}^{(0)}=\bar y\mathbf 1y^​(0)=yˉ​1, 并且xj(0)=xj,j=1,…,p\mathbf x_j^{(0)}=\mathbf x_j,\;j=1,\ldots,pxj(0)​=xj​,j=1,…,p.
  2. 对于m=1,2,…,pm=1,2,\ldots,pm=1,2,…,p
    1. zm=∑j=1pφ^mjxj(m−1)\mathbf z_m=\sum_{j=1}^p\hat \varphi_{mj}\mathbf x_j^{(m-1)}zm​=∑j=1p​φ^​mj​xj(m−1)​, 其中φ^mj=⟨xj(m−1),y⟩\hat \varphi_{mj}=\langle\mathbf x_j^{(m-1)},\mathbf y\rangleφ^​mj​=⟨xj(m−1)​,y⟩
    2. θ^m=⟨zm,y⟩/⟨zm,zm⟩\hat \theta_m=\langle \mathbf z_m, \mathbf y\rangle/\langle \mathbf z_m,\mathbf z_m\rangleθ^m​=⟨zm​,y⟩/⟨zm​,zm​⟩
    3. y^(m)=y^(m−1)+θ^mzm\hat{\mathbf y}^{(m)}=\hat{\mathbf y}^{(m-1)}+\hat\theta_m\mathbf z_my^​(m)=y^​(m−1)+θ^m​zm​
    4. 对每个xj(m−1)\mathbf x_j^{(m-1)}xj(m−1)​关于zm\mathbf z_mzm​正交化:xj(m)=xj(m−1)−⟨zm,xj⟩⟨zm,zm⟩zm,j=1,2,…,p.\mathbf x_j^{(m)}=\mathbf x_j^{(m-1)}-\dfrac{\langle \mathbf z_m,\mathbf x_j\rangle}{\langle \mathbf z_m,\mathbf z_m\rangle}\mathbf z_m,\; j=1,2,\ldots,p.xj(m)​=xj(m−1)​−⟨zm​,zm​⟩⟨zm​,xj​⟩​zm​,j=1,2,…,p.
  3. 输出拟合向量序列{y(m)^}1p\{\hat{\mathbf y^{(m)}}\}^p_1{y(m)^​}1p​.因为{zℓ}1m\{\mathbf z_\ell\}^m_1{zℓ​}1m​关于原输入变量xj\mathbf x_jxj​为线性的,所以是y^(m)=Xβ^pls(m)\hat {\mathbf y}^{(m)}=\mathbf X \hat \beta^{pls}(m)y^​(m)=Xβ^​pls(m).这些线性系数可以通过PLS转换的序列重新得到.

在前列腺癌的例子中,交叉验证在图 3.7 中选择 M=2M=2M=2 个 PLS 方向.这得到了表 3.3 最右边的列的模型.

偏最小二乘求解的是什么优化问题呢?因为它使用响应变量 y\mathbf yy 去构造它的方向,所以它解的路径是关于 y\mathbf yy 的非线性函数.可以证明(练习 3.15)偏最小二乘寻找有高方差以及和响应变量有高相关性的方向,而与之相对的主成分分析回归只重视高方差(Stone and Brooks, 19901; Frank and Friedman, 19932).特别地,第 mmm 个主成分方向 vmv_mvm​ 是下面问题的解:

max⁡αVar(Xα)st∥α∥=1,αTSvℓ=0,ℓ=1,…,m−1(3.63)\begin{aligned}\max_{\alpha} &\rm{Var}(\mathbf X\alpha)\\\rm{st}&\Vert \alpha\Vert=1,\alpha^T\mathbf Sv_\ell=0,\;\ell=1,\ldots,m-1\end{aligned}\tag{3.63} αmax​st​Var(Xα)∥α∥=1,αTSvℓ​=0,ℓ=1,…,m−1​(3.63)

其中,S\mathbf SS 为 xj\mathbf x_jxj​ 的样本协方差矩阵.αTSvℓ=0\alpha^T\mathbf Sv_\ell=0αTSvℓ​=0 保证了 zm=Xα\mathbf z_m=\mathbf X\alphazm​=Xα 与之前所有的线性组合 zℓ=vℓ\mathbf z_\ell=\mathbf v_\ellzℓ​=vℓ​ 都不相关.第 mmm 个 PLS 方向 φ^m\hat \varphi_mφ^​m​ 是下面的解:

max⁡αCorr2(y,Xα)Var(Xα)st∥α∥=1,αTSφ^ℓ=0,ℓ=1,…,m−1(3.64)\begin{aligned}\max_\alpha& \mathrm{Corr}^2(\mathbf y,\mathbf X\alpha)\rm{Var}(\mathbf X\alpha)\\\rm{st}& \Vert\alpha\Vert=1,\alpha^T\mathbf S\hat \varphi_\ell=0,\ell=1,\ldots,m-1\end{aligned}\tag{3.64} αmax​st​Corr2(y,Xα)Var(Xα)∥α∥=1,αTSφ^​ℓ​=0,ℓ=1,…,m−1​(3.64)

进一步的分析揭示了,方差项趋向于占主导地位,而且因此偏最小二乘表现得很像岭回归和主成分回归.我们将在下一节讨论这些.

如果输入矩阵 X\mathbf XX 是正交的,则偏最小二乘会经过 m=1m=1m=1 步找到最小二乘估计.后续的步骤不起作用,因为 m>1时,φ^mj=0m >1\text{时},\hat \varphi_{mj}=0m>1时,φ^​mj​=0(练习 3.14).

也可以证明 m=1,2,…,pm=1,2,\ldots,pm=1,2,…,p 时的 PLS 系数序列表示计算最小二乘解时的共轭梯度(练习 3.18).

regression tools (with discussion), Technometrics 35(2): 109–148.

个人解读

主成分分析基本思想

这段概念基于特征值与特征向量展开,主成分分析是利用降维的思想,将多个变量转化为少数几个综合变量(即主成分),其中每个主成分都是原始变量的线性组合,各主成分之间互不相关,从而这些主成分能够反映始变量的绝大部分信息,且所含的信息互不重叠。它是一个线性变换,这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。

对特征值与特征向量博客的两个解读(该文解释的特征值与特征向量有助于理解主成分分析,值得详读)

对于BU的理解:实现了数据集在特征向量这组正交基上的投影,其实,这里的正交基就是用一组新的U来代替了原本的X,就像书中之前的公式讲的那样,是线性变换。注意U是对称阵,所以计算才make sense,才是投影。

对特征值的理解:参考这篇博客。其实就是这个待分解的矩阵B,其作用于特征向量上不会改变特征向量的方向,所以特征向量和矩阵的本质有关,但是如果矩阵把特征向量进行线性变换后拉伸的值越大,那这个特征向量就越具备代表意义。

对于偏最小二乘的算法部分描述如下

算法 3.3 偏最小二乘


  1. 对xj\mathbf x_jxj​标准化使得均值为0、方差为1.令y^(0)=yˉ1\hat{\mathbf y}^{(0)}=\bar y\mathbf 1y^​(0)=yˉ​1, 并且xj(0)=xj,j=1,…,p\mathbf x_j^{(0)}=\mathbf x_j,\;j=1,\ldots,pxj(0)​=xj​,j=1,…,p.
  2. 对于m=1,2,…,pm=1,2,\ldots,pm=1,2,…,p
    1. zm=∑j=1pφ^mjxj(m−1)\mathbf z_m=\sum_{j=1}^p\hat \varphi_{mj}\mathbf x_j^{(m-1)}zm​=∑j=1p​φ^​mj​xj(m−1)​, 其中φ^mj=⟨xj(m−1),y⟩\hat \varphi_{mj}=\langle\mathbf x_j^{(m-1)},\mathbf y\rangleφ^​mj​=⟨xj(m−1)​,y⟩
    2. θ^m=⟨zm,y⟩/⟨zm,zm⟩\hat \theta_m=\langle \mathbf z_m, \mathbf y\rangle/\langle \mathbf z_m,\mathbf z_m\rangleθ^m​=⟨zm​,y⟩/⟨zm​,zm​⟩
    3. y^(m)=y^(m−1)+θ^mzm\hat{\mathbf y}^{(m)}=\hat{\mathbf y}^{(m-1)}+\hat\theta_m\mathbf z_my^​(m)=y^​(m−1)+θ^m​zm​
    4. 对每个xj(m−1)\mathbf x_j^{(m-1)}xj(m−1)​关于zm\mathbf z_mzm​正交化:xj(m)=xj(m−1)−⟨zm,xj⟩⟨zm,zm⟩zm,j=1,2,…,p.\mathbf x_j^{(m)}=\mathbf x_j^{(m-1)}-\dfrac{\langle \mathbf z_m,\mathbf x_j\rangle}{\langle \mathbf z_m,\mathbf z_m\rangle}\mathbf z_m,\; j=1,2,\ldots,p.xj(m)​=xj(m−1)​−⟨zm​,zm​⟩⟨zm​,xj​⟩​zm​,j=1,2,…,p.
  3. 输出拟合向量序列{y(m)^}1p\{\hat{\mathbf y^{(m)}}\}^p_1{y(m)^​}1p​.因为{zℓ}1m\{\mathbf z_\ell\}^m_1{zℓ​}1m​关于原输入变量xj\mathbf x_jxj​为线性的,所以是y^(m)=Xβ^pls(m)\hat {\mathbf y}^{(m)}=\mathbf X \hat \beta^{pls}(m)y^​(m)=Xβ^​pls(m).这些线性系数可以通过PLS转换的序列重新得到.

对于第二步的第一部分,其实这里的xj\mathbf{x}_jxj​和y\mathbf yy之所以是向量是因为有N个样本,而系数就可以理解为两个向量的点乘,点乘感性理解可以代表相似度。那如何计算当前m步下的zm\mathbf{z}_mzm​呢?当m是1的时候,所有的x都是标准化的,所以把每个单变量在y上面的影响强度作为权重,先加权求和得出第一个方向z1\mathbf{z}_1z1​。

对于第二步的第二部分,就是将y在该方向上进行回归,得到系数θ^m\hat \theta_mθ^m​。

对于第二步的第三部分,就是把当前方向上的分量加进之前的预测向量中去,进一步接近y^\hat {\mathbf y}y^​。

对于第二步的第四部分相当于对于每个xj\mathbf{x}_jxj​,减去其在zm\mathbf{z}_mzm​投影的部分(在zm\mathbf z_mzm​上回归xj\mathbf{x}_jxj​得到系数再乘zm\mathbf{z}_mzm​),留下的残差向量就是和zm\mathbf{z}_mzm​正交的部分,该步骤相关概念的理解可参考ESL3.2的图3.4。感性理解就是,zm\mathbf z_mzm​这个方向已经计算结束分离出来了,需要将其在其他x上面的分量全都清离出去,也就是对每个xj(m−1)\mathbf x_j^{(m-1)}xj(m−1)​关于zm\mathbf z_mzm​正交化。


  1. Stone, M. and Brooks, R. J. (1990). Continuum regression: cross-validated sequentially constructed prediction embracing ordinary least squares, partial least squares and principal components regression (Corr: V54 p906-907), Journal of the Royal Statistical Society, Series B 52: 237–269. ↩︎

  2. Frank, I. and Friedman, J. (1993). A statistical view of some chemometrics ↩︎

ESL3.5 学习笔记(主成分回归,偏最小二乘回归步骤详解)相关推荐

  1. 【openCV学习笔记】在Mac上配置openCV步骤详解

    (1)安装Homebrew:(需要Ruby) 注:因为snow leopard 以后已经自带Ruby了,所有可以不用自己安装Ruby. 看一下Homebrew的官网: http://mxcl.gith ...

  2. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  3. 嵌入式知识-ARM裸机-学习笔记(9):SD卡启动详解(S5PV210)

    嵌入式知识-ARM裸机-学习笔记(9):SD卡启动详解(S5PV210) 一.SD卡介绍 1. SD卡背景知识和特点 SD卡.MMC卡.MicroSD.TF卡:这些卡其实内部就是Flash存储颗粒,比 ...

  4. mysql数据库select语句用法_mysql学习笔记之完整的select语句用法实例详解

    本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...

  5. oracle rac 环境配置文件,学习笔记:Oracle RAC spfile参数文件配置案例详解

    天萃荷净 rac中的spfile探讨,记录一下Oracle RAC搭建完成后关于spfile参数文件的配置案例,与更改RAC环境中参数文件的方法 今天朋友的的rac,因为被同事做数据库升级,分别在两个 ...

  6. 偏最小二乘回归分析原理详解和案例分析实例

    偏最小二乘回归分析原理详解 背景 偏最小二乘回归分析 Partial least squares regression analysis 基本思想 建模步骤 步骤一:分别提取两变量组的第一对成分,并使 ...

  7. 深度学习与智能故障诊断学习笔记(三)——RNN与LSTM推导详解

    1.RNN 1.1网络结构 标准神经网络的输入输出在不同例子中可能有不同的长度,在学习中并不共享从不同位置上学到的特征.因为标准神经网络的训练集是稳定的,即所有的特征域表达的内容是同一性质的,一旦交换 ...

  8. mysql select语句详解_mysql学习笔记之完整的select语句用法实例详解

    本文实例讲述了mysql学习笔记之完整的select语句用法.分享给大家供大家参考,具体如下: 本文内容: 完整语法 去重选项 字段别名 数据源 where group by having order ...

  9. nndl学习笔记(二)反向传播公式推导与详解

    写在前面 反向传播回顾 为什么需要反向传播? 基本思想 算法流程 算法局限性 详细推导(核心:多元微积分的*链式法则*) 一些定义 1. 输出层的误差δL\delta^{L}δL 2. 利用下一层误差 ...

  10. 【Ext.Net学习笔记】03:Ext.Net DirectEvents用法详解、DirectMethods用法详解

    Ext.Net通过DirectEvents进行服务器端异步的事件处理.[Ext.Net学习笔记]02:Ext.Net用法概览.Ext.Net MessageBus用法.Ext.Net布局 中已经简单的 ...

最新文章

  1. mysql charindex_mysql中替代charindex的函数substring_index、find_in_set | 学步园
  2. 采用URL访问资源,隐藏真实地址
  3. window使用技巧记录
  4. EXCEL下载功能在XP系统中运行是好好的,到windows2003系统上,就报错
  5. Ubuntu安装Chromium
  6. ios+html+音频播放器代码,音频播放器代码 - 代码大全
  7. 德标螺纹规格对照表_国标德标对照表
  8. 深入理解搜索引擎-排序算法
  9. Hyperledger Fabric1.4安装
  10. ubuntu更新软件包命令_从Ubuntu命令行查看哪些更新的软件包可用
  11. cpu与主板的区别、独立显卡与集成显卡
  12. 虚幻引擎5.1现已发布!
  13. Bear and Five Cards-Codeforces680A
  14. 计算机为什么老是重启,电脑总是已计划自动重启怎么办 已计划自动重启怎么关闭...
  15. NVIDIA Jetson之远程控制软件NoMachine安装使用
  16. Educational Codeforces Round 119 (Rated for Div. 2) EFG 题解
  17. 年度目标进度和完成进度对比
  18. 【python二级-练习题】
  19. ArcMap 制图出图
  20. 阴阳师哪些服务器可以跨系统转移,阴阳师怎么跨系统角色转移_阴阳师跨系统角色转移流程攻略_玩游戏网...

热门文章

  1. 2021年硕士研究生入学统一考试408计算机学科考试大纲
  2. JavaScript实现阿拉伯数字转中文数字
  3. 2020年中国高粱行业发展现状分析,产品多元化发展「图」
  4. c语言程序设计 学院工资管理系统,学院教职工工资管理系统C语言程序设计.pdf...
  5. k8s + nfs 静态存储模式
  6. EPICS数据通过MQTT物联网协议上云
  7. 卧槽!用低代码平台,3个小时搭了一套“健康上报系统”!
  8. chrome无法从该网站添加应用、扩展程序和用户脚本
  9. linux服务器中病毒后的清除处理
  10. 机器视觉与图像处理研究必备