CS229 机器学习 Notes 1

it2023-02-10  233

Part 1.线性回归

为了让我们的房屋示例更有趣,让我们考虑一个稍微丰富的数据集,其中我们还知道每个房子的卧室数量:

这里, x x x是 R 2 \mathbb{R}^2 R2中的二维向量。 例如, x 1 ( i ) x_1^{(i)} x1(i)​是训练集中第 i i i个房屋的生活区域, x 2 ( i ) x_2^{(i)} x2(i)​是其卧室数。 作为初始选择,假设我们决定将 y y y近似为 x x x的线性函数: h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 (1) h_{\theta}(x)=\theta_0 +\theta_1 x_1+\theta_2x_2 \tag{1} hθ​(x)=θ0​+θ1​x1​+θ2​x2​(1) 这里, θ i \theta_i θi​是参数(也称为权重),它们参数化从 X \mathcal{X} X到 Y \mathcal{Y} Y 的线性映射的空间。当没有混淆的风险时,我们不写 h θ ( x ) h_{\theta}(x) hθ​(x)的下标,并将其简写为 h ( x ) h(x) h(x)。 为了简化我们的符号,我们还引入了让 x 0 = 1 x_0=1 x0​=1(这是截距项)的约定,所以: h ( x ) = ∑ i = 0 n θ i x i = θ T x (2) h(x)=\sum_{i=0}^n \theta_i x_i=\theta^T x \tag{2} h(x)=i=0∑n​θi​xi​=θTx(2) 定义价值函数为: J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 (3) J(\theta) =\frac 1 2 \sum_{i=1}^m (h_{\theta}(x^{(i)})-y^{(i)})^2 \tag{3} J(θ)=21​i=1∑m​(hθ​(x(i))−y(i))2(3)

1. LMS 算法 least mean square

对于价值函数 J ( θ ) J(\theta) J(θ),梯度下降法更新规则为

θ j : = θ j − α ∂ ∂ θ j J ( θ ) (4) \theta_j := \theta_j -\alpha \frac{\partial}{\partial \theta_j} J(\theta) \tag{4} θj​:=θj​−α∂θj​∂​J(θ)(4)

对 J ( θ ) J(\theta) J(θ)关于 θ \theta θ偏导为: ∂ ∂ θ j J ( θ ) = ∂ ∂ θ j 1 2 ( h θ ( x ) − y ) 2 = 2 ⋅ 1 2 ( h θ ( x ) − y ) ⋅ ∂ ∂ θ j ( h θ ( x ) − y ) = ( h θ ( x ) − y ) ⋅ ∂ ∂ θ j ( ∑ i = 0 n θ i x i − y ) = ( h θ ( x ) − y ) x j (5) \begin{aligned} \frac \partial {\partial\theta_j}J(\theta) & = \frac \partial {\partial\theta_j} \frac 12(h_\theta(x)-y)^2\\ & = 2 \cdot\frac 12(h_\theta(x)-y)\cdot \frac \partial {\partial\theta_j} (h_\theta(x)-y) \\ & = (h_\theta(x)-y)\cdot \frac \partial {\partial\theta_j}(\sum^n_{i=0} \theta_ix_i-y) \\ & = (h_\theta(x)-y) x_j \end{aligned} \tag{5} ∂θj​∂​J(θ)​=∂θj​∂​21​(hθ​(x)−y)2=2⋅21​(hθ​(x)−y)⋅∂θj​∂​(hθ​(x)−y)=(hθ​(x)−y)⋅∂θj​∂​(i=0∑n​θi​xi​−y)=(hθ​(x)−y)xj​​(5) 对于单一训练样本,其更新规则为: θ j : = θ j + α ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) \theta_j := \theta_j + \alpha (y^{(i)}-h_\theta (x^{(i)}))x_j^{(i)} θj​:=θj​+α(y(i)−hθ​(x(i)))xj(i)​ 当只有一个训练样本的时候,我们推导出了 LMS 规则。当一个训练集有超过一个训练样本的时候,有两种对这个规则的修改方法。第一种就是下面这个算法: 重 复 至 收 敛 θ j : = θ j + α ∑ i = 1 m ( y ( i ) − h θ ( x ( i ) ) ) . x j ( i ) ( 对 每 一 个 j ) (6) 重复至收敛 \quad {\theta_j := \theta_j +\alpha \sum_{i=1}^m\big(y^{(i)}-h_{\theta}(x^{(i)})\big). x_j^{(i)}\quad(对每一个j)}\tag{6} 重复至收敛θj​:=θj​+αi=1∑m​(y(i)−hθ​(x(i))).xj(i)​(对每一个j)(6)

2. 正规方程

1. 矩阵求导

假如有一个函数 f : R m × n → R f:\mathbb{R}^{m\times n} → \mathbb{R} f:Rm×n→R 从 m × n m\times n m×n 大小的矩阵映射到实数域,我们定义对于矩阵为 A A A , f f f 的导数是: ∇ A f ( A ) = [ ∂ f ∂ A 11 … ∂ f ∂ A 1 n ⋮ ⋱ ⋮ ∂ f ∂ A m 1 … ∂ f ∂ A m n ] (7) \nabla_A f(A)=\begin{bmatrix} \frac {\partial f}{\partial A_{11}} & \dots & \frac {\partial f}{\partial A_{1n}} \\ \vdots & \ddots & \vdots \\ \frac {\partial f}{\partial A_{m1}} & \dots & \frac {\partial f}{\partial A_{mn}} \\ \end{bmatrix}\tag{7} ∇A​f(A)=⎣⎢⎡​∂A11​∂f​⋮∂Am1​∂f​​…⋱…​∂A1n​∂f​⋮∂Amn​∂f​​⎦⎥⎤​(7) 因此,这个梯度 ∇ A f ( A ) \nabla_A f(A) ∇A​f(A)本身也是一个 m × n m\times n m×n 的矩阵,其中的第 ( i , j ) (i,j) (i,j) 个元素是 ∂ f ∂ A i j \frac {\partial f}{\partial A_{ij}} ∂Aij​∂f​ 。

例如 A = [ A 11 A 12 A 21 A 22 ] A =\begin{bmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \\ \end{bmatrix} A=[A11​A21​​A12​A22​​] 是一个 2 × 2 2\times 2 2×2 矩阵,然后给定的函数 f : R 2 × 2 → R f:R^{2\times 2} → R f:R2×2→R 为:

f ( A ) = 3 2 A 11 + 5 A 12 2 + A 21 A 22 f(A) = \frac 32A_{11}+5A^2_{12}+A_{21}A_{22} f(A)=23​A11​+5A122​+A21​A22​

这里面的 A i j A_{ij} Aij​ 表示的意思是矩阵 A A A 的第 ( i , j ) (i,j) (i,j) 个元素。然后就有了梯度:

∇ A f ( A ) = [ 3 2 10 A 12 A 22 A 21 ] \nabla _A f(A) =\begin{bmatrix} \frac 32 & 10A_{12} \\ A_{22} & A_{21} \\ \end{bmatrix} ∇A​f(A)=[23​A22​​10A12​A21​​]

然后咱们还要引入 trace迹运算,简写为 " t r . " "tr." "tr."。对于一个给定的 n × n n\times n n×n 方形矩阵 A A A,它的迹定义为对角元素之和:

t r A = ∑ i = 1 n A i i (8) trA = \sum^n_{i=1} A_{ii}\tag{8} trA=i=1∑n​Aii​(8)

假如 a a a 是一个实数,实际上 a a a 就可以看做是一个 1 × 1 1\times 1 1×1 的矩阵,那么就有 a a a 的迹 t r a = a tr a = a tra=a。

如果有两个矩阵 A A A 和 B B B,能够满足 A B AB AB 为方阵, t r a c e trace trace 求迹运算就有一个特殊的性质: t r A B = t r B A trAB = trBA trAB=trBA 。 对 于 A , B , A B 为 方 阵 ; 不 妨 设 : A ∈ R m × n , B ∈ R n × m , 那 么 : tr ⁡ ( A B ) = ∑ i = 1 m ( A B ) i i = ∑ i = 1 m ∑ j = 1 n a i j b j i = ∑ i = 1 m ∑ j = 1 n b j i a i j = ∑ i = 1 n ( B A ) i i = tr ⁡ ( B A ) (9) \begin{aligned} &对于A, B, AB为方阵;不妨设: A \in \mathbb{R}^{m \times n},B \in \mathbb{R}^{n \times m}, 那么: \\ & \operatorname{tr}(A B)=\sum_{i=1}^{m}(A B)_{i i}=\sum_{i=1}^{m} \sum_{j=1}^{n} a_{i j} b_{j i}=\sum_{i=1}^{m} \sum_{j=1}^{n} b_{j i} a_{i j}=\sum_{i=1}^{n}(B A)_{i i}=\operatorname{tr}(B A) \end{aligned}\tag{9} ​对于A,B,AB为方阵;不妨设:A∈Rm×n,B∈Rn×m,那么:tr(AB)=i=1∑m​(AB)ii​=i=1∑m​j=1∑n​aij​bji​=i=1∑m​j=1∑n​bji​aij​=i=1∑n​(BA)ii​=tr(BA)​(9) 在此基础上进行推论,就能得到类似下面这样的等式关系: t r A B C = t r C A B = t r B C A t r A B C D = t r D A B C = t r C D A B = t r B C D A trABC=trCAB=trBCA \\ trABCD=trDABC=trCDAB=trBCDA trABC=trCAB=trBCAtrABCD=trDABC=trCDAB=trBCDA

下面这些和求迹运算相关的等量关系也很容易证明。其中 A A A 和 B B B 都是方形矩阵, a a a 是一个实数:

t r A = t r A T t r ( A + B ) = t r A + t r B t r a A = a t r A (10) trA=trA^T \\ tr(A+B)=trA+trB \\ tr a A=a trA \tag{10} trA=trATtr(A+B)=trA+trBtraA=atrA(10)

接下来咱们就来在不进行证明的情况下提出一些矩阵导数(其中的一些直到本节末尾才用得上)。另外要注意等式 ( 4 ) (4) (4)中的 A A A 必须是非奇异方阵(non-singular square matrices),而 ∣ A ∣ |A| ∣A∣ 表示的是矩阵 A A A 的行列式。那么我们就有下面这些等量关系:

∇ A t r A B = B T (1) ∇ A T f ( A ) = ( ∇ A f ( A ) ) T (2) ∇ A t r A B A T C = C A B + C T A B T (3) ∇ A ∣ A ∣ = ∣ A ∣ ( A − 1 ) T (4) (11) \begin{aligned} \nabla_A tr AB & = B^T & \text{(1)}\\ \nabla_{A^T} f(A) & = (\nabla_{A} f(A))^T &\text{(2)}\\ \nabla_A tr ABA^TC& = CAB+C^TAB^T &\text{(3)}\\ \nabla_A|A| & = |A|(A^{-1})^T &\text{(4)}\\ \end{aligned} \tag{11} ∇A​trAB∇AT​f(A)∇A​trABATC∇A​∣A∣​=BT=(∇A​f(A))T=CAB+CTABT=∣A∣(A−1)T​(1)(2)(3)(4)​(11) 为了让矩阵运算记号更加具体,我们就详细解释一下这些等式中的第一个。假如我们有一个确定的矩阵 B ∈ R n × m B \in R^{n\times m} B∈Rn×m(注意顺序,是 n × m n\times m n×m,这里的意思也就是 B B B 的元素都是实数, B B B 的形状是 n × m n\times m n×m 的一个矩阵),那么接下来就可以定义一个函数 f : R m × n → R f: R^{m\times n} → R f:Rm×n→R ,对应这里的就是 f ( A ) = t r A B f(A) = trAB f(A)=trAB。这里要注意,这个矩阵是有意义的,因为如果 A ∈ R m × n A \in R^{m\times n} A∈Rm×n,那么 A B AB AB 就是一个方阵,是方阵就可以应用 t r a c e trace trace 求迹运算;因此,实际上 f f f 映射的是从 R m × n R^{m\times n} Rm×n 到实数域 R R R。这样接下来就可以使用矩阵导数来找到 ∇ A f ( A ) \nabla_Af(A) ∇A​f(A) ,这个导函数本身也是一个 m × n m \times n m×n的矩阵。上面的等式 ( 1 ) (1) (1) 表明了这个导数矩阵的第 ( i , j ) (i,j) (i,j)个元素等同于 B T B^T BT ( B B B的转置)的第 ( i , j ) (i,j) (i,j) 个元素,或者更直接表示成 B j i B_{ji} Bji​。

上面等式 ( 1 − 3 ) (1-3) (1−3) 都很简单,证明就都留给读者做练习了。等式 ( 4 ) (4) (4)需要用逆矩阵的伴随矩阵来推导出。 3 ^3 3

3 假如咱们定义一个矩阵 A ′ A' A′,它的第 ( i , j ) (i,j) (i,j) 个元素是$ (−1)^{i+j}$ 与矩阵 $A $移除 第 i i i 行 和 第 j j j 列 之后的行列式的乘积,则可以证明有 A − 1 = ( A ′ ) T / ∣ A ∣ A^{−1} = (A')^T /|A| A−1=(A′)T/∣A∣。(你可以检查一下,比如在 A A A 是一个 2 × 2 2\times 2 2×2 矩阵的情况下看看 A − 1 A^{-1} A−1 是什么样的,然后以此类推。如果你想看看对于这一类结果的证明,可以参考一本中级或者高级的线性代数教材,比如Charles Curtis, 1991, Linear Algebra, Springer。)这也就意味着 A ′ = ∣ A ∣ ( A − 1 ) T A' = |A|(A^{−1})^T A′=∣A∣(A−1)T。此外,一个矩阵 A A A 的行列式也可以写成 ∣ A ∣ = ∑ j A i j A i j ′ |A| = \sum_j A_{ij}A'_{ij} ∣A∣=∑j​Aij​Aij′​ 。因为 ( A ′ ) i j (A')_{ij} (A′)ij​ 不依赖 A i j A_{ij} Aij​ (通过定义也能看出来),这也就意味着 ( ∂ ∂ A i j ) ∣ A ∣ = A i j ′ (\frac \partial {\partial A_{ij}})|A| = A'_{ij} (∂Aij​∂​)∣A∣=Aij′​,综合起来也就得到上面的这个结果了。

矩阵求导

机器学习和深度学习矩阵求导总结

2. 正规方程求解

公式总结: t r A = t r A T (1) t r ( A + B ) = t r A + t r B (2) t r   a A = a t r   A (3) ∇ A t r A B = B T (4) ∇ A T f ( A ) = ( ∇ A f ( A ) ) T (5) ∇ A t r A B A T C = C A B + C T A B T (6) ∇ A ∣ A ∣ = ∣ A ∣ ( A − 1 ) T (7) (12) \begin{aligned} trA&=trA^T &\text{(1)}\\ tr(A+B)&=trA+trB &\text{(2)} \\ tr\ a A&=a tr \ A &\text{(3)} \\ \nabla_A tr AB & = B^T & \text{(4)}\\ \nabla_{A^T} f(A) & = (\nabla_{A} f(A))^T &\text{(5)}\\ \nabla_A tr ABA^TC& = CAB+C^TAB^T &\text{(6)}\\ \nabla_A|A| & = |A|(A^{-1})^T &\text{(7)}\\ \end{aligned} \tag{12} trAtr(A+B)tr aA∇A​trAB∇AT​f(A)∇A​trABATC∇A​∣A∣​=trAT=trA+trB=atr A=BT=(∇A​f(A))T=CAB+CTABT=∣A∣(A−1)T​(1)(2)(3)(4)(5)(6)(7)​(12) 矩阵 X X X 为 m × n m \times n m×n( 实 际 上 为 m × ( n + 1 ) 包 含 了 截 距 项 实际上为m \times (n + 1)包含了截距项 实际上为m×(n+1)包含了截距项: X = [ — ( x ( 1 ) ) T — — ( x ( 2 ) ) T — ⋮ — ( x ( m ) ) T — ] (13) X = \left[ \begin{matrix} — (x^{(1)})^T— \\ — (x^{(2)})^T— \\ \vdots\\ — (x^{(m)})^T— \end{matrix} \right] \tag{13} X=⎣⎢⎢⎢⎡​—(x(1))T——(x(2))T—⋮—(x(m))T—​⎦⎥⎥⎥⎤​(13) 然后,咱们设 y ⃗ \vec{y} y ​ 是一个 m m m 维向量(m-dimensional vector),其中包含了训练集中的所有目标值: y ⃗ = [ y ( 1 ) y ( 2 ) ⋮ y ( m ) ] (14) \vec y = \left[ \begin{matrix} y^{(1)} \\ y^{(2)} \\ \vdots\\ y^{(m)} \end{matrix} \right] \tag{14} y ​=⎣⎢⎢⎢⎡​y(1)y(2)⋮y(m)​⎦⎥⎥⎥⎤​(14) 那么, X θ − y ⃗ = [ ( x ( 1 ) ) T θ ⋮ ( x ( m ) ) T θ ] − [ y ( 1 ) ⋮ y ( m ) ] = [ ( x ( 1 ) ) T θ − y ( 1 ) ⋮ ( x ( m ) ) T θ − y ( m ) ] (15) \begin{aligned} X \theta -\vec y &= \left[ \begin{matrix} (x^{(1)})^T\theta \\ \vdots\\ (x^{(m)})^T\theta \end{matrix} \right] -\left[ \begin{matrix} y^{(1)} \\ \vdots\\ y^{(m)} \end{matrix} \right] \\ \\ &= \left[ \begin{matrix} (x^{(1)})^T\theta-y^{(1)} \\ \vdots\\ (x^{(m)})^T\theta -y^{(m)} \end{matrix} \right] \end{aligned}\tag{15} Xθ−y ​​=⎣⎢⎡​(x(1))Tθ⋮(x(m))Tθ​⎦⎥⎤​−⎣⎢⎡​y(1)⋮y(m)​⎦⎥⎤​=⎣⎢⎡​(x(1))Tθ−y(1)⋮(x(m))Tθ−y(m)​⎦⎥⎤​​(15) 因为 h ( x ) = θ T x h(x)=\theta^Tx h(x)=θTx,定义损失函数为: 1 2 ( X θ − y ⃗ ) T ( X θ − y ⃗ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 = J ( θ ) (16) \begin{aligned} \frac 1 2(X \theta -\vec y )^T(X \theta -\vec y ) &= \frac 1 2 \sum_{i=1}^m (h_{\theta}(x^{(i)})-y^{(i)})^2\\ &= J(\theta) \end{aligned} \tag{16} 21​(Xθ−y ​)T(Xθ−y ​)​=21​i=1∑m​(hθ​(x(i))−y(i))2=J(θ)​(16) 其对 θ \theta θ梯度为: ∇ θ J ( θ ) = ∇ θ 1 2 ( X θ − y ⃗ ) T ( X θ − y ⃗ ) = 1 2 ∇ θ ( θ T X T X θ − θ T X T y ⃗ − y ⃗ T X θ + y ⃗ T y ⃗ ) = 1 2 ∇ θ ( θ T X T X θ − 2 θ T X T y ⃗ ) = 1 2 ( 2 X T X θ − 2 X T y ⃗ ) = X T X θ − X T y ⃗ (17) \begin{aligned} \nabla_{\theta}J(\theta) &=\nabla_{\theta}\frac 1 2(X \theta -\vec y )^T(X \theta -\vec y )\\ &=\frac 1 2\nabla_{\theta} \big( \theta^T X^T X\theta - \theta^T X^T \vec y -\vec y^TX \theta + \vec y ^T\vec y \big)\\ &=\frac 1 2 \nabla_{\theta} \big(\theta^T X^T X\theta - 2\theta^T X^T \vec y)\\ &= \frac 1 2 \big( 2X^T X\theta - 2X^T \vec y \big) \\ &= X^T X\theta -X^T \vec y \end{aligned}\tag{17} ∇θ​J(θ)​=∇θ​21​(Xθ−y ​)T(Xθ−y ​)=21​∇θ​(θTXTXθ−θTXTy ​−y ​TXθ+y ​Ty ​)=21​∇θ​(θTXTXθ−2θTXTy ​)=21​(2XTXθ−2XTy ​)=XTXθ−XTy ​​(17) 式17第3行是因为,$\theta^T X^T \vec y \ , \ \vec y^TX \theta $都是标量那么 ( θ T X T y ⃗ ) T = y ⃗ T θ X (18) (\theta^T X^T \vec y)^T = \vec y^T \theta X\tag{18} (θTXTy ​)T=y ​TθX(18) 第4行因为 ∇ θ ( θ T A θ ) = ( A + A T ) θ ∇ θ ( θ T x ) = x (19) \begin{aligned} \nabla_{\theta} (\theta^T A \theta) &= (A+A^T)\theta \\ \nabla_{\theta}(\theta^T x) &= x \end{aligned}\tag{19} ∇θ​(θTAθ)∇θ​(θTx)​=(A+AT)θ=x​(19) 令式17,为0.得到正规方程为: X T X θ = X T y ⃗ (20) X^T X\theta =X^T \vec y\tag{20} XTXθ=XTy ​(20) 如果 X T X X^TX XTX可逆,那么: θ = ( X T X ) − 1 X T y ⃗ (21) \theta =(X^T X)^{-1}X^T \vec y \tag{21} θ=(XTX)−1XTy ​(21)

3. 概率解释

假设目标变量和输入间存在如下等式: y ( i ) = θ T x ( i ) + ϵ ( i ) (1) y^{(i)}=\theta^T x^{(i)}+ \epsilon ^{(i)} \tag{1} y(i)=θTx(i)+ϵ(i)(1)

其中 ϵ ( i ) \epsilon^{(i)} ϵ(i) 是误差项,进一步假设其i.i.d,且服从均值为0,方差为 σ 2 \sigma^{2} σ2高斯分布。 将其写作 ϵ ( i ) ∼ N ( 0 , σ 2 ) \epsilon ^{(i)} ∼ N (0, \sigma ^2) ϵ(i)∼N(0,σ2) ,其概率密度函数为: p ( ϵ ( i ) ) = 1 2 π σ e x p ( − ( ϵ ( i ) ) 2 2 σ 2 ) (2) p(\epsilon ^{(i)} )= \frac 1{\sqrt{2\pi}\sigma} exp (- \frac {(\epsilon ^{(i)} )^2}{2\sigma^2}) \tag{2} p(ϵ(i))=2π ​σ1​exp(−2σ2(ϵ(i))2​)(2) 由式1,式2可以推出: p ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π σ e x p ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) (3) p(y ^{(i)} |x^{(i)}; \theta)= \frac 1{\sqrt{2\pi}\sigma} exp (- \frac {(y^{(i)} -\theta^T x ^{(i)} )^2}{2\sigma^2}) \tag{3} p(y(i)∣x(i);θ)=2π ​σ1​exp(−2σ2(y(i)−θTx(i))2​)(3) 其中 “ p ( y ( i ) ∣ x ( i ) ; θ ) ” “p(y ^{(i)} |x^{(i)}; \theta)” “p(y(i)∣x(i);θ)”表示给定 x ( i ) x ^{(i)} x(i), y ( i ) y ^{(i)} y(i)的分布由参数 θ \theta θ控制。(给定输入值,参数 θ \theta θ控制着目标值的分布)。 注意 θ \theta θ不是随机变量,而是一个要求的值。 如果把式3看做 θ \theta θ的函数时,就得到其似然函数: L ( θ ) = L ( θ ; X , y ⃗ ) = p ( y ⃗ ∣ X ; θ ) (4) L(\theta) =L(\theta;X,\vec{y})=p(\vec{y}|X;\theta) \tag{4} L(θ)=L(θ;X,y ​)=p(y ​∣X;θ)(4) 继续假设 x ( i ) x ^{(i)} x(i), y ( i ) y ^{(i)} y(i) i.i.d,那么有: L ( θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) = ∏ i = 1 m 1 2 π σ e x p ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) (5) \begin{aligned} L(\theta) &=\prod ^m _{i=1}p(y^{(i)}|x^{(i)};\theta)\\ &=\prod ^m _{i=1} \frac 1{\sqrt{2\pi}\sigma} exp(- \frac {(y^{(i)}-\theta^T x^{(i)})^2}{2\sigma^2})\\ \end{aligned} \tag{5} L(θ)​=i=1∏m​p(y(i)∣x(i);θ)=i=1∏m​2π ​σ1​exp(−2σ2(y(i)−θTx(i))2​)​(5) 最大似然估计就是说应该选择 θ \theta θ来使得数据集的可能性最大(给定数据集,如何估计 θ \theta θ来使其可能性最大)。 即最大化式5,取对数将求积变求和,简化计算就得到了对数似然 l ( θ ) l(\theta) l(θ)。 l ( θ ) = log ⁡ L ( θ ) = log ⁡ ∏ i = 1 m 1 2 π σ e x p ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) = ∑ i = 1 m l o g 1 2 π σ e x p ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) = m log ⁡ 1 2 π σ − ∑ i = 1 m log ⁡ e x p ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) = m log ⁡ 1 2 π σ − 1 σ 2 ⋅ 1 2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 (6) \begin{aligned} l(\theta) &=\log L(\theta)\\ &=\log \prod ^m _{i=1} \frac 1{\sqrt{2\pi}\sigma} exp(- \frac {(y^{(i)}-\theta^T x^{(i)})^2}{2\sigma^2})\\ &= \sum ^m _{i=1}log \frac 1{\sqrt{2\pi}\sigma} exp(- \frac {(y^{(i)}-\theta^T x^{(i)})^2}{2\sigma^2})\\ &= m \log \frac 1{\sqrt{2\pi}\sigma} - \sum^m_{i=1} \log exp(- \frac {(y^{(i)}-\theta^T x^{(i)})^2}{2\sigma^2})\\ &= m \log \frac 1{\sqrt{2\pi}\sigma}- \frac 1{\sigma^2}\cdot \frac 12 \sum^m_{i=1} (y^{(i)}-\theta^Tx^{(i)})^2\\ \end{aligned} \tag{6} l(θ)​=logL(θ)=logi=1∏m​2π ​σ1​exp(−2σ2(y(i)−θTx(i))2​)=i=1∑m​log2π ​σ1​exp(−2σ2(y(i)−θTx(i))2​)=mlog2π ​σ1​−i=1∑m​logexp(−2σ2(y(i)−θTx(i))2​)=mlog2π ​σ1​−σ21​⋅21​i=1∑m​(y(i)−θTx(i))2​(6) 最大化式6就是最小化下式: 1 2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 (7) \frac 12 \sum^m _{i=1} (y^{(i)}-\theta^Tx^{(i)})^2 \tag{7} 21​i=1∑m​(y(i)−θTx(i))2(7) 式7就是最原始的最小二乘代价函数original least-squares cost function。

总结:在对数据集进行概率假设的前提下,最小二乘回归就是找到 θ \theta θ的最大似然估计。 前提是最小二乘回归正好做最大似然估计。 另外, θ \theta θ的选择不依赖 σ 2 \sigma^2 σ2, 上述过程中不知道 σ 2 \sigma^2 σ2就得到了 θ \theta θ。

4. 局部加权线性回归 Locally weighted linear regression

图1

如果拿一条直线 y = θ 0 + θ 1 x y = \theta_0 + \theta_1x y=θ0​+θ1​x来拟合图中的点,发现点的趋势不是一条直线,而像一条曲线。那么我们增加一个二次项,变成了 y = θ 0 + θ 1 x + θ 2 x 2 y = \theta_0 + \theta_1x +\theta_2x^2 y=θ0​+θ1​x+θ2​x2

拟合现象就变成如下图2

图2

从图2我们看出越多特征加入,拟合现象似乎越好。当添加5次项时,我们似乎完美拟合了数据,如图3。

图3

实际上,

图1是underfitting。

图3是overfitting。

本节简要地讲一下局部加权线性回归(locally weighted linear regression ,缩写为LWR),这个方法是假设有足够多的训练数据,对不太重要的特征进行一些筛选。 局部加权线性回归算法流程如下:

对参数 θ \theta θ 进行拟合,让 ∑ i w ( i ) ( y ( i ) − θ T x ( i ) ) 2 \sum_i w^{(i)}(y^{(i)} − \theta^T x^{(i)} )^2 ∑i​w(i)(y(i)−θTx(i))2 最小;输出 θ T x \theta^T x θTx。

式子中的 w ( i ) w^{(i)} w(i) 是非负的权值。

比较标准的 w ( i ) w^{(i)} w(i)用下式来选择: w ( i ) = e x p ( − ( x ( i ) − x ) 2 2 τ 2 ) (8) w^{(i)} = exp(- \frac {(x^{(i)}-x)^2}{2\tau^2}) \tag{8} w(i)=exp(−2τ2(x(i)−x)2​)(8)

如果 w ( i ) w^{(i)} w(i)是向量,式8可以推广为 w ( i ) = e x p ( − ( x ( i ) − x ) T ( x ( i ) − x ) 2 τ 2 ) w^{(i)} = exp(− \frac {(x^{(i)}-x)^T(x^{(i)}-x)}{2\tau^2})\\ w(i)=exp(−2τ2(x(i)−x)T(x(i)−x)​) 或 w ( i ) = e x p ( − ( x ( i ) − x ) T Σ − 1 ( x ( i ) − x ) 2 ) w^{(i)} = exp(− \frac {(x^{(i)}-x)^T\Sigma ^{-1}(x^{(i)}-x)}{2}) w(i)=exp(−2(x(i)−x)TΣ−1(x(i)−x)​) 理解为标量 X X X推广到向量相乘就写成 X T X X^TX XTX。

参数 τ \tau τ 控制了这个降低的速度, τ \tau τ也叫做带宽参数

Part 2 Classification and logistic regression

分类问题可以看作 y ( i ) y ^{(i)} y(i)为几个离散值的回归问题。Binary classification problem 二分类 y ( i ) y ^{(i)} y(i)取 ( 0 , 1 ) (0, 1) (0,1)。其中 0 0 0也被称作negative class, 1 1 1称作positive class。给定 x ( i ) x^{(i)} x(i)其对应 y ( i ) y ^{(i)} y(i)也称作训练样本的标签label。

5. Logistic regression

忽略掉 y ( i ) y ^{(i)} y(i)是离散值,使用上面提到的就得线性回个算法来实现分类问题,即给定 x x x预测 y y y。

为了让 y ∈ 0 , 1 y \in {0, 1} y∈0,1;我们引入logistic函数或者sigmoid函数(图4为其函数图像): g ( z ) = 1 1 + e − z (9) g(z)= \frac 1 {1+e^{-z}} \tag{9} g(z)=1+e−z1​(9)

图4

那么假设 h θ ( x ) h_{\theta(x)} hθ(x)​变成: h θ ( x ) = g ( θ T x ) = 1 1 + e − θ T x (10) h_\theta(x) = g(\theta^T x) = \frac 1{1+e^{-\theta^Tx}} \tag{10} hθ​(x)=g(θTx)=1+e−θTx1​(10) sigmoid 函数的导数为: g ′ ( z ) = d d z 1 1 + e − z = 1 ( 1 + e − z ) 2 ( e − z ) = 1 ( 1 + e − z ) ⋅ ( 1 − 1 ( 1 + e − z ) ) = g ( z ) ( 1 − g ( z ) ) (11) \begin{aligned} g'(z) & = \frac d{dz}\frac 1{1+e^{-z}}\\ & = \frac 1{(1+e^{-z})^2}(e^{-z})\\ & = \frac 1{(1+e^{-z})} \cdot (1- \frac 1{(1+e^{-z})})\\ & = g(z)(1-g(z))\\ \end{aligned} \tag{11} g′(z)​=dzd​1+e−z1​=(1+e−z)21​(e−z)=(1+e−z)1​⋅(1−(1+e−z)1​)=g(z)(1−g(z))​(11) 有了假设 h θ ( x ) h_{\theta(x)} hθ(x)​式子10之后,可以用极大似然估计来确定参数。首先,我们可以得到如下表达: P ( y = 1 ∣ x ; θ ) = h θ ( x ) P ( y = 0 ∣ x ; θ ) = 1 − h θ ( x ) (12) \begin{aligned} P(y=1|x;\theta)&=h_{\theta}(x)\\ P(y=0|x;\theta)&=1- h_{\theta}(x)\\ \end{aligned}\tag{12} P(y=1∣x;θ)P(y=0∣x;θ)​=hθ​(x)=1−hθ​(x)​(12) 简化式12有: p ( y ∣ x ; θ ) = ( h θ ( x ) ) y ( 1 − h θ ( x ) ) 1 − y (13) p(y|x;\theta)=(h_\theta (x))^y(1- h_\theta (x))^{1-y}\tag{13} p(y∣x;θ)=(hθ​(x))y(1−hθ​(x))1−y(13) 假设 m m m 个训练样本都是各自独立生成的,那么就可以按如下的方式来写参数的似然函数: L ( θ ) = p ( y ⃗ ∣ X ; θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) = ∏ i = 1 m ( h θ ( x ( i ) ) ) y ( i ) ( 1 − h θ ( x ( i ) ) ) 1 − y ( i ) (14) \begin{aligned} L(\theta) &= p(\vec{y}| X; \theta)\\ &= \prod^m_{i=1} p(y^{(i)}| x^{(i)}; \theta)\\ &= \prod^m_{i=1} (h_\theta (x^{(i)}))^{y^{(i)}}(1-h_\theta (x^{(i)}))^{1-y^{(i)}} \\ \end{aligned} \tag{14} L(θ)​=p(y ​∣X;θ)=i=1∏m​p(y(i)∣x(i);θ)=i=1∏m​(hθ​(x(i)))y(i)(1−hθ​(x(i)))1−y(i)​(14) 对数似然为: l ( θ ) = log ⁡ L ( θ ) = ∑ i = 1 m y ( i ) log ⁡ h ( x ( i ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h ( x ( i ) ) ) 4 (15) \begin{aligned}l(\theta) &=\log L(\theta) \\&= \sum^m_{i=1} y^{(i)} \log h(x^{(i)})+(1-y^{(i)})\log (1-h(x^{(i)}))4\end{aligned} \tag{15} l(θ)​=logL(θ)=i=1∑m​y(i)logh(x(i))+(1−y(i))log(1−h(x(i)))4​(15) 由梯度上升法 θ : = θ + α ∇ θ l ( θ ) \theta := \theta +\alpha \nabla _\theta l(\theta) θ:=θ+α∇θ​l(θ)

注意:这里是 + + +而不是 − - −是因为要求最大值 (是ascent 不是descent)。

对于一组样本 ( x , y ) (x, y) (x,y)来说,式15就没有了 ∑ i = 1 m \sum^m_{i=1} ∑i=1m​和样本编号 i i i,式15结合式10前半部分可以写作: l ( θ ) = log ⁡ L ( θ ) = y log ⁡ h ( x ) + ( 1 − y ) log ⁡ ( 1 − h ( x ) ) = y log ⁡ ( g ( θ T x ) ) + ( 1 − y ) l o g ( 1 − g ( θ T x ) ) (16) \begin{aligned}l(\theta) &=\log L(\theta) \\&= y \log h(x)+(1-y)\log (1-h(x))\\ &= y \log(g(\theta^T x)) + (1-y)log(1-g(\theta^T x) )\end{aligned} \tag{16} l(θ)​=logL(θ)=ylogh(x)+(1−y)log(1−h(x))=ylog(g(θTx))+(1−y)log(1−g(θTx))​(16) 对式16求导结合式11有: ∂ ∂ θ j l ( θ ) = ( y 1 g ( θ T x ) − ( 1 − y ) 1 1 − g ( θ T x ) ) ∂ ∂ θ j g ( θ T x ) = ( y 1 g ( θ T x ) − ( 1 − y ) 1 1 − g ( θ T x ) ) g ( θ T x ) ( 1 − g ( θ T x ) ) ∂ ∂ θ j θ T x = ( y ( 1 − g ( θ T x ) ) − ( 1 − y ) g ( θ T x ) ) x j = ( y − h θ ( x ) ) x j (17) \begin{aligned} \frac {\partial}{\partial \theta_j} l(\theta) &=(y\frac 1 {g(\theta ^T x)} - (1-y)\frac 1 {1- g(\theta ^T x)} )\frac {\partial}{\partial \theta_j}g(\theta ^Tx) \\ &= (y\frac 1 {g(\theta ^T x)} - (1-y)\frac 1 {1- g(\theta ^T x)} ) g(\theta^Tx)(1-g(\theta^Tx)) \frac {\partial}{\partial \theta_j}\theta ^Tx \\ &= (y(1-g(\theta^Tx) ) -(1-y) g(\theta^Tx)) x_j\\ &= (y-h_\theta(x))x_j \end{aligned} \tag{17} ∂θj​∂​l(θ)​=(yg(θTx)1​−(1−y)1−g(θTx)1​)∂θj​∂​g(θTx)=(yg(θTx)1​−(1−y)1−g(θTx)1​)g(θTx)(1−g(θTx))∂θj​∂​θTx=(y(1−g(θTx))−(1−y)g(θTx))xj​=(y−hθ​(x))xj​​(17) 因此,随机梯度上升规则为: θ j : = θ j + α ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) (18) \theta_j := \theta_j + \alpha (y^{(i)}-h_\theta (x^{(i)}))x_j^{(i)} \tag{18} θj​:=θj​+α(y(i)−hθ​(x(i)))xj(i)​(18)

6. 感知机

如果式9 g ( z ) g(z) g(z)改为下式: g ( z ) = { 1 i f z ≥ 0 0 i f z < 0 (19) g(z)= \begin{cases} 1 & if\quad z \geq 0 \\ 0 & if\quad z < 0 \end{cases} \tag{19} g(z)={10​ifz≥0ifz<0​(19) h θ ( x ) = g ( θ T x ) h_\theta(x) = g(\theta^T x) hθ​(x)=g(θTx),那么更新规则为: θ j : = θ j + α ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) (20) \theta_j := \theta_j +\alpha(y^{(i)}-h_\theta (x^{(i)}))x_j^{(i)}\tag{20} θj​:=θj​+α(y(i)−hθ​(x(i)))xj(i)​(20) 这就是感知机算法。

7 .最大化 l ( θ ) l(\theta) l(θ) 的另一个算法

牛顿法求函数零点。

从实数到实数的函数 f : R → R f:R \to R f:R→R,然后要找到一个 θ \theta θ ,来满足 f ( θ ) = 0 f(\theta)=0 f(θ)=0,其中 θ ∈ R \theta\in R θ∈R 是一个实数。牛顿法就是对 θ \theta θ 进行如下的更新: θ : = θ − f ( θ ) f ′ ( θ ) (21) \theta := \theta - \frac {f(\theta)}{f'(\theta)} \tag{21} θ:=θ−f′(θ)f(θ)​(21) 理解:用一条直线逼近函数 f f f 进行逼近,这条直线是 f f f 的切线,而猜测值是 θ \theta θ,解就是直线方程等于零的点,把这一个零点作为 θ \theta θ 设置给下一次猜测,然后以此类推。

图4

直线 f f f 就是沿着 y = 0 y=0 y=0 的一条直线。这时候是想要找一个 θ \theta θ 来让 f ( θ ) = 0 f(\theta)=0 f(θ)=0。这时候发现这个 θ \theta θ 值大概在 1.3 1.3 1.3 左右。加入咱们猜测的初始值设定为 θ = 4.5 \theta=4.5 θ=4.5。牛顿法就是在 θ = 4.5 \theta=4.5 θ=4.5 这个位置画一条切线(中间的图)。这样就给出了下一个 θ \theta θ 猜测值的位置,也就是这个切线的零点,大概是 2.8 2.8 2.8。最右面的图中的是再运行一次这个迭代产生的结果,这时候 θ \theta θ 大概是 1.8 1.8 1.8。就这样几次迭代之后,很快就能接近 θ = 1.3 \theta=1.3 θ=1.3。

初始值为 θ = 4.5 \theta=4.5 θ=4.5,其在曲线上对应点做切线,如中间图,与 y = 0 y=0 y=0交点大概在2.8。曲线对应2.8处再做切线得到下一个 θ 大 概 为 1.8 \theta大概为1.8 θ大概为1.8.反复迭代可求得曲线的0点。其实,上图中 tan α = f ′ ( θ ) = m n (22) \text{tan}\alpha = f'(\theta) = \frac{m}{n} \tag{22} tanα=f′(θ)=nm​(22) 而不严谨地有 f ( θ ) = m f(\theta)=m f(θ)=m,那么 n n n左边一段就是 θ ′ \theta' θ′且等于 θ − n = θ − f ( θ ) f ′ ( θ ) \theta-n=\theta- \frac {f(\theta)}{f'(\theta)} θ−n=θ−f′(θ)f(θ)​易得式21

牛顿法是求零点的方法,那么求$l(\theta) $最大值怎么用呢?

$l(\theta) 最 大 值 在 其 导 数 为 0 处 取 得 ( 不 严 谨 地 ) , 若 让 最大值在其导数为0处取得(不严谨地),若让 最大值在其导数为0处取得(不严谨地),若让f(\theta) = l’(\theta)$,我们有如下更新规则: θ : = θ − l ′ ( θ ) l ′ ′ ( θ ) (23) \theta := \theta - \frac {l'(\theta)}{l''(\theta)} \tag{23} θ:=θ−l′′(θ)l′(θ)​(23) 牛顿法拓展到多维情况就是Newton-Raphson method: θ : = θ − H − 1 ∇ θ l ( θ ) (24) \theta := \theta - H^{-1}\nabla_\theta l(\theta)\tag{24} θ:=θ−H−1∇θ​l(θ)(24) 其中 H H H是Hessian矩阵。

用牛顿法来最大化logistic 回归的似然函数 l ( θ ) l(\theta) l(θ),这个结果方法也叫Fisher scoring 。

Part3. 广义线性模型 GLMs

8. 指数簇 The exponential family

指数簇分布就是能写成如下形式: p ( y ; η ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) (25) p(y;\eta) =b(y)exp(\eta^TT(y)-a(\eta))\tag{25} p(y;η)=b(y)exp(ηTT(y)−a(η))(25) 其中:

η \eta η : 自然参数(natural parameter,也叫正则参数 canonical parameter)

T ( y ) T(y) T(y) : 充分统计量(sufficient statistic),经常使用 T ( y ) = y T (y) = y T(y)=y。

a ( η ) a(\eta) a(η) 是一个对数配分函数(log partition function)。

e − a ( η ) e^{−a(\eta)} e−a(η) 本质上扮演了归一化常数(normalization constant)的角色,也就是确保 p ( y ; η ) p(y; \eta) p(y;η) 的和或者积分等于 1 1 1。

如果给定 T ( y ) , a , b T(y),a, b T(y),a,b那么就定义了被参数 η \eta η控制的一个分布簇(或者集)。改变 η \eta η,我们能得到这簇中的不同分布。

伯努利分布按照式25可以写成: p ( y ; ϕ ) = ϕ y ( 1 − ϕ ) 1 − y = e x p ( y log ⁡ ϕ + ( 1 − y ) log ⁡ ( 1 − ϕ ) ) = e x p ( ( l o g ( ϕ 1 − ϕ ) ) y + log ⁡ ( 1 − ϕ ) ) (26) \begin{aligned} p(y;\phi) & = \phi ^y(1-\phi)^{1-y}\\ & = exp(y \log \phi + (1-y)\log(1-\phi))\\ & = exp( (log (\frac {\phi}{1-\phi}))y+\log (1-\phi) )\\ \end{aligned} \tag{26} p(y;ϕ)​=ϕy(1−ϕ)1−y=exp(ylogϕ+(1−y)log(1−ϕ))=exp((log(1−ϕϕ​))y+log(1−ϕ))​(26)

其中: η = l o g ( ϕ 1 − ϕ ) (27) \eta = log (\frac \phi {1 − \phi})\tag{27} η=log(1−ϕϕ​)(27) 把 η \eta η看作已知数可以解得:(这就是sigmoid函数) ϕ = 1 / ( 1 + e − η ) (28) \phi = 1/ (1 + e^{−\eta} )\tag{28} ϕ=1/(1+e−η)(28) 跟式25对比得到:

b ( η ) = 1 b(\eta) = 1 b(η)=1 T ( y ) = y T(y)=y T(y)=y a ( η ) = − log ⁡ ( 1 − ϕ ) = log ⁡ ( 1 + e η ) a( \eta) = - \log (1- \phi) = \log {(1+ e^ \eta)} a(η)=−log(1−ϕ)=log(1+eη)

高斯分布簇

在推导线性回归的时候, σ 2 \sigma^2 σ2 的值对我们最终选择的 θ \theta θ 和 h θ ( x ) h_\theta(x) hθ​(x) 都没有影响。所以我们可以给 σ 2 \sigma^2 σ2 取一个任意值。为了简化推导过程,就令 σ 2 = 1 \sigma^2 = 1 σ2=1。 6 ^6 6然后就有了下面的等式: p ( y ; μ ) = 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 ) (29) \begin{aligned} p(y;\mu) &= \frac 1{\sqrt{2\pi}} exp (- \frac 12 (y-\mu)^2) \\ & = \frac 1{\sqrt{2\pi}} exp (- \frac 12 y^2) \cdot exp (\mu y -\frac 12 \mu^2) \\ \end{aligned} \tag{29} p(y;μ)​=2π ​1​exp(−21​(y−μ)2)=2π ​1​exp(−21​y2)⋅exp(μy−21​μ2)​(29) 如果要写成式25形式那么 η = μ T ( y ) = y a ( η ) = μ 2 / 2 = η 2 / 2 b ( y ) = ( 1 / 2 π ) e x p ( − y 2 / 2 ) (30) \begin{aligned} \eta & = \mu \\ T(y) & = y \\ a(\eta) & = \mu ^2 /2\\ & = \eta ^2 /2\\ b(y) & = (1/ \sqrt {2\pi })exp(-y^2/2) \end{aligned} \tag{30} ηT(y)a(η)b(y)​=μ=y=μ2/2=η2/2=(1/2π ​)exp(−y2/2)​(30) 如果 σ 2 \sigma^2 σ2是一个变量,高斯分布也是指数分布簇。一维高斯分布证明如下, p ( x ∣ θ ) = 1 2 π σ exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) = 1 2 π σ 2 exp ⁡ ( − 1 2 σ 2 ( x 2 − 2 μ x + μ 2 ) ) = exp ⁡ ( log ⁡ ( 2 π σ 2 ) − 1 / 2 ) exp ⁡ ( − 1 2 σ 2 ( − 2 μ 1 ) ( x x 2 ) − μ 2 2 σ 2 ) = exp ⁡ ( ( μ σ 2 μ 2 2 σ 2 ) ( x x 2 ) − ( μ 2 2 σ 2 + 1 2 l o g 2 π σ 2 ) ) (31) \begin{aligned} p(x \mid \theta)&=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{(x-\mu)^{2}}{2 \sigma^{2}}\right)\\ &=\frac{1}{\sqrt{2 \pi \sigma^{2}}} \exp \left(-\frac{1}{2 \sigma^{2}}\left(x^{2}-2 \mu x+\mu^{2}\right)\right) \\ &=\exp \left(\log \left(2 \pi \sigma^{2}\right)^{-1 / 2}\right) \exp \left(-\frac{1}{2 \sigma^{2}}(-2 \mu \quad 1)\left(\begin{array}{c} x \\ x^{2} \end{array}\right)-\frac{\mu^{2}}{2 \sigma^{2}}\right)\\ &=\exp \left(\left(\begin{array}{ll} \frac{\mu}{\sigma^2} & \frac{\mu^{2}}{2 \sigma^{2}} \end{array}\right) \left(\begin{array}{l} x \\ x^{2} \end{array}\right)-(\frac{\mu^2}{2\sigma^2} + \frac{1}{2}log2\pi\sigma^2)\right) \end{aligned} \tag{31} p(x∣θ)​=2π ​σ1​exp(−2σ2(x−μ)2​)=2πσ2 ​1​exp(−2σ21​(x2−2μx+μ2))=exp(log(2πσ2)−1/2)exp(−2σ21​(−2μ1)(xx2​)−2σ2μ2​)=exp((σ2μ​​2σ2μ2​​)(xx2​)−(2σ2μ2​+21​log2πσ2))​(31) 其中, ( − 2 μ 1 ) ( x x 2 ) (32) \left(\begin{array}{ll} -2 \mu & 1 \end{array}\right)\left(\begin{array}{l} x \\ x^{2} \end{array}\right) \tag{32} (−2μ​1​)(xx2​)(32) 为点乘形式。式31跟式25比较得到 η T = ( μ σ 2 μ 2 2 σ 2 ) T ( x ) = ( x x 2 ) a ( η ) = ( μ 2 2 σ 2 + 1 2 l o g 2 π σ 2 ) ) \begin{aligned} \eta^T &= \left(\begin{array}{ll} \frac{\mu}{\sigma^2} & \frac{\mu^{2}}{2 \sigma^{2}} \end{array}\right)\\ T(x) &= \left(\begin{array}{l} x \\ x^{2} \end{array}\right)\\ a(\eta) &= \left(\frac{\mu^2}{2\sigma^2} + \frac{1}{2}log2\pi\sigma^2)\right) \end{aligned} ηTT(x)a(η)​=(σ2μ​​2σ2μ2​​)=(xx2​)=(2σ2μ2​+21​log2πσ2))​ 即: η = ( μ σ 2 − 1 2 σ 2 ) = ( η 1 η 2 ) (33) \eta=\left(\begin{array}{c} \frac{\mu}{\sigma^{2}} \\ -\frac{1}{2 \sigma^{2}} \end{array}\right)=\left(\begin{array}{l} \eta_{1} \\ \eta_{2} \end{array}\right)\tag{33} η=(σ2μ​−2σ21​​)=(η1​η2​​)(33) 由式33得: σ 2 = − 1 2 η 2 μ = η 1 σ 2 = η 1 − 2 η 2 \begin{aligned} \sigma^2 &= -\frac{1}{2\eta_{2}}\\ \\ \mu &= \eta_{1}\sigma^2=\frac{\eta_1}{-2\eta_2} \\ \end{aligned} σ2μ​=−2η2​1​=η1​σ2=−2η2​η1​​​ 还有 μ 2 2 σ 2 + 1 2 l o g 2 π σ 2 = − η 1 2 4 η 2 + 1 2 l o g ( − π η 2 ) (34) \frac{\mu^2}{2\sigma^2} + \frac{1}{2}log2\pi\sigma^2 = -\frac{\eta_1^2}{4\eta_2}+\frac{1}{2}log(-\frac{\pi}{\eta_2})\tag{34} 2σ2μ2​+21​log2πσ2=−4η2​η12​​+21​log(−η2​π​)(34) 所以式31可以写作: p ( x ∣ θ ) = exp ⁡ ( ( η 1 η 2 ) ( x x 2 ) − ( − η 1 2 4 η 2 + 1 2 l o g ( − π η 2 ) ) ) = exp ⁡ ( η T T ( x ) − a ( η ) ) (34) \begin{aligned} p(x \mid \theta)&=\exp \left(\left(\begin{array}{ll} \eta_1 & \eta_2 \end{array}\right) \left(\begin{array}{l} x \\ x^{2} \end{array}\right)-(-\frac{\eta_1^2}{4\eta_2}+\frac{1}{2}log(-\frac{\pi}{\eta_2}))\right)\\ &=\exp\left(\eta^TT(x) -a(\eta) \right) \end{aligned}\tag{34} p(x∣θ)​=exp((η1​​η2​​)(xx2​)−(−4η2​η12​​+21​log(−η2​π​)))=exp(ηTT(x)−a(η))​(34)

9.构建广义线性模型GLMs

一个分类或者回归问题,要预测作为 x x x 的一个函数的随机变量 y y y 的值。要推导适用于这个问题的广义线性模型,我们将作出给定 x x x , y y y 的条件分布三个假设:

y ∣ x ; θ ∼ E x p o n e n t i a l F a m i l y ( η ) y | x; \theta ∼ Exponential Family(\eta) y∣x;θ∼ExponentialFamily(η),即给定 x x x 和 θ , y \theta, y θ,y 的分布服从关于参数 η \eta η的指数簇。——假设1给定 x x x,对于给定的x,我们的目标是求出对于条件 x x x下 T ( y ) T(y) T(y) 的的期望,即 E [ T ( y ) ∣ x ] E[T(y)|x] E[T(y)∣x]。我们大部分例子都有 T ( y ) = y T(y) = y T(y)=y,这意味着我们希望通过学到的假设 h h h的预测 h ( x ) h(x) h(x)满足 h ( x ) = E [ y ∣ x ] h(x) = E[y|x] h(x)=E[y∣x]。(需要注意的是,这个假设不论是在逻辑回归还是线性回归的 h θ ( x ) h_θ(x) hθ​(x)的选择中都是成立的。例如,在逻辑回归中,我们有 h θ ( x ) = [ p ( y = 1 ∣ x ; θ ) ] = [ 0 ⋅ p ( y = 0 ∣ x ; θ ) + 1 ⋅ p ( y = 1 ∣ x ; θ ) ] = E [ y ∣ x ; θ ] h_\theta (x) = [p (y = 1|x; \theta)] =[ 0 \cdot p (y = 0|x; \theta)+1\cdot p(y = 1|x;\theta)] = E[y|x;\theta] hθ​(x)=[p(y=1∣x;θ)]=[0⋅p(y=0∣x;θ)+1⋅p(y=1∣x;θ)]=E[y∣x;θ]——假设2自然参数 η \eta η 和输入值 x x x 是线性相关的, η = θ T x \eta = \theta^T x η=θTx,或者如果 η \eta η 是向量,则有 η i = θ i T x \eta_i = \theta_i^T x ηi​=θiT​x。——假设3

9.构建广义线性模型GLMs

一个分类或者回归问题,要预测作为 x x x 的一个函数的随机变量 y y y 的值。要推导适用于这个问题的广义线性模型,我们将作出给定 x x x , y y y 的条件分布三个假设:

y ∣ x ; θ ∼ E x p o n e n t i a l F a m i l y ( η ) y | x; \theta ∼ Exponential Family(\eta) y∣x;θ∼ExponentialFamily(η),即给定 x x x 和 θ , y \theta, y θ,y 的分布服从关于参数 η \eta η的指数簇。——假设1给定 x x x,对于给定的x,我们的目标是求出对于条件 x x x下 T ( y ) T(y) T(y) 的的期望,即 E [ T ( y ) ∣ x ] E[T(y)|x] E[T(y)∣x]。我们大部分例子都有 T ( y ) = y T(y) = y T(y)=y,这意味着我们希望通过学到的假设 h h h的预测 h ( x ) h(x) h(x)满足 h ( x ) = E [ y ∣ x ] h(x) = E[y|x] h(x)=E[y∣x]。(需要注意的是,这个假设不论是在逻辑回归还是线性回归的 h θ ( x ) h_θ(x) hθ​(x)的选择中都是成立的。例如,在逻辑回归中,我们有 h θ ( x ) = [ p ( y = 1 ∣ x ; θ ) ] = [ 0 ⋅ p ( y = 0 ∣ x ; θ ) + 1 ⋅ p ( y = 1 ∣ x ; θ ) ] = E [ y ∣ x ; θ ] h_\theta (x) = [p (y = 1|x; \theta)] =[ 0 \cdot p (y = 0|x; \theta)+1\cdot p(y = 1|x;\theta)] = E[y|x;\theta] hθ​(x)=[p(y=1∣x;θ)]=[0⋅p(y=0∣x;θ)+1⋅p(y=1∣x;θ)]=E[y∣x;θ]——假设2自然参数 η \eta η 和输入值 x x x 是线性相关的, η = θ T x \eta = \theta^T x η=θTx,或者如果 η \eta η 是向量,则有 η i = θ i T x \eta_i = \theta_i^T x ηi​=θiT​x。——假设3

9.1 普通最小二乘

​ 为了证明普通最小二乘是GLM中的特例,把目标变量 y y y(在GLM术语中又叫响应变量response variable)看作是连续的,我们用高斯分布建立定 x x x下 y y y的条件分布概率模型。( μ \mu μ可能依赖与 x x x)。高斯分布是指数簇,且有 μ = η \mu =\eta μ=η。因此,我们有(第一行是假设2,第三行是假设1,最后一行是假设3): h θ ( x ) = E [ y ∣ x ; θ ] = μ = η = θ T x (36) \begin{aligned} h_\theta(x)& = E[y|x;\theta] \\ & = \mu \\ & = \eta \\ & = \theta^Tx\\ \end{aligned} \tag{36} hθ​(x)​=E[y∣x;θ]=μ=η=θTx​(36)

9.2 Logistic Regression

我们用伯努利簇分布来对给定 x x x下 y , y ∈ 0 , 1 y, y\in{0, 1} y,y∈0,1的分布进行建模,因为伯努利分布是指数簇分布,那么有式28 ϕ = 1 / ( 1 + e − η ) \phi = 1/ (1 + e^{−\eta} ) ϕ=1/(1+e−η),并且如果有 y ∣ x ; θ ∼ B e r n o u l l i ( ϕ ) y|x; \theta ∼ Bernoulli(\phi) y∣x;θ∼Bernoulli(ϕ),那么 E [ y ∣ x ; θ ] = ϕ E [y|x; \theta] = \phi E[y∣x;θ]=ϕ。跟普通最小二乘一样我们可以得到: h θ ( x ) = E [ y ∣ x ; θ ] = ϕ = 1 / ( 1 + e − η ) = 1 / ( 1 + e − θ T x ) (37) \begin{aligned} h_\theta(x)& = E[y|x;\theta] \\ & = \phi \\ & = 1/(1+ e^{-\eta}) \\ & = 1/(1+ e^{-\theta^Tx})\\ \end{aligned} \tag{37} hθ​(x)​=E[y∣x;θ]=ϕ=1/(1+e−η)=1/(1+e−θTx)​(37) 最后一行用假设3.

关于自然参数 η \eta η的函数 g g g给出分布均值 g ( η ) = E [ T ( y ) ; η ] g(\eta) = E[T(y); \eta] g(η)=E[T(y);η],这个函数 g g g称作正则响应函数(canonical response function),其逆称作正则关联函数(canonical link function)。

我们有一个关于自然参数η的函数g给出了分布均值()时,我们可以把这个函数称作正则响应函数(canonical response function),其逆称作正则关联函数(canonical link function)。对于高斯分布,正则响应函数就是identify function;对于伯努利分布就是逻辑函数(很多教材将 g g g作为连接函数link function,而用 g − 1 g^{−1} g−1 来表示正则响应函数,但我们在这里的表示法沿用以往的机器学习课程,并将在后面的课程中继续使用这种记法。)

9.3 Softmax Regression

​ 如果在分类问题中,响应变量 y y y可以取 k k k个值, y ∈ 1 , 2 , … , k y \in{1, 2, \ldots, k} y∈1,2,…,k。这时候我们就要使用多项分布multinomial distribution 来建模。

要想建立这类问题的广义线性模型,我们首先需要将多项分布表达成指数分布簇的形式。

为了参数化 k k k可能取值的对象分布,我们使用 k k k参数,用来表示每个可能取值发生的概率。但是这样设置关于造成冗余,其实,这些参数是线性相关的。(对于任意一个 ϕ i \phi_ i ϕi​中的值来说,只要知道其中的 k − 1 k-1 k−1 个 ϕ i \phi_i ϕi​值,就能知道这最后一个了,因为必须满足 ∑ i = 1 k ϕ i = 1 \sum^k_{i=1} \phi_i = 1 ∑i=1k​ϕi​=1)。所以我们用 k − 1 k-1 k−1个参数 ϕ 1 , . . . , ϕ k − 1 \phi_1,...,\phi_ {k-1} ϕ1​,...,ϕk−1​ 来参数化多项分布,其中 ϕ i = p ( y = i ; ϕ ) , p ( y = k ; ϕ ) = 1 − ∑ i = 1 k − 1 ϕ i \phi_i = p (y = i; \phi),p (y = k; \phi) = 1 −\sum ^{k−1}_{i=1}\phi_ i ϕi​=p(y=i;ϕ),p(y=k;ϕ)=1−∑i=1k−1​ϕi​。为了记号方便,让 ϕ k = 1 − ∑ i = 1 k − 1 ϕ i \phi_k = 1 − \sum_{i=1}^{k−1} \phi_i ϕk​=1−∑i=1k−1​ϕi​,但一定要注意,这个并它不是一个参数,而是完全由其他的 k − 1 k-1 k−1 个参数来确定的。

要把一个多项式表达成指数簇分布,定义 T ( y ) ∈ R k − 1 T (y) \in R^{k−1} T(y)∈Rk−1:

T ( 1 ) = [ 1 0 0 ⋮ 0 ] , T ( 2 ) = [ 0 1 0 ⋮ 0 ] , T ( 3 ) = [ 0 0 1 ⋮ 0 ] , T ( k − 1 ) = [ 0 0 0 ⋮ 1 ] , T ( k ) = [ 0 0 0 ⋮ 0 ] , (38) T(1)= \begin{bmatrix} 1\\ 0\\ 0\\ \vdots \\ 0\\ \end{bmatrix}, T(2)= \begin{bmatrix} 0\\ 1\\ 0\\ \vdots \\ 0\\ \end{bmatrix}, T(3)= \begin{bmatrix} 0\\ 0\\ 1\\ \vdots \\ 0\\ \end{bmatrix}, T(k-1)= \begin{bmatrix} 0\\ 0\\ 0\\ \vdots \\ 1\\ \end{bmatrix}, T(k)= \begin{bmatrix} 0\\ 0\\ 0\\ \vdots \\ 0\\ \end{bmatrix}, \tag{38} T(1)=⎣⎢⎢⎢⎢⎢⎡​100⋮0​⎦⎥⎥⎥⎥⎥⎤​,T(2)=⎣⎢⎢⎢⎢⎢⎡​010⋮0​⎦⎥⎥⎥⎥⎥⎤​,T(3)=⎣⎢⎢⎢⎢⎢⎡​001⋮0​⎦⎥⎥⎥⎥⎥⎤​,T(k−1)=⎣⎢⎢⎢⎢⎢⎡​000⋮1​⎦⎥⎥⎥⎥⎥⎤​,T(k)=⎣⎢⎢⎢⎢⎢⎡​000⋮0​⎦⎥⎥⎥⎥⎥⎤​,(38)

注意:不像之前,不再有 T ( y ) = y T(y) = y T(y)=y,标签 T ( y ) T(y) T(y)是 k − 1 k-1 k−1维向量,不是实数。记 ( T ( y ) ) i (T(y))_i (T(y))i​为向量 T ( y ) T(y) T(y)第 i i i个元素。

接下来,介绍指示函数indicator function。

如果参数值为真就返回1;反之返回0。( 1 { T r u e } = 1 , 1 { F a l s e } = 0 1\{True\} = 1, 1\{False\} = 0 1{True}=1,1{False}=0)

例如, 1 { 2 = 3 } = 0 1\{2 = 3\} = 0 1{2=3}=0, 而 1 { 3 = 5 − 2 } = 1 1\{3 = 5 − 2\} = 1 1{3=5−2}=1。

所以,我们可以吧 T ( y ) T(y) T(y)和 y y y之间关系记为 ( T ( y ) ) i = 1 { y = i } (T(y))_i = 1\{y = i\} (T(y))i​=1{y=i}。(理解为 y y y的取值和 i i i相同,取到 T ( y ) T(y) T(y)向量的第 y y y个值时就是参数为真,指示函数才会输出1)。

并且有: E [ ( T ( y ) ) i ] = P ( y = i ) = ϕ i (39) E[(T(y))_i] = P (y = i) = \phi_i\tag{39} E[(T(y))i​]=P(y=i)=ϕi​(39) 现在,证明多项分布是指数簇一员,有: p ( y ; ϕ ) = ϕ 1 1 { y = 1 } ϕ 2 1 { y = 2 } … ϕ k 1 { y = k } = ϕ 1 1 { y = 1 } ϕ 2 1 { y = 2 } … ϕ k 1 − ∑ i = 1 k − 1 1 { y = i } = ϕ 1 ( T ( y ) ) 1 ϕ 2 ( T ( y ) ) 2 … ϕ k 1 − ∑ i = 1 k − 1 ( T ( y ) ) i = exp ⁡ ( ( T ( y ) ) 1 l o g ( ϕ 1 ) + ( T ( y ) ) 2 l o g ( ϕ 2 ) + ⋯ + ( 1 − ∑ i = 1 k − 1 ( T ( y ) ) i ) l o g ( ϕ k ) ) = exp ⁡ ( ( ( T ( y ) ) 1 l o g ( ϕ 1 ϕ k ) + ( T ( y ) ) 2 l o g ( ϕ 2 ϕ k ) + ⋯ + ( T ( y ) ) k − 1 l o g ( ϕ k − 1 ϕ k ) + l o g ( ϕ k ) ) ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) (40) \begin{aligned} p(y;\phi) &=\phi_1^{1\{y=1\}}\phi_2^{1\{y=2\}}\dots \phi_k^{1\{y=k\}} \\ &=\phi_1^{1\{y=1\}}\phi_2^{1\{y=2\}}\dots \phi_k^{1-\sum_{i=1}^{k-1}1\{y=i\}} \\ &=\phi_1^{(T(y))_1}\phi_2^{(T(y))_2}\dots \phi_k^{1-\sum_{i=1}^{k-1}(T(y))_i } \\ &=\exp \left((T(y))_1 log(\phi_1)+(T(y))_2 log(\phi_2)+\dots+(1-\sum_{i=1}^{k-1}(T(y))_i)log(\phi_k) \right) \\ &= \exp \left(((T(y))_1 log(\frac{\phi_1}{\phi_k})+(T(y))_2 log(\frac{\phi_2}{\phi_k})+\dots+(T(y))_{k-1}log(\frac{\phi_{k-1}}{\phi_k})+log(\phi_k))\right) \\ &=b(y)exp(\eta^T T(y)-a(\eta)) \end{aligned}\tag{40} p(y;ϕ)​=ϕ11{y=1}​ϕ21{y=2}​…ϕk1{y=k}​=ϕ11{y=1}​ϕ21{y=2}​…ϕk1−∑i=1k−1​1{y=i}​=ϕ1(T(y))1​​ϕ2(T(y))2​​…ϕk1−∑i=1k−1​(T(y))i​​=exp((T(y))1​log(ϕ1​)+(T(y))2​log(ϕ2​)+⋯+(1−i=1∑k−1​(T(y))i​)log(ϕk​))=exp(((T(y))1​log(ϕk​ϕ1​​)+(T(y))2​log(ϕk​ϕ2​​)+⋯+(T(y))k−1​log(ϕk​ϕk−1​​)+log(ϕk​)))=b(y)exp(ηTT(y)−a(η))​(40) 比较有: η = [ log ⁡ ( ϕ 1 / ϕ k ) log ⁡ ( ϕ 2 / ϕ k ) ⋮ log ⁡ ( ϕ k − 1 / ϕ k ) ] , a ( η ) = − log ⁡ ( ϕ k ) b ( y ) = 1 (41) \begin{aligned} &\eta = \begin{bmatrix} \log (\phi _1/\phi _k)\\ \log (\phi _2/\phi _k)\\ \vdots \\ \log (\phi _{k-1}/\phi _k)\\ \end{bmatrix}, \\ \\ &a(\eta) = -\log (\phi _k)\\ &b(y) = 1\\ \end{aligned} \tag{41} ​η=⎣⎢⎢⎢⎡​log(ϕ1​/ϕk​)log(ϕ2​/ϕk​)⋮log(ϕk−1​/ϕk​)​⎦⎥⎥⎥⎤​,a(η)=−log(ϕk​)b(y)=1​(41) 这就证明了多项分布是指数簇一员。正则连接函数(参数 η η η关于期望 Φ Φ Φ的函数)给定为: η i = log ⁡ ϕ i ϕ k (42) \eta_i =\log \frac {\phi_i}{\phi_k} \tag{42} ηi​=logϕk​ϕi​​(42) link function一些说明。

为了方便,我们定义 η k = log ⁡ ( ϕ k / ϕ k ) = 0 \eta_k = \log (\phi_k/\phi_k) = 0 ηk​=log(ϕk​/ϕk​)=0。把link function 转变为响应函数(反函数),可以看作激活函数。我们有 e η i = ϕ i ϕ k ϕ k e η i = ϕ i (**) ϕ k ∑ i = 1 k e η i = ∑ i = 1 k ϕ i = 1 (*) (43) \begin{aligned} e^{\eta_i} &= \frac {\phi_i}{\phi_k}\\ \phi_k e^{\eta_i} &= \phi_i \qquad\text{(**)}\\ \phi_k \sum^k_{i=1} e^{\eta_i}&= \sum^k_{i=1}\phi_i= 1 \qquad\text{(*)}\\ \end{aligned} \tag{43} eηi​ϕk​eηi​ϕk​i=1∑k​eηi​​=ϕk​ϕi​​=ϕi​(**)=i=1∑k​ϕi​=1(*)​(43) 式*可以得到 ϕ k = 1 ∑ i = 1 k e η i \phi_k = \frac 1 {\sum^k_{i=1} e^{\eta_i}} ϕk​=∑i=1k​eηi​1​,再回代入式可以得到响应函数: ϕ i = e η i ∑ j = 1 k e η j (44) \phi_i = \frac { e^{\eta_i} }{ \sum^k_{j=1} e^{\eta_j}} \tag{44} ϕi​=∑j=1k​eηj​eηi​​(44) 这个函数把 η \eta η映射到 ϕ \phi ϕ叫作softmax函数**。

softmax regression model

利用假设3, η i \eta_i ηi​与 x x x线性相关,因此有: η i = θ i T x ( f o r i = 1 , . . . , k − 1 ) \eta_i= \theta_i^Tx (for\quad i = 1, ..., k − 1) ηi​=θiT​x(fori=1,...,k−1),其中的 θ 1 , . . . , θ k − 1 ∈ R n + 1 \theta_1, ..., \theta_{k−1} \in R^{n+1} θ1​,...,θk−1​∈Rn+1 就是我们模型的参数。还定义 θ k = 0 \theta_k = 0 θk​=0,这样就有 η k = θ k T x = 0 \eta_k = \theta_k^T x = 0 ηk​=θkT​x=0,跟前面原因一样,因此,我们的模型就表示在条件 x x x已知的情况下求 y y y的分布(结合式43): p ( y = i ∣ x ; θ ) = ϕ i = e η i ∑ j = 1 k e η j = e θ i T x ∑ j = 1 k e θ j T x (45) \begin{aligned} p(y=i|x;\theta) &= \phi_i \\ &= \frac {e^{\eta_i}}{\sum^k_{j=1}e^{\eta_j}}\\ &=\frac {e^{\theta_i^Tx}}{\sum^k_{j=1}e^{\theta_j^Tx}}\\ \end{aligned}\tag{45} p(y=i∣x;θ)​=ϕi​=∑j=1k​eηj​eηi​​=∑j=1k​eθjT​xeθiT​x​​(45) 这个模型应用到 y ∈ 1 , 2 , … , k y \in {1, 2, \ldots, k} y∈1,2,…,k分类问题时,被称作softmax regression。这就是logistic regression一般形式。

接着,我们的输出为(结合式39): h θ ( x ) = E [ T ( y ) ∣ x ; θ ] = E [ 1 ( y = 1 ) 1 ( y = 2 ) ⋮ 1 ( y = k − 1 ) x ; θ ] = [ ϕ 1 ϕ 2 ⋮ ϕ k − 1 ] = [ e x p ( θ 1 T x ) ∑ j = 1 k e x p ( θ j T x ) e x p ( θ 2 T x ) ∑ j = 1 k e x p ( θ j T x ) ⋮ e x p ( θ k − 1 T x ) ∑ j = 1 k e x p ( θ j T x ) ] (46) \begin{aligned} h_\theta (x) &= E[T(y)|x;\theta]\\ &= E \left[ \begin{array}{cc|c} 1(y=1)\\ 1(y=2)\\ \vdots \\ 1(y=k-1)\\ \end{array}x;\theta \right]\\ \\ &= \left[ \begin{array}{c} \phi_1\\ \phi_2\\ \vdots \\ \phi_{k-1}\\ \end{array} \right]\\ \\ &= \left[ \begin{array}{ccc} \frac {exp(\theta_1^Tx)}{\sum^k_{j=1}exp(\theta_j^Tx)} \\ \frac {exp(\theta_2^Tx)}{\sum^k_{j=1}exp(\theta_j^Tx)} \\ \vdots \\ \frac {exp(\theta_{k-1}^Tx)}{\sum^k_{j=1}exp(\theta_j^Tx)} \\ \end{array} \right]\\ \end{aligned} \tag{46} hθ​(x)​=E[T(y)∣x;θ]=E⎣⎢⎢⎢⎡​1(y=1)1(y=2)⋮1(y=k−1)​x;θ⎦⎥⎥⎥⎤​=⎣⎢⎢⎢⎡​ϕ1​ϕ2​⋮ϕk−1​​⎦⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎢⎡​∑j=1k​exp(θjT​x)exp(θ1T​x)​∑j=1k​exp(θjT​x)exp(θ2T​x)​⋮∑j=1k​exp(θjT​x)exp(θk−1T​x)​​⎦⎥⎥⎥⎥⎥⎥⎤​​(46) 换句话说,我们的假设将对每一个 i = 1 , … , k . i = 1, \ldots, k. i=1,…,k.值输出概率估计 p ( y = i ∣ x ; θ ) p (y = i|x; \theta) p(y=i∣x;θ) 。( 尽管 h θ ( x ) h_\theta(x) hθ​(x) 定义在 k − 1 k-1 k−1 维,但显而易见, p ( y = k ∣ x ; θ ) p (y = k|x; \theta) p(y=k∣x;θ) 可以通过 1 − ∑ i = 1 k − 1 ϕ i 1− \sum^{k-1}_{i=1}\phi_i 1−∑i=1k−1​ϕi​得到。)

最后,讨论下参数拟合。

跟前面原始最小二乘法一样,如果训练集中有 m m m个训练样本,想通过学习算法得到,则需要同以前一样,先写出似然函数: L ( θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) = ∏ i = 1 m ( ϕ 1 1 { y ( i ) = 1 } ϕ 2 1 { y ( i ) = 2 } … ϕ k 1 { y ( i ) = k } ) = ∏ i = 1 m ( ∏ l = 1 k ( exp ⁡ ( θ l T x ( i ) ) ∑ j = 1 k exp ⁡ ( θ j T x ( j ) ) ) 1 { y ( i ) = l } ) (47) \begin{aligned} L(\theta) &=\prod_{i=1}^{m} p\left(y^{(i)} \mid x^{(i)} ; \theta\right) \\ &=\prod_{i=1}^{m}\left(\phi_{1}^{1\left\{y^{(i)}=1\right\}} \phi_{2}^{1\left\{y^{(i)}=2\right\}} \ldots \phi_{k}^{1\left\{y^{(i)}=k\right\}}\right) \\ &=\prod_{i=1}^{m}\left(\prod_{l=1}^{k}\left(\frac{\exp \left(\theta_{l}^{T} x^{(i)}\right)}{\sum_{j=1}^{k} \exp \left(\theta_{j}^{T} x^{(j)}\right)}\right)^{1\left\{y^{(i)}=l\right\}}\right) \end{aligned} \tag{47} L(θ)​=i=1∏m​p(y(i)∣x(i);θ)=i=1∏m​(ϕ11{y(i)=1}​ϕ21{y(i)=2}​…ϕk1{y(i)=k}​)=i=1∏m​⎝⎛​l=1∏k​(∑j=1k​exp(θjT​x(j))exp(θlT​x(i))​)1{y(i)=l}⎠⎞​​(47) 对数似然为: l ( θ ) = ∑ i = 1 m log ⁡ p ( y ( i ) ∣ x ( i ) ; θ ) = ∑ i = 1 m l o g ∏ l = 1 k ( e θ l T x ( i ) ∑ j = 1 k e θ j T x ( i ) ) 1 ( y ( i ) = l ) (48) \begin{aligned} l(\theta)& =\sum^m_{i=1} \log p(y^{(i)}|x^{(i)};\theta)\\ &= \sum^m_{i=1}log\prod ^k_{l=1}(\frac {e^{\theta_l^Tx^{(i)}}}{\sum^k_{j=1} e^{\theta_j^T x^{(i)}}})^{1(y^{(i)}=l)}\\ \end{aligned}\tag{48} l(θ)​=i=1∑m​logp(y(i)∣x(i);θ)=i=1∑m​logl=1∏k​(∑j=1k​eθjT​x(i)eθlT​x(i)​)1(y(i)=l)​(48) 使用了式45得到第二行,我们可以用梯度上升法和牛顿法来得到参数 θ \theta θ的似然函数 l ( θ ) l(\theta) l(θ)最大似然估计。

最新回复(0)