学习资料:UFLDL Tutorial http://ufldl.stanford.edu/tutorial/
Linear Regression
问题:给定带标签的训练数据集
T:{(x(i),y(i))|i=1,...,m}
,其中
x(i)∈Rn
,
y(i)∈R
,学习
x
与
模型Structural Model:采用线性函数
y=hθ(x)=Σni=1θixi=θTx
1. 通常会在模型中加入偏置项,即
y=hθ(x)=θTx+b
令
x→[1x] θ→[bθ]
即可统一成向量形式
θTx
。该模型称为仿射模型,与线性函数的区别在于直线不经过原点。
2. 该线性模型的一种变形为多项式模型,即
y=hθ(x)=b+θT1x+θT2x2+...+θTkxk
这里可把输入看作
x→⎡⎣⎢⎢⎢⎢⎢⎢⎢1xx2⋮xk⎤⎦⎥⎥⎥⎥⎥⎥⎥
优化问题Error Model:采用最小均方误差准则,即寻找使得按误差平方和定义的损失函数 J(θ) 最小的 θ
minθJ(θ)=12Σmi=1(hθ(x(i))−y(i))2=12Σmi=1(θTx(i)−y(i))2
写成向量形式,为
X=[x(1)x(2)⋯x(m)]Y=[y(1)y(2)⋯y(m)]J(θ)=12(θTX−Y)(θTX−Y)T
优化算法Optimization Procedure:梯度下降法
▽θJ(θ)=Σmi=1x(i)(θTx(i)−y(i))=X(θTX−Y)T
令 ▽θJ(θ)=0 ,可解得
θ=(XXT)−1XYT
注意到该式需要对一个高维的矩阵求逆,因此我们通常转而采取递推求解算法。根据递推时所用的样本数量,可分为以下三种算法:
- 严格递推算法——每次使用全部样本数据
θ→θ+α{−Σmi=1x(i)(θTx(i)−y(i))}用这种方法可以求得严格的最佳解,而且避开了矩阵求逆的困难,但学习过程中的每一步仍需要完成大量计算。 - 随机递推算法——每次使用一个样本数据
θ→θ+α{−x(i)(θTx(i)−y(i))}与严格递推算法的区别在于:用单个样本计算梯度,因此避免了大量计算,但同时也给权向量的变化趋势带来随机性。研究表明,将步幅系数α变成一个随时序k变化的量,当α(k)满足一定条件时,学习一定是收敛的。 - 具有一定统计特性的递推算法——每次使用部分样本数据(
P
个)
当 P 较大时,与严格递推算法一致;当θ→θ+α{−ΣPi=1x(i)(θTx(i)−y(i))} P=1 时,与随机递推算法一致。
上述模型在其他地方也可看到:
- 神经网络中的Adaline(Adaptive Linear Element,自适应线性单元):通过一个采用线性激活函数的单个神经元,实现两类线性可分问题
- 信号处理中的自适应滤波:通过一个简单的线性神经元来设计未知动态系统的一个多输入单输出模型
Logistic Regression
问题:给定带标签的训练数据集
T:{(x(i),y(i))|i=1,...,m}
,其中
x(i)∈Rn
,
y(i)∈{0,1}
,通过学习使得对任一输入
x
能预测其对应的类别
模型Structural Model:采用概率模型
P(y=1|x)=hθ(x)=11+exp(−θTx)≡σ(θTx)P(y=0|x)=1−P(y=1|x)=1−hθ(x)
则
y={1,0,if P(y=1|x)>P(y=0|x)else
上式中
σ(⋅)
为sigmoid函数,将输入
θTx
压缩至
[0,1]
区间,使得
hθ(x)
具有概率意义。
优化问题Error Model:采用最大似然准则,首先将上述概率模型统一写成
P(y|x)=hθ(x)y(1−hθ(x))1−y
对训练数据集,似然函数为
L(θ)=Σmi=1P(y(i)|x(i))=Σmi=1hθ(x(i))y(i)(1−hθ(x(i)))1−y(i)
对数似然函数为
l(θ)=logL(θ)=Σmi=1{y(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))}
因此,优化问题为
minθJ(θ)=−l(θ)=−Σmi=1{y(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))}
优化算法Optimization Procedure:梯度下降法
▽θJ(θ)=Σmi=1x(i)(hθ(x(i))−y(i))
其形式与线性回归梯度的计算式一致。
Softmax Regression
问题:在Logistic Regression的基础上,将二分类问题推广为多分类问题,即此时 y∈{1,2,...,K}
模型Structural Model:采用概率模型
hθ(x)=⎡⎣⎢⎢⎢⎢⎢P(y=1|x;θ)P(y=2|x;θ)⋮P(y=K|x;θ)⎤⎦⎥⎥⎥⎥⎥=1ΣKj=1exp(θ(j)Tx)⎡⎣⎢⎢⎢⎢⎢⎢⎢exp(θ(1)Tx)exp(θ(2)Tx)⋮exp(θ(K)Tx)⎤⎦⎥⎥⎥⎥⎥⎥⎥
则
y=argmaxjP(y=j|x;θ)
模型参数
θ
为
θ=[θ(1) θ(2) ⋯θ(K)]
优化问题Error Model:采用最大似然准则
minθJ(θ)=−Σmi=1ΣKk=11{y(i)=k}logexp(θ(k)Tx)ΣKj=1exp(θ(j)Tx)
优化算法Optimization Procedure:梯度下降法
▽θ(k)J(θ)=−Σmi=1x(i)(1{y(i)=k}−P(y(i)=k|x(i);θ))
讨论:
- 参数冗余问题:由于概率模型经过归一化处理,
K
组模型参数中有一组是多余的。如将每组参数减去某一常数向量
ψ 后,模型并不发生改变,即P(y(i)=k|x(i);θ))=exp((θ(k)−ψ)Tx)ΣKj=1exp((θ(j)−ψ)Tx)=exp(θ(k)Tx)ΣKj=1exp(θ(j)Tx)因此,我们可将某组参数如 θ(K) 固定设成零向量,而只需要寻优剩下的 K−1 组参数。 - 与Logistic Regression的关系:在
K=2
时,有
hθ(x)=[P(y=0|x;θ)P(y=1|x;θ)]=1exp(θ(1)Tx)+exp(θ(2)Tx)⎡⎣exp(θ(1)Tx)exp(θ(2)Tx)⎤⎦令 θ(2)=0 , θ=−θ(1) ,则hθ(x)=⎡⎣⎢⎢⎢⎢exp(−θTx)1+exp(−θTx)11+exp(−θTx)⎤⎦⎥⎥⎥⎥