《机器学习》-周志华 第三章:线性模型 读书笔记一

文章目录

        • 3.1 线性回归
          • 3.1.2 只有一个属性时
            • 平方损失是凸函数的证明
          • 3.1.2 多元线性回归
            • 当$X^TX$是正定矩阵时平方损失是凸函数的证明
            • $X^TX$不满秩时
        • 3.2 广义线性模型
          • 3.2.1指数分布族
          • 3.2.2广义线性模型的三条假设
        • 3.3 对数几率回归(logistic regression)
          • 3.3.1用logit变换解释模型
          • 3.3.2用广义线性模型解释模型
          • 3.3.3 梯度下降求解
          • 3.3.4 牛顿法求解

  • 数据集 D = { ( x 1 , y 1 ) , ( x 1 , y 2 ) , ⋯   , ( x m , y m ) D=\{(x_1,y_1),(x_1,y_2),\cdots,(x_m,y_m) D={(x1,y1),(x1,y2),,(xm,ym),其中 x i = ( x i ( 1 ) , x i ( 2 ) , ⋯   , x i ( d ) ) , y i ∈ R x_i=(x_i^{(1)},x_i^{(2)},\cdots,x_i^{(d)}),y_i \in R xi=(xi(1),xi(2),,xi(d)),yiR。 线性模型基本形式
    f ( x ) = ω 1 x 1 + ω 2 x 2 + ⋯ + ω d x d + b f(x) = \omega_1x_1+\omega_2x_2+\cdots +\omega_dx_d +b f(x)=ω1x1+ω2x2++ωdxd+b
  • 矩阵表示:
    x i = [ x i ( 1 ) x i ( 2 ) ⋮ x i ( d ) 1 ] 或 x i = [ x i ( 1 ) x i ( 2 ) ⋮ x i ( d ) ] x_i=\begin{bmatrix}x_i^{(1)} \\x_i^{(2)} \\ \vdots \\x_i^{(d)} \\1\end{bmatrix} \text{或} x_i=\begin{bmatrix}x_i^{(1)} \\x_i^{(2)} \\ \vdots \\x_i^{(d)} \end{bmatrix} xi=xi(1)xi(2)xi(d)1xi=xi(1)xi(2)xi(d)
    维数为 k × 1 k \times 1 k×1,其中 k = d + 1 k=d+1 k=d+1;或 d × 1 d\times 1 d×1
    X = [ x 1 T x 2 T ⋮ x m T ] 或 X = [ x 1 T 1 x 2 T 1 ⋮ ⋮ x m T 1 ] X = \begin{bmatrix}x_1^T \\x_2^T \\ \vdots \\ x_m^T\end{bmatrix} \text{或} X = \begin{bmatrix}x_1^T & 1\\x_2^T & 1\\ \vdots &\vdots \\ x_m^T & 1\end{bmatrix} X=x1Tx2TxmTX=x1Tx2TxmT111
    维数为 m × k m\times k m×k m × d m\times d m×d
    Y = [ y 1 y 2 ⋮ y m ] Y = \begin{bmatrix}y_1 \\y_2 \\ \vdots \\ y_m\end{bmatrix} Y=y1y2ym
    维数为 m × 1 m\times 1 m×1
    ω = [ ω 1 ω 2 ⋮ ω d b ] 或 ω = [ ω 1 ω 2 ⋮ ω d ] \omega = \begin{bmatrix}\omega_1 \\\omega_2 \\ \vdots \\ \omega_d \\b \end{bmatrix} \text{或}\omega = \begin{bmatrix}\omega_1 \\\omega_2 \\ \vdots \\ \omega_d \end{bmatrix} ω=ω1ω2ωdbω=ω1ω2ωd
    维数为 k × 1 k \times 1 k×1
    线性模型: y ^ = ω T x \hat y=\omega^Tx y^=ωTx y ^ = ω T x + b \hat y=\omega^Tx+b y^=ωTx+b
  • 许多功能更强大的非线性模型可以在线性模型的基础上引入层级结构或高维映射而得
  • ω \omega ω直观表达了个属性在预测中的重要性,因此线性模型有很好的可解释性。
  • 对属性的处理:
    • 如果属性是离散属性,且属性值之间存在序列关系,可以通过连续化转为连续值
    • 如果属性间不存在序关系,如果存在k个属性值,通过onehot编码转化为k维向量

3.1 线性回归

3.1.2 只有一个属性时

线性回归: f ( x ) = ω x + b f(x)=\omega x+b f(x)=ωx+b
平方损失: E ( ω , b ) = ∑ ( y i − ω x i − b ) 2 E_{(\omega,b)}=\sum(y_i -\omega x_i-b)^2 E(ω,b)=(yiωxib)2

平方损失是凸函数的证明

由于书上直接写,由于 E ( ω , b ) E_{(\omega,b)} E(ω,b)是关于 ω , b \omega,b ω,b的凸函数,因此导数为零时,得到最优解。因此这里证明一下 E ( ω , b ) E_{(\omega,b)} E(ω,b)为什么是凸函数。

二元函数判断凹凸性:
f ( x , y ) f(x,y) f(x,y)在区域D上具有二阶连续偏导数,记 A = f x x ′ ′ ( x , y ) , B = f x y ′ ′ ( x , y ) , C = f y y ′ ′ ( x , y ) A=f^{\prime \prime}_{xx}(x,y),B=f^{\prime \prime}_{xy}(x,y),C=f^{\prime \prime}_{yy}(x,y) A=fxx(x,y),B=fxy(x,y),C=fyy(x,y),则
(1) 在D上恒有 A > 0 , 且 A C − B 2 ⩾ 0 A>0,\text{且}AC-B^2 \geqslant 0 A>0,ACB20时, f ( x , y ) f(x,y) f(x,y)在区域D上是凸函数;
(2) 在D上恒有 A < 0 , 且 A C − B 2 ⩾ 0 A<0,\text{且}AC-B^2 \geqslant 0 A<0,ACB20时, f ( x , y ) f(x,y) f(x,y)在区域D上是凹函数;
二元凹凸函数求最大值:
f ( x , y ) f(x,y) f(x,y)在开区域D内有连续偏导数的凸(或凹)函数, ( x 0 , y 0 ) ∈ D , 且 f x ′ ( x 0 , y 0 ) = 0 , f y ′ ( x 0 , y 0 ) = 0 (x_0,y_0) \in D,\text{且}f^{\prime}_x(x_0,y_0)=0,f^{\prime}_y(x_0,y_0)=0 (x0,y0)D,fx(x0,y0)=0,fy(x0,y0)=0,则 f ( x 0 , y 0 ) f(x_0,y_0) f(x0,y0)必是 f ( x , y ) f(x,y) f(x,y)在D内的最小值(或最大值)

对于损失函数 E ( ω , b ) E_{(\omega,b)} E(ω,b):
∂ E ∂ ω = − ∑ 2 ( y i − ω x i − b ) x i ∂ E ∂ b = − ∑ 2 ( y i − ω x i − b ) A = ∂ 2 E ∂ 2 ω = 2 ∑ x i 2 B = ∂ 2 E ∂ ω ∂ b = 2 ∑ x i C = ∂ 2 E ∂ 2 b = 2 m A C − B 2 = 4 m ∑ x i 2 − 4 ( ∑ x i ) 2 = 4 m ∑ x i 2 − 4 m [ 1 m ∑ x i ∑ x i ] = 4 m ∑ x i 2 − 4 m [ x ‾ ∑ x i ] = 4 m ∑ x i 2 − 4 m [ 2 ∑ x ‾ x i ] + 4 m x ‾ ∑ x i = 4 m ∑ x i 2 − 4 m [ 2 ∑ x ‾ x i ] + 4 m ∑ x ‾ 2 = 4 m ∑ [ x i 2 − 2 x ‾ x i + x ‾ 2 ] = 4 m ∑ ( x i − x ‾ ) 2 ⩾ 0 \begin{aligned} \frac{\partial E}{\partial \omega} &= -\sum 2(y_i -\omega x_i -b)x_i \\ \frac{\partial E}{\partial b} &= -\sum 2(y_i -\omega x_i -b)\\ A&=\frac{\partial^2 E}{\partial^2 \omega} =2\sum x_i^2 \\ B&=\frac{\partial ^2 E}{\partial \omega \partial b} = 2\sum x_i \\ C&=\frac{\partial^2 E}{\partial^2 b} = 2m \\ AC-B^2 &= 4m\sum x_i^2 -4(\sum x_i)^2 \\ &=4m\sum x_i^2 - 4m[\frac{1}{m}\sum x_i\sum x_i]\\ &= 4m\sum x_i^2 - 4m[\overline{x}\sum x_i] \\ &=4m\sum x_i^2 - 4m[2\sum\overline{x}x_i] + 4m\overline x\sum x_i\\ &= 4m\sum x_i^2 - 4m[2\sum\overline{x}x_i] + 4m \sum \overline x^2 \\ &= 4m\sum [x_i^2 - 2\overline{x}x_i + \overline x^2] = 4m \sum (x_i -\overline x)^2 \geqslant 0 \end{aligned} ωEbEABCACB2=2(yiωxib)xi=2(yiωxib)=2ω2E=2xi2=ωb2E=2xi=2b2E=2m=4mxi24(xi)2=4mxi24m[m1xixi]=4mxi24m[xxi]=4mxi24m[2xxi]+4mxxi=4mxi24m[2xxi]+4mx2=4m[xi22xxi+x2]=4m(xix)20
因此损失函数 E ( ω , b ) E_{(\omega,b)} E(ω,b)是凸函数,一阶导数为零时为最优解。

3.1.2 多元线性回归

线性回归: y ^ = ω T x \hat y=\omega^T x y^=ωTx
平方损失: E ( ω , b ) = ( Y m × 1 − X m × k ω k × 1 ) 1 × m T ( Y − X ω ) m × 1 E_{(\omega,b)}=(Y_{m\times1}-X_{m\times k}\omega_{k\times 1})_{1\times m}^T(Y-X\omega)_{m\times 1} E(ω,b)=(Ym×1Xm×kωk×1)1×mT(YXω)m×1;

X T X X^TX XTX是正定矩阵时平方损失是凸函数的证明

由于书上直接写,当 X T X X^TX XTX是满秩矩阵或征订矩阵时,得到最优解,这其实是 E ( ω , b ) E_{(\omega,b)} E(ω,b)是关于 ω , b \omega,b ω,b的凸函数的条件。因此导数为零时,得到最优解。因此这里证明一下 E ( ω , b ) E_{(\omega,b)} E(ω,b)为什么是凸函数。

  • 对向量一阶求导

梯度定义:设n元函数 f ( x ) f(x) f(x)对自变量 x = ( x 1 , x 2 , ⋯   , x n ) T x=(x_1,x_2,\cdots,x_n)^T x=(x1,x2,,xn)T的各分量 x i x_i xi的偏导数 ∂ f ( x ) ∂ x i \frac{\partial f(x)}{\partial x_i} xif(x)都存在,则称函数 f ( x ) f(x) f(x)在x处一阶可导,并称向量
∇ f ( x ) = [ ∂ f ( x ) ∂ x 1 ∂ f ( x ) ∂ x 2 ⋮ ∂ f ( x ) ∂ x n ] \nabla f(x) = \begin{bmatrix} \frac{\partial f(x)}{\partial x_1} \\ \frac{\partial f(x)}{\partial x_2} \\ \vdots \\ \frac{\partial f(x)}{\partial x_n} \end{bmatrix} f(x)=x1f(x)x2f(x)xnf(x)
为函数 f ( x ) f(x) f(x)在x处的一阶导数或梯度,记为 ∇ f ( x ) \nabla f(x) f(x)

  • 二阶求导
    Hessian矩阵:设n元函数 f ( x ) f(x) f(x)对自变量 x = ( x 1 , x 2 , ⋯   , x n ) T x=(x_1,x_2,\cdots,x_n)^T x=(x1,x2,,xn)T的各分量 x i x_i xi的二阶偏导数 ∂ 2 f ( x ) ∂ x i ∂ x j \frac{\partial^2 f(x)}{\partial x_i \partial x_j} xixj2f(x)都存在,则称函数 f ( x ) f(x) f(x)在x处二阶可导,并称矩阵
    ∇ 2 f ( x ) = [ ∂ 2 f ( x ) ∂ x 1 2 ∂ 2 f ( x ) ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ( x ) ∂ x 1 ∂ x n ∂ 2 f ( x ) ∂ x 2 ∂ x 1 ∂ 2 f ( x ) ∂ x 2 2 ⋯ ∂ 2 f ( x ) ∂ x 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ( x ) ∂ x n ∂ x 1 ∂ 2 f ( x ) ∂ x n ∂ x 2 ⋯ ∂ 2 f ( x ) ∂ x n 2 ] \nabla^2 f(x) = \begin{bmatrix} \frac{\partial^2 f(x)}{\partial x_1^2} & \frac{\partial^2 f(x)}{\partial x_1 \partial x_2} & \cdots & \frac{\partial^2 f(x)}{\partial x_1 \partial x_n}\\ \frac{\partial^2 f(x)}{\partial x_2 \partial x_1} & \frac{\partial^2 f(x)}{\partial x_2^2 } & \cdots & \frac{\partial^2 f(x)}{\partial x_2 \partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial^2 f(x)}{\partial x_n \partial x_1} & \frac{\partial^2 f(x)}{\partial x_n \partial x_2} & \cdots & \frac{\partial^2 f(x)}{\partial x_n^2} \end{bmatrix} 2f(x)=x122f(x)x2x12f(x)xnx12f(x)x1x22f(x)x222f(x)xnx22f(x)x1xn2f(x)x2xn2f(x)xn22f(x)
    f ( x ) f(x) f(x)在x处的二阶导数hessian矩阵,记为 ∇ 2 f ( x ) \nabla^2 f(x) 2f(x),若 f ( x ) f(x) f(x)对x各变元的所有二阶偏导数都连续,则 ∂ 2 f ( x ) ∂ x i ∂ x j = ∂ 2 f ( x ) ∂ x j ∂ x i \frac{\partial ^2 f(x)}{\partial x_i \partial x_j} = \frac{\partial ^2 f(x)}{\partial x_j \partial x_i} xixj2f(x)=xjxi2f(x),此时 ∇ 2 f ( x ) \nabla^2 f(x) 2f(x)为对称矩阵
  • 多元实值函数凹凸性判定定理:

D ⊂ R n D \subset R^n DRn是非空开凸集,函数f将n维数据映射到1维 f : D ⊂ R n → R f:D \subset R^n \rightarrow R f:DRnR,且 f ( x ) f(x) f(x)在D上连续可微,如果 f ( x ) f(x) f(x)的hessian矩阵 ∇ 2 f ( x ) \nabla^2 f(x) 2f(x)在D上是正定的,则 f ( x ) f(x) f(x)是D上的严格凸函数

  • 多元凸函数最优解:

f : R n → R f:R^n \rightarrow R f:RnR是凸函数,且 f ( x ) f(x) f(x)一阶连续可微,那么 ∇ f ( x ) = 0 \nabla f(x) =0 f(x)=0求解最优解。

  • 几个矩阵微分公式
    ∂ x T a ∂ x = ∂ a T x ∂ x = a \frac{\partial x^T a}{\partial x} = \frac{\partial a^T x}{\partial x} = a xxTa=xaTx=a
    ∂ x T B x ∂ x = ( B + B T ) x \frac{\partial x^T B x}{\partial x} = (B + B^T)x xxTBx=(B+BT)x

对于损失函数 E ( ω , b ) = ( Y − X ω ) T ( Y − X ω ) E_{(\omega,b)}=(Y-X\omega)^T(Y-X\omega) E(ω,b)=(YXω)T(YXω)
E = ( Y T − w T X T ) ( Y − X ω ) = Y T Y − Y T X ω − ω T X T Y + ω T X T X ω ∇ E = − X T Y − X T Y + X T X ω + X T X ω = − 2 X T Y + 2 X T X ω ∇ 2 E = 2 X T X \begin{aligned} E &= (Y^T -w^TX^T)(Y-X\omega) \\ &= Y^TY -Y^TX\omega -\omega^TX^TY + \omega^TX^TX\omega \\ \nabla E &=-X^TY-X^TY + X^TX\omega + X^TX\omega \\ &=-2X^TY +2X^TX\omega\\ \nabla^2E &= 2X^TX \end{aligned} EE2E=(YTwTXT)(YXω)=YTYYTXωωTXTY+ωTXTXω=XTYXTY+XTXω+XTXω=2XTY+2XTXω=2XTX
当hessian矩阵 X T X X^TX XTX是正定矩阵时,E是凸函数,因此用一阶导数为零求解最优解。即:
∇ E = − 2 X T Y + 2 X T X ω = 0 \nabla E = -2X^TY +2X^TX\omega =0 E=2XTY+2XTXω=0
ω = ( X T X ) − 1 X T Y \omega = (X^TX)^{-1}X^TY ω=(XTX)1XTY

X T X X^TX XTX不满秩时

当变量的特征数目多于样本个数时, X T X X^TX XTX不满秩,这是可以解出多个 ω \omega ω,都能使平方损失函数最小化。选择哪个解作为输出,将由学习算法的归纳偏好决定,最常见做法是引入正则化项。

3.2 广义线性模型

3.2.1指数分布族

指数族(exponential family)分布是一类分布的总称,该类分布的分布律/概率密度:
p ( y ; η ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) p(y;\eta) = b(y)exp(\eta^TT(y)-a(\eta)) p(y;η)=b(y)exp(ηTT(y)a(η))

  • 其中 η \eta η成为该分布的自然参数,大多是实数;
  • T ( y ) T(y) T(y)是充分统计量,大多数 T ( y ) = y T(y)=y T(y)=y
  • a ( η ) a(\eta) a(η)是配分函数,保证所有可能值的概率之和为1
  • b ( y ) b(y) b(y)是关于随机变量y的函数。
  • 常见的伯努利分布和正态分布都属于指数分布族

证明伯努利分布 B e r n u l i ( ϕ ) : p ( y = 1 ; ϕ ) = ϕ Bernuli(\phi): p(y=1;\phi) = \phi Bernuli(ϕ):p(y=1;ϕ)=ϕ是指数分布族:
p ( y ) = ϕ y ( 1 − ϕ ) ( 1 − y ) = e x p ( l n ( ϕ y ( 1 − ϕ ) ( 1 − y ) ) ) = e x p ( y ln ⁡ ϕ 1 − ϕ + ln ⁡ ( 1 − ϕ ) ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) \begin{aligned} p(y) &= \phi^y(1-\phi)^{(1-y)} \\ &= exp(ln(\phi^y(1-\phi)^{(1-y)})) \\ &= exp(y\ln \frac{\phi}{1-\phi} + \ln(1-\phi)) \\ &= b(y)exp(\eta^TT(y)-a(\eta)) \end{aligned} p(y)=ϕy(1ϕ)(1y)=exp(ln(ϕy(1ϕ)(1y)))=exp(yln1ϕϕ+ln(1ϕ))=b(y)exp(ηTT(y)a(η))
得到
b ( y ) = 1 T ( y ) = y η = ln ⁡ ϕ 1 − ϕ a ( η ) = − ln ⁡ ( 1 − ϕ ) \begin{aligned} b(y)&=1\\ T(y)&=y \\ \eta &= \ln \frac{\phi}{1-\phi} \\ a(\eta) &= -\ln(1-\phi) \end{aligned} b(y)T(y)ηa(η)=1=y=ln1ϕϕ=ln(1ϕ)

证明Gaussian分布 N ( μ , σ 2 ) , σ = 1 N(\mu,\sigma^2),\sigma = 1 N(μ,σ2),σ=1是指数分布:
p = 1 2 π e x p ( − 1 2 ( y − μ ) 2 ) = 1 2 π e x p ( − 1 2 y 2 ) e x p ( y μ − 1 2 μ 2 ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) \begin{aligned} p &= \frac{1}{\sqrt{2\pi}}exp(-\frac{1}{2}(y-\mu)^2) \\ &=\frac{1}{\sqrt{2\pi}}exp(-\frac{1}{2}y^2)exp(y\mu -\frac{1}{2}\mu^2) \\ &= b(y)exp(\eta^TT(y)-a(\eta)) \end{aligned} p=2π 1exp(21(yμ)2)=2π 1exp(21y2)exp(yμ21μ2)=b(y)exp(ηTT(y)a(η))
得到
b ( y ) = 1 2 π e x p ( − 1 2 y 2 ) T ( y ) = y η = μ a ( η ) = 1 2 μ 2 \begin{aligned} b(y)&=\frac{1}{\sqrt{2\pi}}exp(-\frac{1}{2}y^2)\\ T(y)&=y \\ \eta &= \mu\\ a(\eta) &= \frac{1}{2}\mu^2 \end{aligned} b(y)T(y)ηa(η)=2π 1exp(21y2)=y=μ=21μ2

3.2.2广义线性模型的三条假设
  • 在给定x的条件下,假设随机变量y服从某个指数族分布; y ∣ x ; ω ∼ E x p F a m i l y ( η ) y|x;\omega\sim ExpFamily(\eta) yx;ωExpFamily(η)
  • 在给定x的条件下,我们的目标是得到一个模型 h ( x ) h(x) h(x),能预测出 T ( y ) T(y) T(y)的期望值 h ( x ) = E ( T ( y ) ∣ x ) h(x) = E(T(y)|x) h(x)=E(T(y)x),大多数情况 T ( y ) = y T(y)=y T(y)=y,指y的充分统计量
  • 假设该指数族分布中的自然参数 η , x \eta,x η,x呈线性关系,即 η = ω T x \eta =\omega^Tx η=ωTx

3.3 对数几率回归(logistic regression)

为二分类模型, y < 0.5 y<0.5 y<0.5时,分类为负类; y > 0.5 y>0.5 y>0.5时,分类为正类
y = 1 1 + e − z y = \frac{1}{1+e^{-z}} y=1+ez1
l n y 1 − y = ω T x ln\frac{y}{1-y} = \omega^T x ln1yy=ωTx
其中y是样本x作为正例的可能性, y 1 − y \frac{y}{1-y} 1yy成为几率(odds),反应x作为正例的相对可能性。

3.3.1用logit变换解释模型
  • 假设 P ( Y = 1 ∣ X ) = π ( x ) P(Y=1|X)=\pi(x) P(Y=1X)=π(x),则 π ( x ) \pi(x) π(x)取值范围为[0-1].我们希望用线性表达 w ⋅ x w\cdot x wx来表示概率分布。
  • π ( x ) \pi(x) π(x)做logit变换
    l o g i t ( π ( x ) ) = l o g π ( x ) 1 − π ( x ) = w ⋅ x logit(\pi(x))=log\frac{\pi(x)}{1-\pi(x)}=w\cdot x logit(π(x))=log1π(x)π(x)=wx
    将取值范围为[0-1]的 π ( x ) \pi(x) π(x)函数,变换为取值范围为 [ − ∞ , + ∞ ] [-\infty,+\infty] [,+] w ⋅ x w\cdot x wx线性函数
  • 得到
    P ( Y = 1 ∣ X ) = e x p ( w ⋅ x ) 1 + e x p ( w ⋅ x ) P(Y=1|X)=\frac{exp(w\cdot x)}{1+exp(w\cdot x)} P(Y=1X)=1+exp(wx)exp(wx)
  • 线性函数值越接近 + ∞ +\infty +,概率值越接近1; 线性函数值越接近 − ∞ -\infty ,概率值越接近0
3.3.2用广义线性模型解释模型

二分类问题回归,y 取值0或1。假设y服从伯努利分布,考虑用广义线性模型预测给定x的条件下y的取值。

  • 广义线性模型第一条假设:在给定x的条件下,假设随机变量y服从某个指数族分布; y ∣ x ; ω ∼ E x p F a m i l y ( η ) y|x;\omega\sim ExpFamily(\eta) yx;ωExpFamily(η)

已知y服从伯努利分布,而伯努利分布属于指数族分布,因此满足第一条

  • 广义线性模型第二条假设:在给定x的条件下,我们的目标是得到一个模型 h ( x ) h(x) h(x),能预测出 T ( y ) T(y) T(y)的期望值 h ( x ) = E ( T ( y ∣ x ) ) h(x) = E(T(y|x)) h(x)=E(T(yx)),大多数情况 T ( y ) = y T(y)=y T(y)=y,指y的充分统计量

对于伯努利分布, T ( y ) = y T(y)=y T(y)=y,因此
T ( y ∣ x ) = T ( y ) = y h ( x ) = E ( T ( y ∣ x ) ) = E ( y ) = p ( y = 1 ) = ϕ \begin{aligned} T(y|x) &= T(y) = y \\ h(x) &= E(T(y|x)) = E(y) = p(y=1) \\ &= \phi \end{aligned} T(yx)h(x)=T(y)=y=E(T(yx))=E(y)=p(y=1)=ϕ

  • 广义线性模型第二条假设:假设该指数族分布中的自然参数 η , x \eta,x η,x呈线性关系,即 η = ω T x \eta =\omega^Tx η=ωTx

由于伯努利分布中
η = ln ⁡ ϕ 1 − ϕ ϕ = 1 1 + e − η h ( x ) = ϕ = 1 1 + e − η = 1 1 + e − w T x \begin{aligned} \eta &= \ln \frac{\phi}{1-\phi} \\ \phi &= \frac{1}{1+e^{-\eta}} \\ h(x) &= \phi = \frac{1}{1+e^{-\eta}} = \frac{1}{1+ e^{-w^Tx}} \end{aligned} ηϕh(x)=ln1ϕϕ=1+eη1=ϕ=1+eη1=1+ewTx1`

3.3.3 梯度下降求解

模型
h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x h_\theta(x) = g(\theta^Tx) = \frac{1}{1+e^{-\theta^T x}} hθ(x)=g(θTx)=1+eθTx1
取值永远在0-1之间,代表概率。
g ( z ) = 1 1 + e − x g ′ ( z ) = g ( z ) ( 1 − g ( z ) ) \begin{aligned} g(z) &= \frac{1}{1+e^{-x}} \\ g\prime(z) &= g(z)(1-g(z)) \end{aligned} g(z)g(z)=1+ex1=g(z)(1g(z))
p ( y ∣ x ; θ ) = h ( θ ) y ( 1 − h ( θ ) ( 1 − y ) l ( θ ) = ∏ i m h ( θ ) y i ( 1 − h ( θ ) ) ( 1 − y i ) \begin{aligned} p(y|x;\theta)&= h(\theta)^y(1- h(\theta)^{(1-y)} \\ l(\theta) &= \prod_i^m h(\theta)^{y_i}(1- h(\theta))^{(1-y_i)} \\ \end{aligned} p(yx;θ)l(θ)=h(θ)y(1h(θ)(1y)=imh(θ)yi(1h(θ))(1yi)
下面极大似然估计
L ( θ ) = ∑ i m [ y i log ⁡ h ( θ ) + ( 1 − y i ) log ⁡ ( 1 − h ( θ ) ) ] ∂ L ∂ θ = ∑ i m [ y ( i ) h ′ ( θ ) x i h ( θ ) − ( 1 − y i ) h ′ ( θ ) x i 1 − h ( θ ) ] = ∑ i m [ y i ( 1 − h ( θ ) ) x i − ( 1 − y i ) h ( θ ) x i ] = ∑ i m ( y i − h ( θ ) ) x i \begin{aligned} L(\theta) &= \sum_i^m \big[ y_i\log h(\theta) + (1-y_i)\log (1- h(\theta))\big] \\ \frac{\partial L}{\partial \theta} &= \sum_i^m \big[ y^{(i)}\frac{h\prime(\theta)x_i}{h(\theta)} - (1-y_i)\frac{h\prime(\theta)x_i}{1-h(\theta)}] \\ &=\sum_i^m\big[ y_i(1-h(\theta))x_i - (1-y_i)h(\theta)x_i]\\ &=\sum_i^m(y_i-h(\theta))x_i \end{aligned} L(θ)θL=im[yilogh(θ)+(1yi)log(1h(θ))]=im[y(i)h(θ)h(θ)xi(1yi)1h(θ)h(θ)xi]=im[yi(1h(θ))xi(1yi)h(θ)xi]=im(yih(θ))xi
梯度上升
θ → θ + α ∂ L ∂ θ \theta \rightarrow \theta + \alpha\frac{\partial L}{\partial \theta} θθ+αθL

3.3.4 牛顿法求解

目标函数,最小化L:
L ( θ ) = − ∑ i m [ y i log ⁡ h ( θ ) + ( 1 − y i ) log ⁡ ( 1 − h ( θ ) ) ] L(\theta) = -\sum_i^m \big[ y_i\log h(\theta) + (1-y_i)\log (1- h(\theta))\big] L(θ)=im[yilogh(θ)+(1yi)log(1h(θ))]
想要求解 f ( θ ) = ∂ L ∂ θ = 0 f(\theta) = \frac{\partial L}{\partial \theta} = 0 f(θ)=θL=0的值。
取初始值后,下一轮循环参数的取值:
θ t + 1 = θ t − f ( θ ) f ′ ( θ t ) \theta^{t+1} = \theta^t - \frac{f(\theta)}{f^{\prime}(\theta^t)} θt+1=θtf(θt)f(θ)

θ t + 1 = θ t − ( ∂ 2 L ∂ 2 θ ) θ t − 1 ∂ L ∂ θ \theta^{t+1} = \theta^{t} - \Big(\frac{\partial ^2 L}{\partial ^2 \theta}\Big)^{-1}_{ \theta^t} \frac{\partial L}{\partial \theta} θt+1=θt(2θ2L)θt1θL
其中
∂ L ∂ θ = − ∑ i m ( y i − h ( θ ) ) x i \frac{\partial L}{\partial \theta} = - \sum_i^m(y_i-h(\theta))x_i θL=im(yih(θ))xi
∂ 2 L ∂ 2 θ = ∑ i m h ( θ ) ( 1 − h ( θ ) ) x i 2 \frac{\partial ^2 L}{\partial ^2 \theta} = \sum_i^m h(\theta)(1-h(\theta))x_i^2 2θ2L=imh(θ)(1h(θ))xi2

你可能感兴趣的:(《机器学习》-周志华)