使用独热编码进行线性回归,编码方式暗含了对结果的排序,不同的编码方式,会产生不同的线性模型,在测试集上出现不同的预测值。这种情况在两种水平的定性问题上会稍好一些。
不适用回归方法进行分类的原因:
逻辑回归不直接对响应变量 Y 进行建模,而是对 Y 属于某个特定类别的概率建模
逻辑函数
使用函数 p ( X ) p(X) p(X) 进行建模,该函数为所有的 X X X 提供 0~1之间的输出
p ( X ) = e β 0 + β 1 X 1 + e β 0 + β 1 X p(X)=\frac{e^{\beta_{0}+\beta_{1} X}}{1+e^{\beta_{0}+\beta_{1} X}} p(X)=1+eβ0+β1Xeβ0+β1X
使用极大似然法来拟合该模型。
该模型进一步可得
p ( X ) 1 − p ( X ) = e β 0 + β 1 X \frac{p(X)}{1-p(X)}=e^{\beta_{0}+\beta_{1} X} 1−p(X)p(X)=eβ0+β1X
量 p ( X ) 1 − p ( X ) \frac{p(X)}{1-p(X)} 1−p(X)p(X) 称为几率,可以取0到∞之间的任意值。两边取对数有
log ( p ( X ) 1 − p ( X ) ) = β 0 + β 1 X \log \left(\frac{p(X)}{1-p(X)}\right)=\beta_{0}+\beta_{1} X log(1−p(X)p(X))=β0+β1X
左边称为 logit ,是一个关于 X X X 的线性量
X X X 与 p ( X ) p(X) p(X) 的关系不是一条直线, p ( X ) p(X) p(X) 每变化一个单位, X X X 的变化率取决于 X X X 的当前值,从下图中可看出
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XSUUXL7s-1675247535083)(Classification%20de1ade1befa04bc79200cd723ad36f2f/Untitled.png)]
我们寻求 β 0 \beta_0 β0 和 β 1 \beta_1 β1 的估计值,使得每个个体的概率尽可能与观测的状态一致。逻辑回归模型中使用的似然函数的数学形式为
ℓ ( β 0 , β 1 ) = ∏ i : y i = 1 p ( x i ) ∏ i ′ : y i ′ = 0 ( 1 − p ( x i ′ ) ) \ell\left(\beta_{0}, \beta_{1}\right)=\prod_{i: y_{i}=1} p\left(x_{i}\right) \prod_{i^{\prime}: y_{i^{\prime}}=0}\left(1-p\left(x_{i^{\prime}}\right)\right) ℓ(β0,β1)=∏i:yi=1p(xi)∏i′:yi′=0(1−p(xi′))
选择合适的 β 0 ^ \hat{\beta_0} β0^ 和 β 1 ^ \hat{\beta_1} β1^ 来最大化这个似然函数
一旦估计出系数,我们就可以计算出任意给定 X X X 的概率 p ^ ( X ) \hat{p}(X) p^(X)
可以将该式子推广为
log ( p ( X ) 1 − p ( X ) ) = β 0 + β 1 X 1 + ⋯ + β p X p \log \left(\frac{p(X)}{1-p(X)}\right)=\beta_{0}+\beta_{1} X_{1}+\cdots+\beta_{p} X_{p} log(1−p(X)p(X))=β0+β1X1+⋯+βpXp 也可以写为
p ( X ) = e β 0 + β 1 X 1 + ⋯ + β p X p 1 + e β 0 + β 1 X 1 + ⋯ + β p X p p(X)=\frac{e^{\beta_{0}+\beta_{1} X_{1}+\cdots+\beta_{p} X_{p}}}{1+e^{\beta_{0}+\beta_{1} X_{1}+\cdots+\beta_{p} X_{p}}} p(X)=1+eβ0+β1X1+⋯+βpXpeβ0+β1X1+⋯+βpXp
同样使用最大似然法估计系数
在这之前逻辑回归方法只允许 K=2 类的响应变量(即最终预测结果为 0 或 1)
首先选择单个多项式逻辑回归类作为基线(baseline)为这个角色选择第 K 类
Pr ( Y = k ∣ X = x ) = e β k 0 + β k 1 x 1 + ⋯ + β k p x p 1 + ∑ l = 1 K − 1 e β l 0 + β l 1 x 1 + ⋯ + β l p x p \operatorname{Pr}(Y=k \mid X=x)=\frac{e^{\beta_{k 0}+\beta_{k 1} x_{1}+\cdots+\beta_{k p} x_{p}}}{1+\sum_{l=1}^{K-1} e^{\beta_{l 0}+\beta_{l 1} x_{1}+\cdots+\beta_{l p} x_{p}}} Pr(Y=k∣X=x)=1+∑l=1K−1eβl0+βl1x1+⋯+βlpxpeβk0+βk1x1+⋯+βkpxp k = 1,2,……,K-1
Pr ( Y = K ∣ X = x ) = 1 1 + ∑ l = 1 K − 1 e β l 0 + β l 1 x 1 + ⋯ + β l p x p \Pr(Y=K|X=x)=\dfrac{1}{1+\sum_{l=1}^{K-1}e^{\beta_{l0}+\beta_{l1}x_1}+\cdots+\beta_{l_p}x_p} Pr(Y=K∣X=x)=1+∑l=1K−1eβl0+βl1x1+⋯+βlpxp1
log ( Pr ( Y = k ∣ X = x ) Pr ( Y = K ∣ X = x ) ) = β k 0 + β k 1 x 1 + ⋯ + β k p x p \log\left(\dfrac{\Pr(Y=k|X=x)}{\Pr(Y=K|X=x)}\right)=\beta_{k0}+\beta_{k1}x_1+\cdots+\beta_{kp}x_p log(Pr(Y=K∣X=x)Pr(Y=k∣X=x))=βk0+βk1x1+⋯+βkpxp
我们引入 softmax 编码,即无论编码如何,任意一对类之间的拟合值(预测值)、对数优势和其他关键模型输出都将保持不变。但是softmax编码在机器学习文献(并将在第10章再次出现)的一些领域被广泛使用,因此值得关注。在softmax编码中,我们不是选择一个基线类,而是对称地对待所有的 K 类,并假设对于k = 1,……,K
P r ( Y = k ∣ X = x ) = e β k 0 + β k 1 x 1 + ⋯ + β k p x p ∑ l = 1 K e β l 0 + β l 1 x 1 + ⋯ + β l p x p Pr(Y=k|X=x)=\frac{e^{\beta_{k0}+\beta_{k1}x_1+\cdots+\beta_{kp}x_p}}{\sum_{l=1}^Ke^{\beta_{l0}+\beta_{l1}x1+\cdots+\beta_{lp}x_p}} Pr(Y=k∣X=x)=∑l=1Keβl0+βl1x1+⋯+βlpxpeβk0+βk1x1+⋯+βkpxp
由此公式推出,第 k k k 类与第 k ′ k' k′ 类之间的对数优势比(log odds ratio)相等
log ( Pr ( Y = k ∣ X = x ) Pr ( Y = k ′ ∣ X = x ) ) = ( β k 0 − β k ′ 0 ) + ( β k ′ 1 − β k ′ 1 ) x 1 + ⋯ + ( β k p − β k ′ p ) x p \log\left(\dfrac{\Pr(Y=k|X=x)}{\Pr(Y=k'|X=x)}\right)=(\beta_{k0}-\beta_{k'0})+(\beta_{k'1}-\beta_{k'1})x_1+\cdots+(\beta_{kp}-\beta_{k'p})x_p log(Pr(Y=k′∣X=x)Pr(Y=k∣X=x))=(βk0−βk′0)+(βk′1−βk′1)x1+⋯+(βkp−βk′p)xp
在已有逻辑回归的情况下,为什么还要别的方法?
假设分类的观测值为 K K K( K ≥ 2 ) K\ge2) K≥2)类,即 Y Y Y 有 K 个不同且无序的值;令 π k \pi_k πk 表示随机选择的观测来自前 k 类的总体或先验概率;令 f k ( X ) ≡ P r ( X ∣ Y = k ) f_k(X)\equiv Pr(X|Y=k) fk(X)≡Pr(X∣Y=k) 表示来自第 k 类观测的 X 的密度函数;也就是说,如果第 k 类中的观测有很大概率 X ≈ x X≈x X≈x,则 f k ( x ) f_k ( x ) fk(x) 比较大;如果第 k 类中的观测有 X ≈ x X≈x X≈x 的可能性很小,则 f k ( x ) f_k ( x ) fk(x) 比较小。则贝叶斯定理指出:
P r ( Y = k ∣ X = x ) = π k f k ( x ) ∑ l = 1 K π l f l ( x ) Pr(Y=k|X=x)=\frac{\pi_kf_k(x)}{\sum_{l=1}^K\pi_lf_l(x)} Pr(Y=k∣X=x)=∑l=1Kπlfl(x)πkfk(x) ………… 1
将使用缩写 p k ( x ) = P r ( Y = k ∣ X = x ) p_k(x)=Pr(Y=k|X=x) pk(x)=Pr(Y=k∣X=x) 这就是观测后验 X = x X=x X=x 属于第 k 类的后验概率,即给定该观测的预测值,它是该观测属于第 k 类的概率
一般来说,如果我们有来自总体的随机样本,估计k是很容易的:我们简单地计算属于第k类的训练观测值的分数。然而,估计密度函数 f k ( x ) f_k ( x ) fk(x) 要困难得多。接下来有几种方法来估计 f k ( x ) f_k(x) fk(x) ,然后带入上述方程逼近 Bayes 类
假设 p = 1,即只有一个预测因子。为了估计 f k ( x ) f_k(x) fk(x) ,首先对形式做出一些假设:**假设 f k ( x ) f_k(x) fk(x) 是正态分布或高斯分布,**在一维的设定中,正态密度的形式为
f k ( x ) = 1 2 π σ k exp ( − 1 2 σ k 2 ( x − μ k ) 2 ) f_k(x)=\dfrac{1}{\sqrt{2\pi}\sigma_k}\exp\left(-\dfrac{1}{2\sigma_k^2}(x-\mu_k)^2\right) fk(x)=2πσk1exp(−2σk21(x−μk)2) ………… 2
μ k \mu_k μk 和 σ k 2 \sigma_k^2 σk2 分别为第 k 类的均值和方差。进一步假设 σ 1 2 = ⋯ = σ K 2 \sigma_1^2=\cdots=\sigma_K^2 σ12=⋯=σK2 ,即所有的 K 类都有一个共享的方差项,用 σ 2 \sigma^2 σ2 来表示。公式 2 带入 1 中:
p k ( x ) = π k 1 2 π σ exp ( − 1 2 σ 2 ( x − μ k ) 2 ) ∑ l = 1 K π l 1 2 π σ exp ( − 1 2 σ 2 ( x − μ l ) 2 ) p_k(x)=\dfrac{\pi_k\frac{1}{\sqrt{2\pi\sigma}}\:\exp\left(-\frac{1}{2\sigma^2}(x-\mu_k)^2\right)}{\sum_{l=1}^K\pi_l\frac{1}{\sqrt{2\pi}\sigma}\:\exp\left(-\frac{1}{2\sigma^2}(x-\mu_l)^2\right)} pk(x)=∑l=1Kπl2πσ1exp(−2σ21(x−μl)2)πk2πσ1exp(−2σ21(x−μk)2) ………… 3
π k \pi_k πk 表示观测值属于第 k 类的先验概率。对公式 3 取对数并重新排列项得公式 4,不难看出,这相当于将观测分配给了其中的最大类
δ k ( x ) = x ⋅ μ k σ 2 − μ k 2 2 σ 2 + log ( π k ) \delta_k(x)=x\cdot\dfrac{\mu_k}{\sigma^2}-\dfrac{\mu_k^2}{2\sigma^2}+\log(\pi_k) δk(x)=x⋅σ2μk−2σ2μk2+log(πk) ………… 4
例如,若 K = 2 K = 2 K=2 且 π 1 \pi_1 π1 = π 2 \pi_2 π2,则当 2 x ( μ 1 − μ 2 ) > μ 1 2 − μ 2 2 2x( \mu_1-\mu_2 ) > \mu_1^2 - \mu_2^2 2x(μ1−μ2)>μ12−μ22 时,Bayes类将一个观测分配给类1,否则分配给类2,Bayes决策边界为 δ 1 ( x ) = δ 2 ( x ) \delta_1 ( x ) = \delta_2 ( x ) δ1(x)=δ2(x) 的点,可以证明这等于
x = μ 1 2 − μ 2 2 2 ( μ 1 − μ 2 ) = μ 1 + μ 2 2 x=\dfrac{\mu_1^2-\mu_2^2}{2(\mu_1-\mu_2)}=\dfrac{\mu_1+\mu_2}{2} x=2(μ1−μ2)μ12−μ22=2μ1+μ2 …………… 5
我们知道 X X X 取自每个类内的高斯分布,并且我们知道所涉及的所有参数,在这种情况下,我们可以计算贝叶斯分类,。在实际生活中,我们无法计算贝叶斯分类
在实际应用中,即使我们很确定我们的假设是X取自每个类内的高斯分布,为了应用贝叶斯分类,我们仍然需要估计参数 μ 1 , … , μ K \mu_1,\dots,\mu_K μ1,…,μK, π 1 , … , π K \pi_1,\dots,\pi_K π1,…,πK 和 σ 2 \sigma^2 σ2 。线性判别分析( LDA )方法通过将 π k \pi_k πk, μ k \mu_k μk , σ 2 \sigma^2 σ2 的估计值代入式 4 来近似线性判别分析Bayes类。特别地,使用了以下估计:
μ ^ k = 1 n k ∑ i : y i = k x i \hat{\mu}_k\quad=\quad\dfrac{1}{n_k}\sum_{i:y_i=k}x_i μ^k=nk1∑i:yi=kxi
σ ^ 2 = 1 n − K ∑ k = 1 K ∑ i : y i = k ( x i − μ ^ k ) 2 \hat{\sigma}^2\quad=\quad\dfrac{1}{n-K}\sum_{k=1}^K\sum_{i:y_i=k}(x_i-\hat{\mu}_k)^2 σ^2=n−K1∑k=1K∑i:yi=k(xi−μ^k)2 ………… 6
其中 n n n 为训练观测总数, n k n_k nk 为第 k k k 类的训练观测数。对 μ k \mu_k μk 的估计仅仅是来自第 k k k 类的所有训练观测值的平均值,而 σ ^ 2 \hat{\sigma}^2 σ^2 可以看作是对每个 K K K 类的样本方差的加权平均。有时我们知道类成员概率 π 1 , … , π K \pi_1,\dots,\pi_K π1,…,πK,可直接使用。在没有任何额外信息的情况下,LDA使用属于第 k k k 类的训练观测值的比例来估计 π k \pi_k πk,即
π ^ k = n k / n \hat{\pi}_k=n_k/n π^k=nk/n ………… 7
LDA类将公式 6 和公式 7 中给出的估计代入公式 4 得到公式 8,并为一个观测 X = x X = x X=x 分配到最大的类
δ ^ k ( x ) = x ⋅ μ ^ k σ ^ 2 − μ ^ k 2 2 σ ^ 2 + log ( π ^ k ) \hat{\delta}_k(x)=x\cdot\dfrac{\hat{\mu}_k}{\hat{\sigma}^2}-\dfrac{\hat{\mu}_k^2}{2\hat{\sigma}^2}+\log(\hat{\pi}_k) δ^k(x)=x⋅σ^2μ^k−2σ^2μ^k2+log(π^k) ………… 8
需要重申的是,LDA分类的结果是假设每个类内的观测值来自具有类均值和共同方差 σ 2 \sigma^2 σ2 的正态分布,并将这些参数的估计值插入贝叶斯分类
现在将LDA分类器扩展到多个预测变量的情况。为了做到这一点,我们假设 X = ( X 1 , X 2 , ⋯ , X p ) X = ( X_1, X_2,\cdots ,Xp) X=(X1,X2,⋯,Xp)是从多元高斯(或多元正态)分布中得出的,具有特定类别的多元高斯均值向量和共同的协方差矩阵
多元高斯分布假设每个单独的预测变量服从一维正态分布,每一对预测变量之间具有一定的相关性。
为了说明 p p p 维随机变量 X X X 具有多元高斯分布,我们记 X ∼ N ( μ , Σ ) X\sim N(\mu,\boldsymbol{\Sigma}) X∼N(μ,Σ) 其中, E ( X ) = μ E ( X ) =\mu E(X)=μ 为 X X X (具有p个分量的向量)的均值, C o v ( X ) = Σ Cov ( X ) =\boldsymbol{\Sigma} Cov(X)=Σ 为 X X X
的 p × p p × p p×p 协方差矩阵。形式上,多元高斯密度定义为:
f ( x ) = 1 ( 2 π ) p / 2 ∣ Σ ∣ 1 / 2 exp ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) {f(x)=\dfrac{1}{(2\pi)^{p/2}|\mathbf{\Sigma}|^{1/2}}\exp\left(-\dfrac{1}{2}(x-\mu)^{T}\mathbf{\Sigma}^{-1}(x-\mu)\right)} f(x)=(2π)p/2∣Σ∣1/21exp(−21(x−μ)TΣ−1(x−μ))
………… 1
在p > 1个预测变量的情况下,LDA分类器假设第 k k k 类中的观测值取自多元高斯分布 N ( μ , Σ ) N(\mu,\boldsymbol{\Sigma}) N(μ,Σ),其中 k k k 是特别类别的均值向量,是所有 K K K 类共有的协方差矩阵。将第 k k k 类的密度函数 f k ( X = x ) f_k( X = x) fk(X=x) 代入式 ( 4.15 ) 并执行一点代数运算,可以发现Bayes类将一个观测值 X = x X = x X=x 分配给它所在的类:
δ k ( x ) = x T Σ − 1 μ k − 1 2 μ k T Σ − 1 μ k + log π k \delta_k(x)=x^T\boldsymbol{\Sigma}^{-1}\mu_k-\dfrac{1}{2}\mu_k^T\boldsymbol{\Sigma}^{-1}\mu_k+\log\pi_k δk(x)=xTΣ−1μk−21μkTΣ−1μk+logπk
这是式( 4.18 )的向量/矩阵版本
LDA正试图逼近所有分类器中总错误率最低的Bayes分类器。也就是说,不管错误来自哪个类别,贝叶斯分类都会产生最小的错误分类观测值总数。可以对LDA进行修改,以便开发出更符合需求的分类器。
贝叶斯分类器通过给后验概率 p k ( X ) p_k ( X ) pk(X) 最大的类分配一个观测来工作。在二分类情况下,这相当于给默认类分配一个观测,如果
Pr ( default = Yes ∣ X = x ) > 0.5 \Pr(\operatorname{default}=\operatorname{Yes}|X=x)>0.5 Pr(default=Yes∣X=x)>0.5
然而,如果我们担心对违约个体错误地预测违约状态,那么我们可以考虑降低阈值
Pr ( default = Yes ∣ X = x ) > 0.2 \Pr(\operatorname{default}=\operatorname{Yes}|X=x)>0.2 Pr(default=Yes∣X=x)>0.2
如何确定哪个阈值是最好的?这样的决策必须基于领域知识,例如与违约相关的成本的详细信息。
ROC曲线是同时显示所有可能阈值的两类误差的流行图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FzYBUo1U-1675247535085)(Classification%20de1ade1befa04bc79200cd723ad36f2f/Untitled%201.png)]
一个分类器的总体性能,总结了所有可能的阈值,由( ROC )曲线下面积( AUC )给出,理想的ROC曲线会拥抱左上角,AUC越大,分类器越好。
与LDA一样,QDA分类的结果是假设每个类别的观测值来自高斯分布,并将参数的估计值插入贝叶斯定理以进行预测。然而,与LDA不同,QDA假设每个类都有自己的协方差矩阵。也就是说,它假设来自第 k k k 类的观测是 X ∼ N ( μ k , Σ k ) X\sim N(\mu_k,\boldsymbol{\Sigma}_k) X∼N(μk,Σk),其中 k k k 是第 k k k 类的协方差矩阵。
在此假设下,贝叶斯分类器为最大的类分配一个观测 X = x X = x X=x
δ k ( x ) = − 1 2 ( x − μ k ) T Σ k − 1 ( x − μ k ) − 1 2 log ∣ Σ k ∣ + log π k = − 1 2 x T Σ k − 1 x + x T Σ k − 1 μ k − 1 2 μ k T Σ k − 1 μ k − 1 2 log ∣ Σ k ∣ + log π k \begin{array}{r c l}{{\delta_{k}(x)}}&{{=}}&{{-\frac{1}{2}(x-\mu_{k})^{T}\Sigma_{k}^{-1}(x-\mu_{k})-\frac{1}{2}\log|\Sigma_{k}|+\log\pi_{k}}}\\ {{}}&{{=}}&{{-\frac{1}{2}x^{T}\Sigma_{k}^{-1}x+x^{T}\Sigma_{k}^{-1}\mu_{k}-\frac{1}{2}\mu_{k}^{T}\Sigma_{k}^{-1}\mu_{k}-\frac{1}{2}\log|\Sigma_{k}|+\log\pi_{k}}}\end{array} δk(x)==−21(x−μk)TΣk−1(x−μk)−21log∣Σk∣+logπk−21xTΣk−1x+xTΣk−1μk−21μkTΣk−1μk−21log∣Σk∣+logπk
因此,QDA类将 Σ k {\Sigma}_k Σk, μ k \mu_k μk 和 π k \pi_k πk 的估计值代入上式,然后将一个观测 X = x X = x X=x 分配给这个量最大的类。与式( 4.24 )不同的是,上式中数量 x x x 以二次函数形式出现。这就是QDA得名的地方。
为什么我们假设 K K K 类共享一个共同的协方差矩阵呢?换句话说,为什么人们更喜欢LDA而不是QDA,或者相反?
答案在于方差与偏差的权衡。有 p p p 个预测变量时,估计一个协方差矩阵需要估计 p ( p + 1 ) 2 \frac{p(p+1)}{2} 2p(p+1) 个参数。QDA 为每个估计一个单独的协方差矩阵,共有 K p ( p + 1 ) / 2 Kp(p+1)/2 Kp(p+1)/2 个参数。而 LDA 模型只用估计 K p Kp Kp 个线性系数。 因此,LDA是一个比QDA更不灵活的类,因此具有更低的方差。
而如果LDA对 K K K 个类共享一个共同协方差矩阵的假设很差,那么LDA可以避免高偏差。粗略地说,在训练观测值相对较少的情况下,LDA往往比QDA更好,因此减小方差至关重要。相反,如果训练集非常大,以至于类的方差不是主要关注的问题,或者对于 K K K 个类的公共协方差矩阵的假设显然是站不住脚的,则推荐使用QDA
朴素贝叶斯分类器对 f 1 ( x ) , … , f K ( x ) f_1(x),\dots,f_K(x) f1(x),…,fK(x) 采取不同的估计策略,我们没有假设这些函数属于特定的分布族(例如多元正态),而是做了单一的假设:在第 k k k 类中, p p p 个预测变量是独立的。数学意义为: k = 1 , … , K k=1,\dots,K k=1,…,K f k ( x ) = f k 1 ( x 1 ) × f k 2 ( x 2 ) × ⋯ × f k p ( x p ) f_k(x)=f_{k1}(x_1)\times f_{k2}(x_2)\times\cdots\times f_{k p}(x_p) fk(x)=fk1(x1)×fk2(x2)×⋯×fkp(xp)
f k j f_{kj} fkj 是第 k k k 类观测值中第 j j j 个预测因子的密度函数。
本质上,估计一个 p p p 维密度函数是很有挑战性的,因为我们不仅要考虑每个预测变量的边缘分布,即每个预测变量自身的分布,还要考虑预测变量的联合分布,即不同预测变量之间的相关性。
在多元正态分布的情况下,不同预测变量之间的关联由协方差矩阵的非对角线元素总结。
然而,一般来说,这种关联可能很难表征,而且很难估计。但通过假设 p p p 个协变量在每个类内都是独立的,我们完全消除了担心 p p p 个预测变量之间存在关联的需要,因为我们已经简单地假设了预测变量之间不存在关联
从本质上讲,朴素贝叶斯假设引入了一定的偏差,但减少了方差,由偏差-方差权衡,使得分类结果在实际中表现良好。
一旦我们做出了朴素贝叶斯假设,我们可以将( 4.29 )代入( 4.15 )得到后验概率的表达式:
Pr ( Y = k ∣ X = x ) = π k × f k 1 ( x 1 ) × f k 2 ( x 2 ) × ⋯ × f k p ( x p ) ∑ l = 1 K π l × f l 1 ( x 1 ) × f l 2 ( x 2 ) × ⋯ × f p ( x p ) \Pr(Y=k|X=x)=\dfrac{\pi_k\times f_{k1}(x_1)\times f_{k2}(x_2)\times\cdots\times f_{kp}(x_p)}{\sum_{l=1}^K\pi_l\times f_{l1}(x_1)\times f_{l2}(x_2)\times\cdots\times f_p(x_p)} Pr(Y=k∣X=x)=∑l=1Kπl×fl1(x1)×fl2(x2)×⋯×fp(xp)πk×fk1(x1)×fk2(x2)×⋯×fkp(xp)
利用训练数据 x 1 j , … , x n j x_{1j},\dots,x_{nj} x1j,…,xnj 估计一维密度函数 f k j f_{kj} fkj,我们有几个选择:
如果 X j Xj Xj 是定量的,那么我们可以假设 X j ∣ Y = k ∼ N ( μ j k , σ j k 2 ) X_j | Y = k\sim N( \mu_{jk} ,\sigma^2_{j k}) Xj∣Y=k∼N(μjk,σjk2)。也就是说,我们假设在每个类中,第 j j j 个预测变量来自一个(单变量)正态分布。虽然这听起来有点像QDA,但有一个关键的区别,在这里我们假设预测变量是独立的;这相当于QDA增加了一个假设,即类别特异性协方差矩阵是对角的。
如果 X j X_j Xj 是定量的,那么另一种选择是对 f k j f_{kj} fkj 使用非参数估计。一个非常简单的方法是对每个类中第 j j j 个预测器的观测值做直方图。然后我们可以估计 f k j ( x j ) f_{kj} ( xj ) fkj(xj) 为第 k k k 类中与 x j x_j xj 属于同一直方图的训练观测值的分数。或者,我们可以使用核密度估计,它本质上是直方图的平滑版本。
如果 X j X_j Xj 是定性的,那么我们可以简单地统计每个类对应的第 j j j 个预测器的训练观测值的比例。例如,假设 X j ∈ { 1 , 2 , 3 } X_j\in\{1,2,3\} Xj∈{1,2,3},第 k k k 类共有100个观测值。假设第 j j j 个预测因子在32、55和13个观测值中分别取值为1、2和3。那么我们可以估计 f k j f_{kj} fkj 为
f ^ k j ( x j ) = { 0.32 if x j = 1 0.55 if x j = 2 0.13 if x j = 3. \hat{f}_{kj}(x_j)=\begin{cases}0.32&\text{if}x_j=1\\ 0.55&\text{if}x_j=2\\ 0.13&\text{if}x_j=3.\end{cases} f^kj(xj)=⎩ ⎨ ⎧0.320.550.13ifxj=1ifxj=2ifxj=3.
我们期望在p较大或n较小的情况下,使用朴素贝叶斯相对于LDA或QDA有更大的收益,因此减小方差非常重要。
我们现在对LDA、QDA、朴素贝叶斯和逻辑回归进行分析(或数学)比较。我们在一个包含 K K K 个类的集合中考虑这些方法,这样我们就可以将一个观测分配给最大化 P r ( Y = k ∣ X = x ) Pr( Y = k | X = x) Pr(Y=k∣X=x) 的类。
首先,对于LDA,我们可以利用贝叶斯定理,并假设每个类内的预测变量来自一个具有特异类均值和共享协方差矩阵的多元正态密度( 4.23 ),以表明
log ( Pr ( Y = k ∣ X = x ) Pr ( Y = K ∣ X = x ) ) = log ( π k f k ( x ) π K f K ( x ) ) = log ( π k exp ( − 1 2 ( x − μ k ) T Σ − 1 ( x − μ k ) ) π K exp ( − 1 2 ( x − μ K ) T Σ − 1 ( x − μ K ) ) ) = log ( π k π K ) − 1 2 ( x − μ k ) T Σ − 1 ( x − μ k ) + 1 2 ( x − μ K ) T Σ − 1 ( x − μ K ) = log ( π k π K ) − 1 2 ( μ k + μ K ) T Σ − 1 ( μ k − μ K ) + x T Σ − 1 ( μ k − μ K ) = a k + ∑ j = 1 p b k j x j \begin{aligned}\log \left(\frac{\operatorname{Pr}(Y=k \mid X=x)}{\operatorname{Pr}(Y=K \mid X=x)}\right)= & \log \left(\frac{\pi_{k} f_{k}(x)}{\pi_{K} f_{K}(x)}\right) \\= & \log \left(\frac{\pi_{k} \exp \left(-\frac{1}{2}\left(x-\mu_{k}\right)^{T} \boldsymbol{\Sigma}^{-1}\left(x-\mu_{k}\right)\right)}{\pi_{K} \exp \left(-\frac{1}{2}\left(x-\mu_{K}\right)^{T} \boldsymbol{\Sigma}^{-1}\left(x-\mu_{K}\right)\right)}\right) \\= & \log \left(\frac{\pi_{k}}{\pi_{K}}\right)-\frac{1}{2}\left(x-\mu_{k}\right)^{T} \boldsymbol{\Sigma}^{-1}\left(x-\mu_{k}\right) \\& +\frac{1}{2}\left(x-\mu_{K}\right)^{T} \boldsymbol{\Sigma}^{-1}\left(x-\mu_{K}\right) \\= & \log \left(\frac{\pi_{k}}{\pi_{K}}\right)-\frac{1}{2}\left(\mu_{k}+\mu_{K}\right)^{T} \boldsymbol{\Sigma}^{-1}\left(\mu_{k}-\mu_{K}\right) \\& +x^{T} \boldsymbol{\Sigma}^{-1}\left(\mu_{k}-\mu_{K}\right) \\= & a_{k}+\sum_{j=1}^{p} b_{k j} x_{j}\end{aligned} log(Pr(Y=K∣X=x)Pr(Y=k∣X=x))=====log(πKfK(x)πkfk(x))log πKexp(−21(x−μK)TΣ−1(x−μK))πkexp(−21(x−μk)TΣ−1(x−μk)) log(πKπk)−21(x−μk)TΣ−1(x−μk)+21(x−μK)TΣ−1(x−μK)log(πKπk)−21(μk+μK)TΣ−1(μk−μK)+xTΣ−1(μk−μK)ak+j=1∑pbkjxj a k = log ( π k π K ) − 1 2 ( μ k + μ K ) T Σ − 1 ( μ k − μ K ) a_k=\log\left(\frac{\pi_k}{\pi_K}\right)-\frac{1}{2}(\mu_k+\mu_K)^T\Sigma^{-1}(\mu_k-\mu_K) ak=log(πKπk)−21(μk+μK)TΣ−1(μk−μK), b k j b_{kj} bkj 是 Σ − 1 ( μ k − μ K ) \Sigma^{-1}(\mu_k-\mu_K) Σ−1(μk−μK) 的第 j j j 个分量,因此,LDA与逻辑回归一样,假设后验概率的对数优势是关于 x x x 的线性
通过类似计算,QDA可表明为
log ( Pr ( Y = k ∣ X = x ) Pr ( Y = K ∣ X = x ) ) = a k + ∑ j = 1 p b k j x j + ∑ j = 1 p ∑ l = 1 p c k j x j x l \log\left(\dfrac{\Pr(Y=k|X=x)}{\Pr(Y=K|X=x)}\right)=a_k+\sum_{j=1}^p b_{kj}x_j+\sum_{j=1}^p\sum_{l=1}^p c_{kj}x_jx_l log(Pr(Y=K∣X=x)Pr(Y=k∣X=x))=ak+∑j=1pbkjxj+∑j=1p∑l=1pckjxjxl
a k a_k ak, b k j b_{kj} bkj 和 c k j l c_{kjl} ckjl 是 π k , π K , μ k , μ K , Σ k , Σ K \pi_k,\pi_K,\mu_k,\mu_K,\Sigma_k,\Sigma_K πk,πK,μk,μK,Σk,ΣK 的函数。再次,顾名思义,QDA假设后验概率的对数优势比关于 x x x 是二次的。
在朴素贝叶斯设定中,对于 j = 1 , … , p j=1,\dots,p j=1,…,p , f k ( x ) f_k(x) fk(x) 建模为 p 个一维函数的乘积 f k j ( x j ) f_{kj}(x_j) fkj(xj),因此
log ( Pr ( Y = k ∣ X = x ) Pr ( Y = K ∣ X = x ) ) = log ( π k f k ( x ) π K f K ( x ) ) = log ( π k ∏ j = 1 p f k j ( x j ) π K ∏ j = 1 p f K j ( x j ) ) = log ( π k π K ) + ∑ j = 1 p log ( f k j ( x j ) f K j ( x j ) ) = a k + ∑ j = 1 p g k j ( x j ) \begin{aligned}\log \left(\frac{\operatorname{Pr}(Y=k \mid X=x)}{\operatorname{Pr}(Y=K \mid X=x)}\right) & =\log \left(\frac{\pi_{k} f_{k}(x)}{\pi_{K} f_{K}(x)}\right) \\& =\log \left(\frac{\pi_{k} \prod_{j=1}^{p} f_{k j}\left(x_{j}\right)}{\pi_{K} \prod_{j=1}^{p} f_{K j}\left(x_{j}\right)}\right) \\& =\log \left(\frac{\pi_{k}}{\pi_{K}}\right)+\sum_{j=1}^{p} \log \left(\frac{f_{k j}\left(x_{j}\right)}{f_{K j}\left(x_{j}\right)}\right) \\& =a_{k}+\sum_{j=1}^{p} g_{k j}\left(x_{j}\right)\end{aligned} log(Pr(Y=K∣X=x)Pr(Y=k∣X=x))=log(πKfK(x)πkfk(x))=log(πK∏j=1pfKj(xj)πk∏j=1pfkj(xj))=log(πKπk)+j=1∑plog(fKj(xj)fkj(xj))=ak+j=1∑pgkj(xj)
a k = l o g ( π k π K ) a_k=log(\frac{\pi_k}{\pi_K}) ak=log(πKπk) , g k j ( x j ) = l o g ( f k j ( x j ) f K j ( x j ) g_{kj}(x_j)=log(\frac{f_{kj}(x_j)}{f_{Kj}(x_j)} gkj(xj)=log(fKj(xj)fkj(xj)
通过对上述三式的检验,可以得到关于LDA、QDA和朴素贝叶斯的观察结果:
这些方法中没有一种方法能统一地支配其他方法。在任何设定中,方法的选择将取决于每个 K K K 类中预测变量的真实分布,以及其他考虑因素,如 n n n 和 p p p 的值。后者与偏差-方差的权衡有关。
逻辑回归是如何与这个故事联系在一起的?回想一下( 4.12 )式,采用多项式逻辑回归形式:
log ( Pr ( Y = k ∣ X = x ) Pr ( Y = K ∣ X = x ) ) = β k 0 + ∑ j = 1 p β k j x j \log\left(\dfrac{\Pr(Y=k|X=x)}{\Pr(Y=K|X=x)}\right)=\beta_{k0}+\sum_{j=1}^p\beta_{kj}x_j log(Pr(Y=K∣X=x)Pr(Y=k∣X=x))=βk0+∑j=1pβkjxj
这与LDA ( 4.32 )的线性形式相同:在两种情况下, l o g ( P r ( Y = k ∣ X = x ) P r ( Y = K ∣ X = x ) ) log ( \frac{Pr ( Y = k | X = x )}{ Pr ( Y = K | X = x )} ) log(Pr(Y=K∣X=x)Pr(Y=k∣X=x)) 都是预测变量的线性函数。在LDA中,这个线性函数中的系数是 π k , π K , μ k , μ K \pi_k,\pi_K,\mu_k,\mu_K πk,πK,μk,μK 的估计值的函数,并且通过假设 X 1 , … , X p X_1,\dots,X_p X1,…,Xp 在每个类内服从正态分布得到 Σ \Sigma Σ 。相比之下,在逻辑回归中,选择系数是为了最大化似然函数( 4.5 )。因此,当正态性假设(近似)成立时,我们预期LDA优于逻辑回归,而当正态性假设不成立时,我们预期逻辑回归表现更好。
回想 KNN (K-nearest neighbors)分类方法,为了对一个观测 X = x X = x X=x 进行预测,找出与 x x x 最接近的训练观测值。然后将 X X X 分配给这些观测值的多个所属的类。因此,KNN是一种完全非参数方法:不对决策边界的形状做任何假设。我们对KNN做了以下观察:
由于KNN是完全非参数的,当决策边界高度非线性时,我们可以预期这种方法相较LDA和逻辑回归更有优势,只要 n n n 非常大, p p p 很小
为了提供准确的分类,相对于预测变量的数目,KNN 需要大量的观测值,即 n n n 远大于 p p p。这与 KNN 是非参数的事实有关,在产生大量方差的同时,倾向于减小偏差
在决策边界为非线性但 n n n 仅适中,或 p p p 不太小的情况下,QDA可能优于KNN。这是因为QDA在利用参数形式优势的同时可以提供非线性的决策边界,这意味着相对于KNN,它可以用更小的样本容量进行准确的分类。
与逻辑回归不同,KNN 并没有告诉我们哪些预测因子是重要的,我们没有得到如下的系数表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9gB3n8D4-1675247535086)(Classification%20de1ade1befa04bc79200cd723ad36f2f/Untitled%202.png)]
书中例子说明,任何一种方法在任何情况下都不会占优势。当真实的决策边界是线性的,那么LDA和逻辑回归方法将倾向于表现良好。当边界为中度非线性时,QDA或朴素贝叶斯可能会给出更好的结果。最后,对于复杂得多的决策边界,KNN等非参数方法可能更有优势。但非参数方法的平滑程度必须谨慎选择。在下一章中,我们考察了选择正确的光滑度水平的一些方法,以及一般而言选择最佳的整体方法。
当响应变量即不是定量的,也不是定性的,之前的方法便都不适用了。
如果在该数据集上使用线性回归,会有一些问题:
log ( Y ) = ∑ j = 1 p X j β j + ϵ \log(Y)=\sum\limits_{j=1}^{p}X_j\beta_j+\epsilon log(Y)=j=1∑pXjβj+ϵda
但如此会导致参数解释性的降低,且对数在相应为 0 的情况下无法转换
泊松分布(Poisson distribution)假设随机变量Y取非负整数值,即 Y ∈ { 0 , 1 , 2 , … } Y∈\{ 0,1,2,\dots \} Y∈{0,1,2,…} ,若 Y Y Y 服从泊松分布,则
Pr ( Y = k ) = e − λ λ k k ! for k = 0 , 1 , 2 , … . \Pr(Y=k)=\dfrac{e^{-\lambda}\lambda^k}{k!}\text{for}\space k=0,1,2,\ldots. Pr(Y=k)=k!e−λλkfor k=0,1,2,….
λ > 0 \lambda>0 λ>0 是 Y Y Y 的期望值 E ( Y ) E(Y) E(Y) ,也等于 Y Y Y 的方差, λ = E ( Y ) = V a r ( Y ) \lambda=E(Y)=Var(Y) λ=E(Y)=Var(Y)
这说明,如果 Y Y Y 服从泊松分布,则 Y Y Y 的均值越大,方差也越大。
通常采用泊松分布对计数进行建模;这是一个自然选择,原因有很多,包括计数像泊松分布一样取非负整数值。
我们考虑建立均值随协变量变化而变化的泊松分布。考虑如下模型 λ = E ( Y ) \lambda=E(Y) λ=E(Y) ,记为 λ ( X 1 , … , X p ) \lambda(X_1,\dots,X_p) λ(X1,…,Xp) 来强调 λ \lambda λ 是协变量 X 1 , … , X p X_1,\dots,X_p X1,…,Xp 的函数:
log ( λ ( X 1 , … , X p ) ) = β 0 + β 1 X 1 + ⋯ + β p X p \log(\lambda(X_1,\ldots,X_p))=\beta_0+\beta_1X_1+\cdots+\beta_pX_p log(λ(X1,…,Xp))=β0+β1X1+⋯+βpXp 或等价为:
λ ( X 1 , … , X p ) = e β 0 + β 1 X 1 + ⋯ + β p X p \lambda(X_1,\ldots,X_p)=e^{\beta_0+\beta_1X_1+\cdots+\beta_pX_p} λ(X1,…,Xp)=eβ0+β1X1+⋯+βpXp
β 0 , β 1 , … , β p \beta_0,\beta_1,\dots,\beta_p β0,β1,…,βp 为待估参数
为了估计系数 β 0 , β 1 , … , β p \beta_0,\beta_1,\dots,\beta_p β0,β1,…,βp ,我们采用与逻辑回归相同的最大似然法。具体地,给定泊松回归模型中的 n n n 个独立观测值,似然函数为:
ℓ ( β 0 , β 1 , … , β p ) = ∏ i = 1 n e − λ ( x i ) λ ( x i ) y i y i ! \ell(\beta_0,\beta_1,\ldots,\beta_p)=\prod\limits_{i=1}^n\dfrac{e^{-\lambda(x_i)}\lambda(x_i)^{y_i}}{y_i!} ℓ(β0,β1,…,βp)=i=1∏nyi!e−λ(xi)λ(xi)yi
其中 λ ( x i ) = e β 0 + β 1 x i 1 + ⋯ + β p x i p \lambda(x_i)=e^{\beta_0+\beta_1x_{i1}+\cdots+\beta_px_{ip}} λ(xi)=eβ0+β1xi1+⋯+βpxip
泊松回归模型与线性回归模型的一些重要区别如下:
我们现在讨论了三类回归模型:线性、Logistic和Poisson。这些方法具有一些共同的特点:
每种方法都使用了预测变量 X 1 , … , X p X_1,\dots,X_p X1,…,Xp 来预测响应变量 Y Y Y ,我们假设, Y Y Y 属于某个确定的分布族。对于线性回归,我们通常假设Y服从高斯或正态分布。对于逻辑回归,假设Y服从伯努利分布。最后,对于泊松回归,我们假设Y服从泊松分布。
每种方法都将Y的均值建模为预测变量的函数
通过链接函数 η \eta η 对 E ( ∣ Y X 1 , … , X p ) E(|YX_1,\dots,X_p) E(∣YX1,…,Xp) 转换,转换后的均值是预测变量的线性函数
η ( E ( Y ∣ X 1 , … , X p ) ) = β 0 + β 1 X 1 + ⋯ + β p X p \eta(\operatorname{E}(Y|X_1,\ldots,X_p))=\beta_0+\beta_1X_1+\cdots+\beta_pX_p η(E(Y∣X1,…,Xp))=β0+β1X1+⋯+βpXp
线性、Logistic和 Poisson 回归的连接函数分别为 η ( μ ) = μ \eta(\mu)=\mu η(μ)=μ, η ( μ ) = l o g ( μ / ( 1 − μ ) ) \eta(\mu)=log(\mu/(1-\mu)) η(μ)=log(μ/(1−μ)), η ( μ ) = l o g ( μ ) \eta(\mu)=log(\mu) η(μ)=log(μ)
高斯、伯努利和泊松分布都是更广泛的一类分布的成员,称为指数族。该族的其他著名成员是指数分布、Gamma分布和负二项分布。一般来说,我们可以通过将响应 Y Y Y 建模为来自指数族中特定成员的回归,然后对响应的均值进行变换,使得变换后的均值通过( 4.42 )成为预测变量的线性函数。任何遵循这个非常普遍的公式的回归方法被称为广义线性模型( GLM )。因此,线性回归、逻辑回归和泊松回归是广义线性模型的三个例子。这里没有涉及的其他例子包括Gamma回归和负二项回归。