问题
在Softmax回归的风险函数R(W)=−1N∑n=1N∑c=1Cyc(n)logy^c(n)
\mathcal{R}\left( \boldsymbol{W} \right) =-\frac{1}{N}\sum_{n=1}^N{\sum_{c=1}^C{y_{c}^{\left( n \right)}\log \hat{y}_{c}^{\left( n \right)}}}
R(W)=−N1n=1∑Nc=1∑Cyc(n)logy^c(n)
=−1N∑n=1N(y(n))Tlogy^(n)
\ \ \ \ \ \ \ =-\frac{1}{N}\sum_{n=1}^N{\left( y^{\left( n \right)} \right) ^T\log \hat{y}^{\left( n \right)}}
=−N1n=1∑N(y(n))Tlogy^(n)
如果加上正则化项会有什么影响?
解析
要注意的是,Softmax回归中使用的𝐶个权重向量是冗余的,即对所有的 权重向量都减去一个同样的向量𝒗,不改变其输出结果.因此,Softmax 回归往往需要使用正则化来约束其参数.此外,我们还可以利用这个特性来避免计算Softmax函数时在数值计算上溢出问题.不加入正则化项限制权重向量的大小, 可能造成权重向量过大, 产生上溢。
问题
验证平均感知器训练算法3.2中给出的平均权重向量的计算方式和公式(3.77)等价.
解析
平均感知器(Averaged Perceptron)平均感知器的形式为:
y^=sgn(1T∑k=1Kck(wkTx))
\hat{y}=sgn\left( \frac{1}{T}\sum_{k=1}^K{c_k\left( \boldsymbol{w}_{k}^{T}\boldsymbol{x} \right)} \right)
y^=sgn(T1k=1∑Kck(wkTx))
=sgn(1T(∑k=1Kckwk)Tx)
\ =sgn \left( \frac{1}{T}\left( \sum_{k=1}^K{c_k\boldsymbol{w}_k} \right) ^T\boldsymbol{x} \right)
=sgn⎝⎛T1(k=1∑Kckwk)Tx⎠⎞
=sgn((1T∑t=1Twt)Tx)
\ =sgn \left( \left( \frac{1}{T}\sum_{t=1}^T{\boldsymbol{w}_t} \right) ^T\boldsymbol{x} \right)
=sgn⎝⎛(T1t=1∑Twt)Tx⎠⎞
=sgn(wˉTx)
\ =sgn \left( \boldsymbol{\bar{w}}^T\boldsymbol{x} \right)
=sgn(wˉTx)
其中T为迭代总回合数,wˉ\bar{w}wˉ为T次迭代的平均权重向量。这个方法很简单,只需要在算法3.1中增加一个wˉ\bar{w}wˉ,并且在每次迭代时都更新wˉ\bar{w}wˉ.
算法3.2:
设预测错误的样本有K个,分别为(x1,y1),(x2,y2),⋅⋅⋅,(xK,yK)(x_1,y_1),(x_2,y_2),···,(x_K,y_K)(x1,y1),(x2,y2),⋅⋅⋅,(xK,yK)并且设选取到这些样本时迭代次数为tkt_ktk根据上述算法知:
w=x1y1+x2y2+⋅⋅⋅+xkykw=x_1y_1+x_2y_2+···+x_ky_kw=x1y1+x2y2+⋅⋅⋅+xkyk
u=t1x1y1+t2x2y2+⋅⋅⋅+tkxkyku=t_1x_1y_1+t_2x_2y_2+···+t_kx_ky_ku=t1x1y1+t2x2y2+⋅⋅⋅+tkxkyk
因此,
wˉ=w−1Tu
\bar{w}=w-\frac{1}{T}u
wˉ=w−T1u
=x1y1+x2y2+⋅⋅⋅⋅+xkyk−1T(t1x1y1+t2x2y2+⋅⋅⋅+tkxkyk)
\ =x_1y_1+x_2y_2+····+x_ky_k-\frac{1}{T}\left( t_1x_1y_1+t_2x_2y_2+···+t_kx_ky_k \right)
=x1y1+x2y2+⋅⋅⋅⋅+xkyk−T1(t1x1y1+t2x2y2+⋅⋅⋅+tkxkyk)
=T−t1Tx1y1+T−t2Tx2y2+⋅⋅⋅+T−tkTxkyk
\ =\frac{T-t_1}{T}x_1y_1+\frac{T-t_2}{T}x_2y_2+···+\frac{T-t_k}{T}x_ky_k
=TT−t1x1y1+TT−t2x2y2+⋅⋅⋅+TT−tkxkyk
公式(3.77):
w=∑t=1Twt wt=∑i=1k≤txiyi wˉ=1Tw
w=\sum_{t=1}^T{w_t}\ \ \ \ w_t=\sum_{i=1}^{k\le t}{x_iy_i}\ \ \bar{w}=\frac{1}{T}w
w=t=1∑Twt wt=i=1∑k≤txiyi wˉ=T1w
w=(x1y1+⋅⋅⋅+x1y1)+(x1y1+x2y2+⋅⋅⋅+x1y1+x2y2)+⋅⋅⋅+(∑i=1kxiyi+⋅⋅⋅+∑i=1kxiyi)
w=\left( x_1y_1+···+x_1y_1 \right) +\left( x_1y_1+x_2y_2+···+x_1y_1+x_2y_2 \right) +···+\left( \sum_{i=1}^k{x_iy_i+···+\sum_{i=1}^k{x_iy_i}} \right)
w=(x1y1+⋅⋅⋅+x1y1)+(x1y1+x2y2+⋅⋅⋅+x1y1+x2y2)+⋅⋅⋅+(i=1∑kxiyi+⋅⋅⋅+i=1∑kxiyi)
上式中i,当第二个预测错误的样本被选取时才开始x2y2x_2y_2x2y2也就是说到达t2t_2t2时刻才开始加,其余xiyix_iy_ixiyi类似到达tit_iti时刻开始加,依次xiyix_iy_ixiyi共相加了T−tiT-t_iT−ti次所以:
w=(x1y1+⋅⋅⋅+x1y1)+(x1y1+x2y2+⋅⋅⋅+x1y1+x2y2)+⋅⋅⋅+(∑i=1kxiyi+⋅⋅⋅+∑i=1kxiyi)
w=\left( x_1y_1+···+x_1y_1 \right) +\left( x_1y_1+x_2y_2+···+x_1y_1+x_2y_2 \right) +···+\left( \sum_{i=1}^k{x_iy_i+···+\sum_{i=1}^k{x_iy_i}} \right)
w=(x1y1+⋅⋅⋅+x1y1)+(x1y1+x2y2+⋅⋅⋅+x1y1+x2y2)+⋅⋅⋅+(i=1∑kxiyi+⋅⋅⋅+i=1∑kxiyi)
=(T−t1)x1y1+(T−t2)x2y2+⋅⋅⋅+(T−tk)xky1k
\ =\left( T-t_1 \right) x_1y_1+\left( T-t_2 \right) x_2y_2+···+\left( T-t_k \right) x_ky_{1k}
=(T−t1)x1y1+(T−t2)x2y2+⋅⋅⋅+(T−tk)xky1k
wˉ\bar{w}wˉ将上式除以Twˉ=T−t1Tx1y1+T−t2Tx2y2+⋅⋅⋅+T−tkTxkyk
\bar{w} =\frac{T-t_1}{T}x_1y_1+\frac{T-t_2}{T}x_2y_2+···+\frac{T-t_k}{T}x_ky_k
wˉ=TT−t1x1y1+TT−t2x2y2+⋅⋅⋅+TT−tkxkyk