机器学习 之 作业1

作业 1: 经验风险最小化 vs. 结构风险最小化

[1] 解释:期望风险最小,经验风险最小化和结构风险最小化;

经验风险:对所有训练样本都求一次损失函数,再累加求平均。即,模型f(x)对训练样本中所有样本的预测能力,是局部概念。
R e m p ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{emp}(f)=\frac{1}{N}\sum^N_{i=1}L(y_i,f(x_i)) Remp(f)=N1i=1NL(yi,f(xi))

期望风险:对所有样本(包含未知样本和已知的训练样本)的预测能力,是全局概念。
R e x p ( f ) = E p [ L ( Y , f ( X ) ) ] = ∫ x × y L ( y , f ( x ) ) P ( x , y ) d x d y R_{exp}(f)=E_p[L(Y,f(X))]=\int_{x\times y}L(y,f(x))P(x,y)dxdy Rexp(f)=Ep[L(Y,f(X))]=x×yL(y,f(x))P(x,y)dxdy

结构风险:对经验风险和期望风险的折中,在经验风险函数后面加一个正则化项(惩罚项),是一个大于0的系数 λ \lambda λ。J(f)表示的是模型的复杂度。
R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{srm}(f)=\frac{1}{N}\sum^N_{i=1}L(y_i,f(x_i))+\lambda J(f) Rsrm(f)=N1i=1NL(yi,f(xi))+λJ(f)

[2] 当模型是条件概率分布(比如 y | x ~ N ( w T x , 1 ) y|x ~ N(w^Tx, 1) yxN(wTx,1)),当损失函数是对数损失函数时,

(2.1) 经验风险最小化等价于极大似然估计;

经验风险损失函数为
R e m p ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) = − 1 N ∑ i = 1 N log ⁡ P ( y i ∣ x i ) R_{emp}(f)=\frac{1}{N}\sum^N_{i=1}L(y_i,f(x_i))\\ =-\frac{1}{N}\sum^N_{i=1}\log P(y_i|x_i) Remp(f)=N1i=1NL(yi,f(xi))=N1i=1NlogP(yixi)
极大似然估计为
P ( y ) = ∏ i = 1 n P ( y i ∣ x i ) log ⁡ P ( y ) = log ⁡ ∏ i = 1 n P ( y i ∣ x i ) = ∑ i = 1 N log ⁡ P ( y i ∣ x i ) − 1 N log ⁡ P ( y ) = − 1 N ∑ i = 1 N log ⁡ P ( y i ∣ x i ) = R e m p ( f ) P(y)=\prod_{i=1}^nP(y_i|x_i)\\ \log P(y)=\log\prod_{i=1}^nP(y_i|x_i)=\sum^N_{i=1}\log P(y_i|x_i)\\ -\frac{1}{N}\log P(y)=-\frac{1}{N}\sum^N_{i=1}\log P(y_i|x_i) =R_{emp}(f) P(y)=i=1nP(yixi)logP(y)=logi=1nP(yixi)=i=1NlogP(yixi)N1logP(y)=N1i=1NlogP(yixi)=Remp(f)
因此经验风险最小化等价于极大似然估计。

(2.2) 结构风险最小化等价于最大后验概率估计

结构风险误差函数为
R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{srm}(f)=\frac{1}{N}\sum^N_{i=1}L(y_i,f(x_i))+\lambda J(f) Rsrm(f)=N1i=1NL(yi,f(xi))+λJ(f)
最大后验概率估计为
p ( w ∣ D ) ≈ p ( D ∣ w ) p ( w ) m a x w 1 n log ⁡ p ( w ∣ D ) ≈ m a x w 1 n p ( D ∣ w ) p ( w ) = m a x w 1 n log ⁡ ∏ i = 1 n p ( y i ∣ x i ) + log ⁡ p ( w ) = m i n w 1 n ∑ i = 1 n log ⁡ p ( y i ∣ x i ) − log ⁡ p ( w ) p(w|D)\approx p(D|w)p(w)\\ max_w \frac{1}{n}\log p(w|D)\approx max_w \frac{1}{n}p(D|w)p(w)\\ = max_w\frac{1}{n}\log \prod^n_{i=1}p(y_i|x_i)+\log p(w)\\ =min_w\frac{1}{n}\sum^n_{i=1}\log p(y_i|x_i)-\log p(w) p(wD)p(Dw)p(w)maxwn1logp(wD)maxwn1p(Dw)p(w)=maxwn1logi=1np(yixi)+logp(w)=minwn1i=1nlogp(yixi)logp(w)

得证。

作业 2:关于曲线拟合

[1] 对 y = sin ⁡ ( 2 π x ) y=\sin(2\pi x) y=sin(2πx)进行在 x = 0.5 x=0.5 x=0.5进行泰勒展开,展开至 O ( x 3 ) O(x^3) O(x3)即可;

sin ⁡ ( 2 π x ) = − 2 π ( x − 0.5 ) + 4 π 3 3 ( x − 0.5 ) 3 + O ( x 3 ) ≃ 41.34 x 3 − 62.01 x 2 + 24.72 x − 2.03 \sin(2\pi x)=-2\pi(x-0.5)+\frac{4\pi^3}{3}(x-0.5)^3+O(x^3)\\ \simeq 41.34x^3-62.01x^2+24.72x-2.03 sin(2πx)=2π(x0.5)+34π3(x0.5)3+O(x3)41.34x362.01x2+24.72x2.03

[2] 在 M=0,1,3,9 的情况下,求解出系数 。在 M=3 的情况下,比较第[1]小题和第[2]小题求出来的系数。

L ( w ) = ∑ i = 1 N ( f M ( x i , w ) − y i ) 2 = ( Xw − y ) T ( Xw − y ) = w T X T Xw − 2 w T X T t + t T t L(w)=\sum^N_{i=1}(f_M(x_i,w)-y_i)^2\\ =(\textbf X\textbf w-\textbf y)^T(\textbf X\textbf w-\textbf y)\\ =\textbf{w}^T\textbf{X}^T\textbf{Xw}-2\textbf{w}^T\textbf{X}^T\textbf{t}+\textbf{t}^T\textbf{t} L(w)=i=1N(fM(xi,w)yi)2=(Xwy)T(Xwy)=wTXTXw2wTXTt+tTt

ϑ L ϑ w = 2 n X T Xw − 2 n X T t = 0 w = ( X T X ) − 1 X T t \frac{\vartheta L}{\vartheta \textbf{w}}=\frac{2}{n}\textbf{X}^T\textbf{X}\textbf{w}-\frac{2}{n}\textbf{X}^T\textbf{t}=0\\ \textbf{w}=(\textbf{X}^T\textbf{X})^{-1}\textbf{X}^T\textbf{t} ϑwϑL=n2XTXwn2XTt=0w=(XTX)1XTt

其中 X \textbf X X是范德蒙矩阵,当M=0,1,3,9时,用python计算:

from numpy import *

x = [0.0, 0.1111, 0.2222, 0.3333, 0.4444, 
		0.5556, 0.6667, 0.7778, 0.8999, 1.0]
y = [0.0008, 0.6419, 0.9849, 0.8655, 
		0.3423, -0.3426, -0.8655, -0.9841, -0.6411, -0.0002]

def calc_w(n):
    # 先求范德蒙矩阵
    X = ones((10,1))
    m_t = mat(x).T
    m_diagonal = diag(x)
    while n>0:
        X=hstack((X,m_t))
        m_t = m_diagonal*m_t
        n-=1
    t = mat(y).T
    return (X.T*X).I*X.T*t
    
print('M=0:')
#print(calc_w(0))
print('M=1:')
print(calc_w(1))
print('M=3:')
print(calc_w(3))
print('M=9:')
print(calc_w(9))

结果为

M=0:
不可逆,手算出[[0.00018]]
M=1:
[[ 0.67342714]
 [-1.34351854]]
M=3:
[[ -0.05776011]
 [ 10.72400336]
 [-31.83268864]
 [ 21.20829113]]
M=9:
[[ 3.56381361e-04]
 [ 6.34779809e+00]
 [-2.77218971e+00]
 [-5.85761912e+00]
 [-2.17733512e+02]
 [ 8.21288106e+02]
 [-1.45968949e+03]
 [ 1.57393264e+03]
 [-9.71232120e+02]
 [ 2.55715737e+02]]

可以看到,在 M = 3 M=3 M=3的情况下,与泰勒级数相比,大约是2倍的关系,实际上的曲线也差不多。
在这里插入图片描述

[3] 证明《PRML》第一章第一个题目。

当误差函数取最小值时,根据题目[2],必然有
w = ( X T X ) − 1 X T t X T Xw = X T t ( X T Xw ) T = ( X T t ) T w T X T X = t T X w ( X T X ) i = t T X i \textbf{w}=(\textbf{X}^T\textbf{X})^{-1}\textbf{X}^T\textbf{t}\\ \textbf{X}^T\textbf{X}\textbf{w}=\textbf{X}^T\textbf{t}\\ (\textbf{X}^T\textbf{X}\textbf{w})^T=(\textbf{X}^T\textbf{t})^T\\ \textbf w^T\textbf X^T\textbf X=\textbf t^T\textbf X\\ \textbf w(\textbf X^T\textbf X)_{i}=\textbf t^T\textbf X_{i} w=(XTX)1XTtXTXw=XTt(XTXw)T=(XTt)TwTXTX=tTXw(XTX)i=tTXi

T i = ∑ n = 1 N ( x n ) i t n = ∑ n = 1 N X n , i + 1 t n = t T X i T_i=\sum^N_{n=1}(x_n)^it_n\\ =\sum^N_{n=1}\textbf X_{n,i+1}t_n=\textbf t^T\textbf X_{i} Ti=n=1N(xn)itn=n=1NXn,i+1tn=tTXi
其中 X i \textbf X_{i} Xi表示矩阵 X \textbf X X的第 i i i列。 X n , i \textbf X_{n,i} Xn,i表示范德蒙矩阵的第 n n n行,第 i i i列的元素。

A i j = ∑ n = 1 N ( x n ) i + j = ( X T X ) i A_{ij}=\sum^N_{n=1}(x_n)^{i+j}=(\textbf X^T\textbf X)_{i} Aij=n=1N(xn)i+j=(XTX)i
其中, ( X T X ) i (\textbf X^T\textbf X)_{i} (XTX)i表示矩阵 X T X \textbf X^T\textbf X XTX的第 i i i列。
根据原式
∑ j = 0 N A i j w j = T i ∑ j = 0 M ( ∑ n = 1 N ( x n ) i + j w j ) = ∑ n = 1 N ( x n ) i t n ∑ j = 0 M ( ( X T X ) i w j ) = ∑ n = 1 N X n , i t n w ( X T X ) i = t T X i \sum^N_{j=0}A_{ij}w_j=T_i\\ \sum^M_{j=0}(\sum^N_{n=1}(x_n)^{i+j}w_j)=\sum^N_{n=1}(x_n)^it_n\\ \sum^M_{j=0}((\textbf X^T\textbf X)_{i}w_j)=\sum^N_{n=1}\textbf X_{n,i}t_n\\ \textbf w(\textbf X^T\textbf X)_{i}=\textbf t^T\textbf X_{i} j=0NAijwj=Tij=0M(n=1N(xn)i+jwj)=n=1N(xn)itnj=0M((XTX)iwj)=n=1NXn,itnw(XTX)i=tTXi

从而得证。

作业 3:最小二乘与正则化问题

当正则化项是 λ ∑ j = 2 d θ j 2 \lambda\sum^d_{j=2}\theta^2_j λj=2dθj2时,必然有
θ ^ = ( A T A + λ F ) − 1 A T y \widehat{\theta}=(\textbf{A}^T\textbf{A}+\lambda\textbf{F})^{-1}\textbf{A}^T\textbf{y} θ =(ATA+λF)1ATy

其中 F F F d × d d\times d d×d的矩阵, F i , i = 1 , ( 1 < i ≤ d ) F_{i,i}=1,(1<i\le d) Fi,i=1,(1<id),其他元素都是 0 0 0
( A T A + λ F ) θ ^ = A T y ( A 1 T A + λ F ) θ ^ = A 1 T y (\textbf{A}^T\textbf{A}+\lambda\textbf{F})\widehat{\theta}=\textbf{A}^T\textbf{y}\\ (\textbf{A}^T_1\textbf{A}+\lambda\textbf{F})\widehat{\theta}=\textbf{A}^T_1\textbf{y} (ATA+λF)θ =ATy(A1TA+λF)θ =A1Ty

其中 A 1 T A^T_1 A1T表示 A T A^T AT的第一行,为 I T I^T IT I I I n × 1 n\times 1 n×1的全1列向量,则变为
( I T A + λ F ) θ ^ = I T y [ n , 0 , 0 , . . . , 0 ] 1 × d T θ ^ = I T y n θ ^ 1 = I T y θ ^ 1 = I T y n (I^T\textbf{A}+\lambda\textbf{F})\widehat{\theta}=I^T\textbf{y}\\ [n,0,0,...,0]^T_{1\times d}\widehat{\theta}=I^T\textbf{y}\\ n\widehat{\theta}_1=I^T\textbf{y}\\ \widehat{\theta}_1=\frac{I^T\textbf{y}}{n} (ITA+λF)θ =ITy[n,0,0,...,0]1×dTθ =ITynθ 1=ITyθ 1=nITy

当正则化项是 λ ∑ j = 1 d θ j 2 \lambda\sum^d_{j=1}\theta^2_j λj=1dθj2时,必然有
θ ~ = ( A T A + λ E ) − 1 A T y \widetilde{\theta}=(\textbf{A}^T\textbf{A}+\lambda\textbf{E})^{-1}\textbf{A}^T\textbf{y} θ =(ATA+λE)1ATy

其中 E E E d × d d\times d d×d的单位矩阵
( A T A + λ E ) θ ~ = A T y ( A 1 T A + λ E ) θ ~ = A 1 T y ( I T A + λ E ) θ ~ = I T y [ n + λ , 0 , 0 , . . . , 0 ] 1 × d T θ ~ = I T y ( n + λ ) θ ~ 1 = I T y θ ~ 1 = I T y n + λ (\textbf{A}^T\textbf{A}+\lambda\textbf{E})\widetilde{\theta}=\textbf{A}^T\textbf{y}\\ (\textbf{A}^T_1\textbf{A}+\lambda\textbf{E})\widetilde{\theta}=\textbf{A}^T_1\textbf{y}\\ (I^T\textbf{A}+\lambda\textbf{E})\widetilde{\theta}=I^T\textbf{y}\\ [n+\lambda,0,0,...,0]^T_{1\times d}\widetilde{\theta}=I^T\textbf{y}\\ (n+\lambda)\widetilde{\theta}_1=I^T\textbf{y}\\ \widetilde{\theta}_1=\frac{I^T\textbf{y}}{n+\lambda} (ATA+λE)θ =ATy(A1TA+λE)θ =A1Ty(ITA+λE)θ =ITy[n+λ,0,0,...,0]1×dTθ =ITy(n+λ)θ 1=ITyθ 1=n+λITy

因为有
( A 1 T A + λ F ) θ ^ = ( A 1 T A + λ E ) θ ~ = A 1 T y = I T y (\textbf{A}^T_1\textbf{A}+\lambda\textbf{F})\widehat{\theta}= (\textbf{A}^T_1\textbf{A}+\lambda\textbf{E})\widetilde{\theta}=\textbf{A}^T_1\textbf{y}=I^T\textbf{y} (A1TA+λF)θ =(A1TA+λE)θ =A1Ty=ITy

则有
( A T A + λ F ) θ ^ = ( A T A + λ E ) θ ~ = A T y = [ I T y , a 2 , 1 × θ 2 + ( a 2 , 2 + 1 ) × θ 3 + . . . + a 2 , d × θ d , . . . a d , 1 × θ 2 + a d , 2 × θ 3 + . . . + ( a d , d + 1 ) × θ d ] ] (\textbf{A}^T\textbf{A}+\lambda\textbf{F})\widehat{\theta}= (\textbf{A}^T\textbf{A}+\lambda\textbf{E})\widetilde{\theta}=\textbf{A}^T\textbf{y}\\ =\left[\begin{array}{l} I^T\textbf{y},\\ a_{2,1}\times \theta_2+(a_{2,2}+1)\times \theta_3+...+a_{2,d}\times\theta_d,\\ ...\\ a_{d,1}\times \theta_2+a_{d,2}\times \theta_3+...+(a_{d,d}+1)\times\theta_d] \end{array}\right] (ATA+λF)θ =(ATA+λE)θ =ATy=ITy,a2,1×θ2+(a2,2+1)×θ3+...+a2,d×θd,...ad,1×θ2+ad,2×θ3+...+(ad,d+1)×θd]

最后的结果矩阵相同,证明 θ ^ \widehat{\theta} θ θ ~ \widetilde{\theta} θ 的第 2 ∼ d 2\sim d 2d位是相同的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值