CS229 Lecture 4

CS229 Lecture 4

这节课听的也是不太懂,先把笔记记下来

课程要点:

牛顿方法
广义线性模型
指数分布族
多项式分布


牛顿方法
牛顿方法提供了一种求解极值的方法,它需要迭代的次数会较梯度下降、上升之类的算法少很多。
牛顿方法

上图中左子图中有函数 f ( x ) f(x) f(x)要求解其与 x x x轴的交点,一种方法是选一点 x 0 x_{0} x0,计算其在对应的 f ( x 0 ) f(x_0) f(x0),过 ( x 0 , f ( x 0 ) ) (x_0,f(x_0)) (x0,f(x0))做一条切线与 x x x轴的交点为 x 1 x_1 x1,如图中,中间子图。接着计算 f ( x 1 ) f(x_1) f(x1)的值,再过 ( x 1 , f ( x 1 ) ) (x_1,f(x_1)) (x1,f(x1))做一条切线交 x x x轴于 x 2 x_2 x2,如图中右子图。如此迭代直到 f ( x ? ) = 0 f(x_?)=0 f(x?)=0

下面用公式表达其迭代过程(由于我们一般求解的是 θ \theta θ把上面的 x x x替换为 θ \theta θ):

f ( θ ) f(\theta) f(θ) f i n d find find θ \theta θ s . t    f ( θ ) s.t\,\, f(\theta) s.tf(θ)

f ′ ( θ ( 0 ) ) = f ( θ ( 0 ) ) △          △ = f ( θ ( 0 ) ) f ′ ( θ ( 0 ) ) f^{'}(\theta^{(0)})=\frac{f(\theta^{(0)})}{\triangle}\,\,\,\,\,\,\,\,\triangle=\frac{f(\theta^{(0)})}{f^{'}(\theta^{(0)})} f(θ(0))=f(θ(0))=f(θ(0))f(θ(0))

θ ( 1 ) = θ ( 0 ) − f ( θ ( 0 ) ) f ′ ( θ ( 0 ) ) \theta^{(1)}=\theta^{(0)}-\frac{f(\theta^{(0)})}{f^{'}(\theta^{(0)})} θ(1)=θ(0)f(θ(0))f(θ(0))

θ ( t + 1 ) = θ ( t ) − f ( θ ( t ) ) f ′ ( θ ( t ) ) \theta^{(t+1)}=\theta^{(t)}-\frac{f(\theta^{(t)})}{f^{'}(\theta^{(t)})} θ(t+1)=θ(t)f(θ(t))f(θ(t))

从上面的推导可以看出,牛顿方法的迭代规律,使用其求解似然函数 L ( θ ) L(\theta) L(θ):

L ( θ ) L(\theta) L(θ)    w a n t want want θ \theta θ s . t s.t s.t L ′ ( θ ) = 0 L^{'}(\theta)=0 L(θ)=0

θ ( t + 1 ) = θ ( t ) − L ′ ( θ ( t ) ) L ′ ′ ( θ ( t ) ) \theta^{(t+1)}=\theta^{(t)}-\frac{L^{'}(\theta^{(t)})}{L^{''}(\theta^{(t)})} θ(t+1)=θ(t)L(θ(t))L(θ(t))

牛顿方法的收敛速度非常快,在收敛到较小时可以达到二次收敛的效果:

0.01 e r r o r → 0.001 e r r o r → 0.00001 e r r o r 0.01 error\rightarrow0.001 error\rightarrow0.00001 error 0.01error0.001error0.00001error

如果需要迭代的 θ \theta θ并不是一个实数而是向量的画,牛顿方法的迭代公式为:
θ ( t + 1 ) = θ ( t ) − H − 1 ▽ θ L \theta^{(t+1)}=\theta^{(t)}-H^{-1}\bigtriangledown_{\theta}L θ(t+1)=θ(t)H1θL
其中 H H H H e s s i a n Hessian Hessian矩阵,其形状为 n ∗ n n*n nn ( n + 1 ) ∗ ( n + 1 ) (n+1)*(n+1) (n+1)(n+1),且 H i j = ∂ 2 L ∂ θ i ∂ θ j H_{ij}=\frac{\partial^{2}L}{\partial\theta_{i}\partial\theta_{j}} Hij=θiθj2L

虽然说牛顿迭代的次数要相对于梯度方法要少很多,但是如果矩阵 H H H并不小的话(特征数很多),计算这个矩阵的逆代价还是挺高的,所以整体下来耗费的计算量并不一定比梯度方法少。

牛顿方法求极致不论是极大还是极小其迭代公式都是一样的。


广义线性模型

前面学过的最小二乘使用的假设是高斯分布, p ( y ∣ x ; θ ) p(y|x;\theta) p(yx;θ) 其中 y ∈ R y\in R yR,还有逻辑回归,使用的是伯努利分布( B e r n o u l l i Bernoulli Bernoulli)分布, y ∈ { 0 , 1 } y\in \{0,1\} y{0,1}

实际上上面提到的高斯分布和伯努利分布都属于指数分布族( e x p o n e n t i a l f a m i l y exponential family exponentialfamily),如果满足指数分布族那么分布函数可以被写成:
p ( y ; η ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) p(y;\eta) = b(y)exp(\eta^{T}T(y) − a(\eta)) p(y;η)=b(y)exp(ηTT(y)a(η))

其中 η \eta η被称为自然参数( n a t u r a l    p a r a m e t e r natural\,\,parameter naturalparameter)也叫标准参数( c a n o n i c a l    p a r a m e t e r canonical\,\,parameter canonicalparameter)。 T ( y ) T(y) T(y)被称为充分统计量,在通常情况下 T ( y ) = y T(y)=y T(y)=y,最后 a ( η ) a(\eta) a(η)被称为 l o g    p a r t i t i o n    f u n c t i o n log\,\,partition\,\,function logpartitionfunction其中 T , a , b T,a,b T,a,b的形式确定了 p ( y ; η ) p(y;\eta) p(y;η)分布所属的类型,而 η \eta η则改变了此种分布的分布状态。例如伯努利分布函数 p ( y = 1 ; ϕ ) = ϕ p(y=1;\phi)=\phi p(y=1;ϕ)=ϕ,当我们改变 η \eta η的时候,也就对应改变了 ϕ \phi ϕ


伯努利分布是指数分族的一个特例:

B e r ( ϕ ) Ber(\phi) Ber(ϕ) 对应于 p ( y = 1 ; ϕ ) = ϕ p(y=1;\phi)=\phi p(y=1;ϕ)=ϕ

既然说伯努利分布是指数分布族的一个特例,那么将对应的 T , a , b T,a,b T,a,b都是啥?伯努利分布的结果只有两种 { 0 , 1 } \{0,1\} {0,1}
p ( y ; ϕ ) = ϕ y ( 1 − ϕ ) 1 − y = e x p ( l o g ( ϕ y ( 1 − ϕ ) 1 − y ) ) = e x p ( y l o g ϕ + ( 1 − y ) l o g ( 1 − ϕ ) ) = e x p ( y l o g ( ϕ ( 1 − ϕ ) ) + l o g ( 1 − ϕ ) ) p(y;\phi)=\phi^{y}(1-\phi)^{1-y}=exp(log(\phi^{y}(1-\phi)^{1-y}))\\ =exp(ylog\phi+(1-y)log(1-\phi))\\ =exp(ylog(\frac{\phi}{(1-\phi)})+log(1-\phi)) p(y;ϕ)=ϕy(1ϕ)1y=exp(log(ϕy(1ϕ)1y))=exp(ylogϕ+(1y)log(1ϕ))=exp(ylog((1ϕ)ϕ)+log(1ϕ))

从上面的公式可以看出 η = l o g ( ϕ 1 − ϕ ) \eta=log(\frac{\phi}{1-\phi}) η=log(1ϕϕ), T ( y ) = y T(y)=y T(y)=y, a ( η ) = − l o g ( 1 − ϕ ) a(\eta)=-log(1-\phi) a(η)=log(1ϕ) b ( y ) = 1 b(y)=1 b(y)=1,可以得出 ϕ = 1 1 + e − η \phi=\frac{1}{1+e^{-\eta}} ϕ=1+eη1


高斯分布是指数分布族的一个特例

我们直到高斯分布 N ~ ( u , σ 2 ) N~(u,\sigma^{2}) N(u,σ2),前面讨论其实 σ 2 \sigma^{2} σ2取多大其实对求解最大值并没有影响,为了推导方便设 σ 2 = 1 \sigma^{2}=1 σ2=1:
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 ) \frac{1}{\sqrt{2\pi}}exp^{-\frac{1}{2}(y-\mu)^{2}}=\frac{1}{\sqrt{2\pi}}exp^{(-\frac{1}{2}y^2)}exp^{(\mu y-\frac{1}{2}\mu^2)} 2π 1exp21(yμ)2=2π 1exp(21y2)exp(μy21μ2)

这里可以得到:
μ = η \mu=\eta μ=η

T ( y ) = y T(y)=y T(y)=y

a ( n ) = μ 2 2 = η 2 2 a(n)=\frac{\mu^{2}}{2}=\frac{\eta^2}{2} a(n)=2μ2=2η2

b ( y ) = 1 2 π e x p ( − 1 2 y 2 ) b(y)=\frac{1}{\sqrt{2\pi}}exp^{(-\frac{1}{2}y^2)} b(y)=2π 1exp(21y2)

其实还有很多分布如泊松分布、多项式分布也是指数分布族


广义线性模型(GLM)

根据基于 x , y x,y x,y的条件分布构建广义线性模型需要基于3个假设:

  • y ∣ x ; θ ∼ E x p o n e n t i a l    F a m i l y y|x;\theta\sim Exponential\,\,Family yx;θExponentialFamily即给定 x x x及参数 θ \theta θ y y y的分布服从指数分布族,这个指数分布族的参数是 η \eta η
  • 给定 x x x,我们目标是预测 T ( y ) T(y) T(y),在大多数情况下 T ( y ) = y T(y)=y T(y)=y,这意味着我们我们学习到的模型 h h h h ( x ) = E [ y ∣ x ] h(x)=E[y|x] h(x)=E[yx]
  • 输入 x x x η \eta η满足线性关系,通常情况下为 η = θ T x \eta=\theta^Tx η=θTx,如果 η \eta η是向量的话满足 η i = θ i T x \eta_i=\theta_{i}^{T}x ηi=θiTx

如果我们模型能满足这些假设条件,我们就称其为广义线性模型,满足这个模型的话,会拥有很多优秀的属性,广义线性模型可以很好模拟不同的分布。

例如在逻辑回归里面,我们要预测的 y ∈ { 0 , 1 } y\in\{0,1\} y{0,1},那么很自然的想到伯努利分布,即 y ∣ x ; θ ∼ B e r n o u l l i ( ϕ ) y|x; θ ∼ Bernoulli(\phi) yx;θBernoulli(ϕ) E [ y ∣ x ; θ ] = ϕ E[y|x;\theta]=\phi E[yx;θ]=ϕ

h θ ( x ) = E [ y ∣ x ; θ ] = ϕ = 1 / ( 1 + e − η ) = 1 / ( e − θ T x ) h_{\theta}(x)=E[y|x;\theta]=\phi=1/(1+e^{-\eta})=1/(e^{-\theta^Tx}) hθ(x)=E[yx;θ]=ϕ=1/(1+eη)=1/(eθTx)

上式中第一个等式是因为伯努利的期望等于 ϕ \phi ϕ,第二个等式是基于前面推导的 ϕ \phi ϕ η \eta η的关系,第三个等式是因为等三个假设。

上面就得出来了逻辑回归的公式。其中 g ( η ) = E [ T ( y ) ; η ] = 1 / ( e − η ) g(\eta)=E[T(y);\eta]=1/(e^{-\eta}) g(η)=E[T(y);η]=1/(eη),这个 g g g被称为正则响应函数(canonical response function), g − 1 g^{-1} g1被称为正则关联函数。


多项式分布和softmax regression

现在又一个多元分类问题,即 y ∈ { 1 , 2 , 3 , ⋯   , k } y\in\{1,2,3,\cdots,k\} y{1,2,3,,k}。概率分布为 p ( y = i ) = ϕ i p(y=i)=\phi_i p(y=i)=ϕi,现在有参数 ϕ 1 , ϕ 2 , ⋯   , ϕ k \phi_1,\phi_2,\cdots,\phi_k ϕ1,ϕ2,,ϕk。实际上 ϕ k = 1 − ϕ 1 , ϕ 2 , ⋯   , ϕ k − 1 \phi_k=1-\phi_1,\phi_2,\cdots,\phi_{k-1} ϕk=1ϕ1,ϕ2,,ϕk1。所有 k − 1 k-1 k1个参数 ϕ 1 , ϕ 2 , ⋯   , ϕ k − 1 \phi_1,\phi_2,\cdots,\phi_{k-1} ϕ1,ϕ2,,ϕk1

现在令 T ( 1 ) = [ 1 0 ⋮ 0 ] T(1)=\begin{bmatrix} 1\\0\\\vdots\\0 \end{bmatrix} T(1)=100, T ( 2 ) = [ 0 1 ⋮ 0 ] T(2)=\begin{bmatrix} 0\\1\\\vdots\\0 \end{bmatrix} T(2)=010, ⋯ ⋯ \cdots\cdots T ( k − 1 ) = [ 0 0 ⋮ 1 ] T(k-1)=\begin{bmatrix} 0\\0\\\vdots\\1 \end{bmatrix} T(k1)=001, T ( k ) = [ 0 0 ⋮ 0 ] T(k)=\begin{bmatrix} 0\\0\\\vdots\\0 \end{bmatrix} T(k)=000

再定义下指示函数用来表示命题的真假,定义如下:

1 { T r u e } = 1 1\{True\}=1 1{True}=1 1 { F a l s e } = 0 1\{False\}=0 1{False}=0,例如 1 { 2 = 3 } = 0 1\{2=3\}=0 1{2=3}=0

有了指示函数可以使得 T ( y ) i = 1 { y = i } T(y)_i=1\{y=i\} T(y)i=1{y=i}

p ( y ) = ϕ 1 1 { y = 1 } ϕ 2 1 { y = 2 } ⋯ ϕ k 1 { y = k } = ϕ 1 T ( y ) 1 ϕ 2 T ( y ) 2 ⋯ ϕ k 1 − ∑ T ( y ) i = p ( y ; η ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) p(y)=\phi_1^{1\{y=1\}}\phi_2^{1\{y=2\}}\cdots\phi_k^{1\{y=k\}}=\phi_1^{T(y)_1}\phi_2^{T(y)_2}\cdots\phi_k^{1-{\sum{T(y)_i}}}\\= p(y;\eta) = b(y)exp(\eta^{T}T(y) − a(\eta)) p(y)=ϕ11{y=1}ϕ21{y=2}ϕk1{y=k}=ϕ1T(y)1ϕ2T(y)2ϕk1T(y)i=p(y;η)=b(y)exp(ηTT(y)a(η))

得出:
b ( y ) = 1 b(y)=1 b(y)=1
a ( η ) = − l o g ( ϕ k ) a(\eta)=-log(\phi^k) a(η)=log(ϕk)

η = [ l o g ( ϕ 1 / ϕ k ) l o g ( ϕ 2 / ϕ k ) ⋮ l o g ( ϕ k − 1 / ϕ k ) ] \eta=\begin{bmatrix} log(\phi^1/\phi^k)\\log(\phi^2/\phi^k)\\\vdots\\log(\phi^{k-1}/\phi^k) \end{bmatrix} η=log(ϕ1/ϕk)log(ϕ2/ϕk)log(ϕk1/ϕk)

η i = l o g ϕ i ϕ k \eta_i=log{\frac{\phi_i}{\phi_k}} ηi=logϕkϕi

进而有 e η i = ϕ i ϕ k → ϕ k e η i = ϕ i → ϕ k ∑ e η i = 1 → ϕ i = e η i ∑ j k e η j e^{\eta_i}=\frac{\phi_i}{\phi_k}\rightarrow \phi_ke^{\eta_i}=\phi_i\rightarrow\phi_k\sum{e^{\eta_i}}=1\rightarrow \phi_i=\frac{e^{\eta_i}}{\sum_{j}^{k} e^{\eta^j}} eηi=ϕkϕiϕkeηi=ϕiϕkeηi=1ϕi=jkeηjeηi

我们知道 p ( y = i ∣ x ; θ ) = ϕ i = e η i ∑ j k e η j = e θ i T x ∑ j k e θ j T x p(y=i|x;\theta)=\phi_i=\frac{e^{\eta_i}}{\sum_{j}^{k} e^{\eta^j}}=\frac{e^{\theta_i^Tx}}{\sum_{j}^{k} e^{\theta_j^Tx}} p(y=ix;θ)=ϕi=jkeηjeηi=jkeθjTxeθiTx

我们这里的多分类问题被称为 s o f t m a x    r e g r e s s i o n softmax \,\,regression softmaxregression,这是一种基于逻辑回归的衍生方法。
h θ ( x ) = E [ T ( y ) ∣ x ; θ ] = E [ 1 { y = 1 } 1 { y = 2 } ⋮ x ; θ 1 { y = k − 1 } ] = [ ϕ i ϕ 2 ⋮ ϕ k − 1 ] = [ e θ 1 T x ∑ j k e θ j T x e θ 2 T x ∑ j k e θ j T x ⋮ e θ k − 1 T x ∑ j k e θ j T x ] h_\theta(x)=E[T(y)|x;\theta]=E\left[\begin{array}{c|c} 1\{y=1\}&\\1\{y=2\}&\\\vdots &x;\theta\\1\{y=k-1\}& \end{array}\right]=\begin{bmatrix} \phi_i\\\phi_2\\\vdots\\\phi_{k-1} \end{bmatrix}=\begin{bmatrix} \frac{e^{\theta_1^Tx}}{\sum_{j}^{k} e^{\theta_j^Tx}}\\\frac{e^{\theta_2^Tx}}{\sum_{j}^{k} e^{\theta_j^Tx}}\\\vdots\\\frac{e^{\theta_{k-1}^Tx}}{\sum_{j}^{k} e^{\theta_j^Tx}} \end{bmatrix} hθ(x)=E[T(y)x;θ]=E1{y=1}1{y=2}1{y=k1}x;θ=ϕiϕ2ϕk1=jkeθjTxeθ1TxjkeθjTxeθ2TxjkeθjTxeθk1Tx

上式就是 s o f t m a x    r e g r e s s i o n softmax\,\, regression softmaxregression的拟合函数。

如果要求解最佳的 θ \theta θ时,需要对极大似然函数进行求解, s o f t m a x softmax softmax的的极大似然函数定义为:
L ( θ ) = ∑ i = 1 m l o g p ( y ( i ) ; x ( i ) ; θ ) = ∑ i = 1 m l o g ∏ l = 1 k ( e θ l T x ( i ) ∑ j k e θ j T x ( i ) ) 1 { y ( i ) = l } L(\theta)=\sum_{i=1}^{m}logp(y^{(i)};x^{(i)};\theta)=\sum_{i=1}^{m}log\prod_{l=1}^{k}(\frac{e^{\theta_{l}^Tx^{(i)}}}{\sum_{j}^{k} e^{\theta_j^Tx^{(i)}}})^{1\{y^{(i)=l}\}} L(θ)=i=1mlogp(y(i);x(i);θ)=i=1mlogl=1k(jkeθjTx(i)eθlTx(i))1{y(i)=l}

使用牛顿法或者梯度上升方法求解最大值。


待理解!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值