18 KiB
回归
- 最小二乘解:
min_\theta \| y_{N \times 1}-X_{N\times d} \theta_{d\times 1} \|
$$ \hat \theta=(X^T X)^{-1} X^T y \
Cov(\hat\theta)= \frac{\sigma^2}{X^TX}= \sigma^2 \sum \frac{\alpha_i\alpha_i^T}{ \lambda_i} \
Var(\hat\theta_i)=\frac{\sigma^2}{RSS_i} = \frac{\sigma^2}{TSS_i} /(1-R_i^2) $$
这里RSS和R2为剩余特征对第i个特征回归
-
最小二乘同时也是 CCA dim y = 1 时的特殊情形
-
R-sqaured:TSS=ESS+RSS,
R^2=1-\frac{RSS}{TSS}=\frac{ESS}{TSS}
,增加额外的特征R-Squared一定不减 -
对于高维 regression 我们定义Adjusted R-Squared:
1-\frac{RSS/(N-d)}{TSS/(N-1)}
有可能会负,且一定小于 R-squared。如果增加更多无意义的变量,Adjusted R-squared 会下降,R-squared和Adjusted R-squared 之间的差距会越来越大。 -
对无截距项的R-squared, 如果依然按照有截距项的定义,不再保证[0,1]
-
不再保证[0,1]的问题也会出现在 out of sample 上
-
注意当特征个数大于样本个数的时候
X^T X
就会退化,MLR能够完美拟合即残差为 0, 最优解不唯一 -
当 X 本身不满秩即特征之间存在相关性时,也会退化。但最优预测依然唯一存在,只是最优解不再唯一。
-
重复数据 (XT , XT )T 和数乘 λX 对系数估计和 y 预测没有影响。估计的方差会变小,所以T检验会变大;R-Squared没有影响;F 检验会被影响,主要是由于样本个数变化引起的 degree 变化。
-
增加线性相关的特征,不会影响系数估计和 y 的预测,因此也不会影响 R-Squared。会改变F检验的值,主要也是因为特征数目的改变引起 degree变化。
-
增加线性相关的特征,变量估计方差增加,而减小T检验的值,这个可以从 VIF中可以看出。整体的MSE也会因此变大。这也可以用来解释多重共线性时,单个系数会不显著。
-
较大的系数估计方差往往对应较大的系数即特征对输入变化非常敏感,使得估计不稳定,也就会带来过拟合的风险。
-
增加额外的特征R-Squared一定不减。特征 v2 与 y 无关但与 v1 相关,增加 v2 可以使拟合变得更好(增大 R-squared),也被解释成 v2 抑制了 v1 与 y 无关的部分,使得整体的拟合更加好。
-
局部的比例A比B高,但是整体比例B却比A高。隐藏变量的存在使得局部相关性和整体的相关性相反。
-
增加新的变量后,原来变量与新增变量越相关方差就会变得越大。因此整体的MSE也会因此变大。这也可以用来解释多重共线性时,单个系数会不显著(相关性增大了方差减小了 t 检验值)。
-
$$ \hat y=X(X^TX)^{-1}X^Ty=:Hy \ \hat y - y=:e=(I-H) \epsilon $$
-
F检验
F= \frac{ESS/d-1}{RSS/N-d} = \sim F_{d-1,N-d}
-
T检验
T_i = \frac{\hat\theta_i}{\sqrt{\hat\sigma^2 c_{ii}}} \sim t_{N-d}
,这里c_{ii}= (X^T X)^{−1}
的对角线上第 i 个元素,\hat\sigma^2=RSS/(N-d)
。 p-value 越小或者 Ti 越大说明特征 xi 可以有效预测 y。 T 检验不显著的原因可能是特征本身与 y 无关或者特征过多把单个特征的解释性稀释了。 -
增加线性相关的特征,不会影响系数估计和 y 的预测,因此也不会影响 R-Squared
-
加入线性相关的特征会改变 F 检验的值,主要因为特征数目的改变引起 degree 变化
-
多重共线性主要会影响:
- 参数估计的方差增大,方差增大会导致:两个特征相关性高夹角很小,所以任一特征向量的微小变动都会引起它们张成的线性子空间大幅变动,而使得 y 的投影变化很大
- 难以区分每个特征的重要性:比如原本相似重要性的三个特征,对某特征x3加入多重共线性使其变成会给你错误判断x1, x2不重要,这与PCA类似
- 变量的显著性 T 检验失去意义
-
多重共线性的检测方法:
- F 检验很显著(或者 R-Squared很大)但是每个特征的T检验不显著;
- 定义容忍度 (Tolerance) 和方差扩大因子 (Variance Inflation Factor, VIF):
T_i:= 1-R_i^2 , V_i=1/T_i
容忍度越小或者 VIF 越大,说明该特征的多重共线性就越严重。一般 10 以上的 VIF 被认为严重多重共线性;5 以下则不需要处理;中间视情况而定。 - 回归系数的正负号与预期的相反;
-
解决多重共线性问题的方法包括:
- 手动删除高相关的特征;
- 增加样本容量;
- Ridge, LASSO
- PCR
- 逐步回归 (Stepwise Regression): 利用加进线性相关的特征对拟合并没有太多改善。选择每个特征1维回归F检验最大作为第一变量,然后选择第2,3...变量
-
LASSO和RIDGE中较大的正则系数给出较小的参数的先验方差, 以防止过拟合
-
LASSO求解:
- 次梯度法。但并不能得到真正的稀疏解,只会使解的部分数值尽可能小;而近端梯度和坐标下降能得到。
- 坐标梯度下降
- 近端梯度下降
- 修正 LARS。 但LARS 是给出不同 λ 的一系列 LASSO 的解,不能给出指定 λ 的解。
-
LASSO 的一些性质:
- 在正交的假设下,LASSO 的解是在 OLS 解的基础上套上了 soft thresholding function。可解释 LASSO 的稀疏性
- LASSO 系数不像 Ridge 按比例缩小而是按绝对数值减少,因此可以达到 0
- 当 LASSO 面对一组互相关的特征时,它们只会选择其中一项特征。因此除去稀疏性,Ridge往往比LASSO拥有较小的偏差而更好?
\lambda \geq 2 \| X^T y \|_{\infty}
时,所有的系数都会等于0
-
Ridge 的一些性质:
- 样本矩阵正交时Ridge 的解与 OLS 的解差因子
\lambda+1
- Ridge 是有偏估计
- Ridge 是对 OLS 解的压缩
\hat \| \theta(\lambda)\| \leq \| \theta\|
。但单个系数也有可能随着 k 的增加而增加 - Ridge 能够降低 OLS 的 MSE. 但当 λ 选取不恰当时,MSE 也有可能高于 OLS 即虽然正则项降低了方差,但增加了更多的偏差。
- 当 Ridge 面对一组互相关的特征时,它会趋于给相关特征分配相似的系数。
- X 的列向量间相关性不高时,改变 λ 的值并不能显著的改善 MSE
- Ridge 系数只是按比例缩小而不会真的达到 0. 因此 Ridge 没有 LASSO 那样的稀疏性来做特征选择。
- 样本矩阵正交时Ridge 的解与 OLS 的解差因子
-
内核岭回归 (Kernel Ridge Regression, KRR):预测y可以写成与x相关的只有內积项的公式,可以使用 SVM 中的核技巧代替内积
-
Reduce Multicollinearity: 通过拓展矩阵ridge等价于OLS
-
通过X 的紧奇异值分解 $$ \hat y_{ridge}=U diag(\frac{\lambda_i}{\lambda_i+\lambda})U^Ty\ \hat y_{OLS}=U I U^Ty\ \hat y_{PCR}=U diag(I_k, 0) U^Ty $$ OLS 可以看做 λ = 0 的情形;PCR 则可以看做前 k 个λ为0, 其余的主成分无穷. ridge为PCR的smoothing;ridge偏向于惩罚小的主成分。
-
λ 的选取:
- 岭迹法 (ridge trace): 使得绝大多数参数估计的系数都有符合实际意义的绝对值和符号;或所有系数作为 λ 的函数相对稳定。
- 使得所有 VIF ≤ 10.
- 给定一个常数c > 1, 我们选取λ, s.t. RSS(λ) < cRSS.
-
ridge LASSO 都sensitive to the outliers;ridge对大系数的惩罚更重一点,所以对outliers 更敏感;Ridge 的主要作用是除去多重共线性而不是降低方差
-
较大的系数估计方差往往对应较大的系数;正则化是参数估计 bias 和 variance 的权衡,正则化系数越大,参数估计的 variance 就小而 bias 就越大;
-
L2 正则有 Weight Decay 特点,但不会达到 0, 因此不会有 L1 的稀疏性。
-
从梯度更新公式可以看出,L2权重按比例缩小;L1权重减去的是一个绝对数值
-
L1 的梯度下降方法:
- 次梯度法
- 近端梯度下降(Proximal Gradient Descent, PGD)。在OLS的梯度下降走一步基础上,
\leq
阙值的分量归为0 - 坐标下降
-
Best subset selection也就是L0 正则,求解方法:Forward-Stepwise Selection从没有特征开始,逐项选择拟合最好的特征;Backward-Stepwise Selection: 从全特征开始,逐项剔除拟合最差的特征
-
弹性网 (Elastic Net):约束形状与 1 < p < 2 的范数约束形状十分相似,我们可以近似的看成一个介于 Ridge 和 LASSO 之间的Lp 正则
-
弹性网不会像 LASSO 那样只选择其中一个,而是趋于把相关特征分配相似的系数,从而解决的 LASSO 丢失信息的问题。
-
当样本矩阵正交时:
- L0:
\hat \theta_i I_{\theta_i \geq \sqrt{\lambda} }
- L1:
\hat \theta_i (1-\frac{\lambda}{|\hat \theta_i |})^+
- L2:
\frac{1}{1+\lambda} \hat \theta_i
- Elastic Net:
\frac{1}{1+\lambda_2} \hat \theta_i^{LASSO}
- L0:
-
LASSO 像是L2和L0的结合,压缩 OLS 系数的同时让一部分系数为 0.
-
弹性网像是L2和l1的结合,在LASSO的基础上再进行压缩。
-
LARS算法的工作原理可以简要概述为以下几个步骤:
- 初始化:所有回归系数初始化为零。
- 选择变量:在每一步,选择当前与残差最相关的变量,将其加入到活跃集合中。
- 计算方向:沿着这个方向向前移动,使得新的残差与所有在活跃集合中的变量等角度相关。
- 更新系数:逐步增加选择变量的系数,直到另一个变量与残差同样相关,或某个变量的系数变为零。
- 重复步骤:重复选择变量和更新系数的步骤,直到满足停止条件(如达到预定的变量数或误差标准)。
-
PLSR: 同时考虑 x 的方差,y 的方差以及 x, y 之间的相关性。
-
CCA: 只考虑了 x, y 之间的相关性。Special case dim y = 1 : Linear regression
-
PCA: 只考虑了 x 的方差。
-
高斯过程回归:非参数的贝叶斯回归方法,通过高斯过程先验对数据进行建模,进而预测新的数据点的输出的分布。可提供有意义的置信区间和后验样本以及预测值,而内核岭回归仅提供预测。
-
逻辑斯蒂回归 (Logistic regression):
P(Y=1|X=x)=\frac{1}{1+e^{-x^T \theta}}:=logistic(x^T \theta)
-
logistic 函数类似一个概率分布 (CDF)
-
标签imbalance不会影响逻辑斯蒂回归的齐次项系数,只会影响截距。所以适当调整阙值,imbalance 并不会影响预测。
-
逻辑斯蒂回归在样本线性可分时表现很差。因为当 ||θ|| → ∞ 时logistic 函数会成为在 0 点跳跃的阶梯函数。会使参数趋于无穷大来最大化似然函数。可加入 L1, L2 正则来避免过拟合。
-
二阶的牛顿法求解逻辑斯蒂回归,等价于求多个加权最小二乘解,因此被称为Iteratively Reweighted Least Squares (IRLS)
-
广义线性模型 (Generalized linear model, GLM):logistic函数换成任意一个函数。
-
特别的,probit(正态分布的CDF) 函数时候为probit 回归。logistic比probit有更粗的 tail. 因此当样本中有 outliers 或者取值跨度很大时,logistic更加robust
-
多类别逻辑回归:(up to a const.)
P(Y=k|X=x)=\frac{e^{x^T \theta_k}}{\sum\limits_{i=1}^K e^{x^T \theta_i}}
Softmax 可以看做最值指标函数的smoothing。MLE等价于交叉熵损失函数。(i为样本; k为类)\sum_i \sum_k 1_{y_i=k} \log P(Y=k|X=x_i)
-
分位回归:
\min\limits_{\theta} \sum\limits_{y_i > x^T \theta} (y_i - x^T \theta) \tau + \sum\limits_{y_i < x^T \theta} ( x^T \theta - y_i) (1-\tau)
- 能够更加全面的描述响应变量条件分布的全貌。
- 对离群点则表现的更加稳健
- 对误差项不要求很强的假设,因此对非正态而言更加稳健。
感知机
- 分类函数
f(x)=sign(w^T x+b)
- Loss函数
\sum\limits_{x_i 误分点} - y_i (w^T x+b)
- 使用随机梯度下降法 (stochastic gradient descent, SGD)每次更新梯度 associate with 随机误分点。训练集线性不可分时,该算法不收敛。
K近邻法 (K-nearest neighbor, K-NN)
- 选取最近的K个点集,每个点加权评分。
- 一般最优的 K 值通过交叉验证来获得。
- kd搜索树是二叉搜索树 (binary search tree, BST), 在训练集中,找到按某个维度的中位数做划分
- kd树搜索:找出目标点 x 对应的叶节点 l 作为起始点;逐级往上搜索,如果新的最近点出现更新最近点;搜索到某个节点时,考察兄弟点, 考察某两集合,如果相交则对该点的子树递归,不相交则继续往上搜。
- 当要搜寻 K 个最邻近点时:将最先搜索到的 K 个点作为初始值;替换当前K个点中的最远距离的点。
- 当样本点个数远大于维度:
N \gg 2^k
时效率较高,否则kd Tree 几乎和线性搜索一样遍历所有点。 - Ball 树,为了解决 kd 树在高维上效率低下的问题:
- 先构建一个包含所有样本的最小球体;
- 从球中选择一个离球的中心最远的点,然后选择第二个点离第一个点最远,将球中所有的点分配到离这两个聚类中心最近的一个上,然后计算每个聚类的中心,以及聚类能够包含它所有数据点所需的最小半径。得到两个子超球体,和kd树里左右子树对应;
- 对于这两个子超球体,递归得到ball 树。
- ball Tree 的结点个数由样本个数确定
朴素贝叶斯法
- 独立假设下
\max\limits_k P(Y=c_k| X=x ) = \max\limits_k P(Y=c_k) \prod\limits_i P(X^i =x^i|Y=c_k)
- 最大化 Y 的后验概率(MAP)实际上就是最小化 0-1损失函数 (L0-norm) 下的贝叶斯风险。
- 朴素贝叶斯由于简单的无关假设,是一种高偏差低方差的算法。尤其是特征之间存现相关时,偏差会比较大。
- 独立性假设做一定的放松,独依赖估计(One-Dependent Estimator, ODE)。SPODE (Super-Parent ODE)假设所有特征都依赖于同一个特征(超父),然后通过交叉验证等模型选择方法来确定超父。AODE (Average ODE)将样本的特征依次作为超父来计算概率最后求和。
- 每个特征的独立性可以 conditional on k 个父特征拓展为 KDE。随着k增加所需的训练样本数量将以指数级增加。KDE 的表述即是贝叶斯网
最大熵模型
- 寻求最优的 P(Y|X) 最大化他的经验条件熵max H(Y|X),在某些给定特征函数相关的约束条件下。
- 转化为等价的对偶极小极大问题:
\max\limits_\omega \min\limits_P L(P,\omega)
- 对偶极小的解:
P_\omega(y|x) = \frac{1}{Z(\omega,x)} exp(\sum \omega_i f_i(x,y))
,这里f_i
为特征函数。因此最大熵模型与逻辑斯蒂回归模型类似都被叫做对数线性模型 - 以
\omega
为参数的模型P_\omega(y|x)
的MLE等同于上面的对偶极大\max\limits_\omega
- 最优化问题可以使用经典的牛顿法和拟牛顿法, 还有一种迭代尺度法 (improved iterative scaling, IIS): 找到对数似然的一个可以迭代递增的下界,再通过最大化下界迭代求解
支持向量机 (SVM)
- 函数间隔
y_i(w_i^T x+ b)
;几何间隔y_i(w_i^T x+ b)/\|\omega\|
- 可分SVM:
\min\limits_{\omega,b} \|\omega\|^2 /2
, s.t.y_i(w_i^T x+ b)-1 \geq 0
- 不可分SVM原始问题 $$ \min\limits_{\omega,b,\xi} |\omega|^2 /2 + C \sum \xi_i \ , \ s.t. ,,, y_i(w_i^T x+ b) \geq 1- \xi_i, , , \xi_i \geq 0 $$
- 等价的 KKT condition (原始变量
\omega,b,\xi
,对偶变量\alpha_i, \mu_i
)\alpha_i=0
:xi在临界平面之内0<\alpha_i < C
:xi 在临界平面上\alpha_i=C
:ξ < 1,xi 越过临界超平面但在分离平面正确一侧;ξ = 1,xi 在分离平面上;ξ > 1,xi 在分离平面错误一侧。
- 把所有
\alpha_i >0
即所有越过临界平面的 xi 叫做软间隔 (soft margin) 的支持向量 - SVM 具有稀疏性(样本):分离平面即分类器完全由支持向量(α > 0)来决定。
- 不可分SVM对偶问题: $$ \min\limits_{\alpha} \frac{1}{2} \sum\limits_{i,j} \alpha_i \alpha_j y_i y_j (x_i^T x_j) - \sum\limits_i \alpha_i \
\sum\limits_i \alpha_i y_i=0 , ,, 0\leq \alpha_i \leq C $$
对偶问题最优解与原问题之间关系 $$ \omega=\sum \alpha_iy_ix_i\ b=y_j-\sum y_i \alpha_i(x_i^T x_j) $$ - 合页损失函数 (hinge loss function),无约束优化问题:
\min\limits_{\omega,b} C(1-y_i(w_i^T x+ b))^+ + \|\omega\|^2/2
SVM是一种自动正则化的方法。能够很好的处理高维数据。因为它只取决于线性超平面和支持向量,计算成本不会随着维数的增加而急剧增加。 - 核技巧:不直接定义点的映射,而是定义映射后的內积即核函数代替原空间里的內积
- 序列最小化求解对偶问题 (sequential minimal optimization, SMO)
- 每次只优化两个 α1, α2(固定其他)
- 调整b,使第一步中的最优解满足KKT。
- 选取另外一对α直到所有的α都满足KKT。
- 多类SVM
- 一对多法 (one-versus-rest, OVR; one-versus-all): 把某个类别的样本归为一类,其他剩余的样本归为另一类,需要k个SVM,将未知样本分类为具有最大分类函数值。这种方法存在 bia。
- 一对一法 (one-versus-one, OVO): 在任意两类样本之间设计一个SVM。分类时,用最后得票最多的类别
- SVR回归,损失函数
\min\limits_{\omega,b} C \sum (|y_i-(w_i^T x+ b)|-\epsilon)^+ + \|\omega\|^2/2
考虑上/下松弛变量,等价于 $$ \min C \sum (\xi_i + \hat\xi_i ) + |\omega|^2/2\ s.t. , ,0 \leq\xi_i , \hat\xi_i ; , , -\epsilon - \hat\xi_i \leq y_i-(w_i^T x+ b) \leq \epsilon + \xi_i $类似,SVR的对偶问题得到原变量和对偶变量关系
\omega = \sum(\alpha_i-\hat\alpha_i)x_i,只有在带宽内的点有
\alpha_i-\hat\alpha_i=0 $ - 对比岭回归KRR和SVR。类似:都使用 L2 正则;都可以使用核技巧。不同:损失函数不同,KRR 有解析解;KRR对中等规模训练速度通常更快,SVR适用于较大的训练集;SVR稀疏性,预测比KRR快。?
- One Class SVM $$ \min\limits_{r,o} V(r,o)+ C \sum \xi_i\ s.t. ,, |x_i-o|\leq r+ \xi_i; ,,, \xi_i \geq0 $$
- 校准概率 (Calibrate Probability):在 score g(xi)基础上再训练一个 [0, 1] 之间的函数 (calibration regressor) 来表示xi被预测成1的校准概率。