UFLDL Tutorial学习笔记(一)Linear&Logistic&Softmax Regression
2016-07-05 16:46
211 查看
学习资料:UFLDL Tutorial http://ufldl.stanford.edu/tutorial/
模型Structural Model:采用线性函数y=hθ(x)=Σni=1θixi=θTx1. 通常会在模型中加入偏置项,即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个)
θ→θ+α{−ΣPi=1x(i)(θTx(i)−y(i))}当P较大时,与严格递推算法一致;当P=1时,与随机递推算法一致。
上述模型在其他地方也可看到:
神经网络中的Adaline(Adaptive Linear Element,自适应线性单元):通过一个采用线性激活函数的单个神经元,实现两类线性可分问题
信号处理中的自适应滤波:通过一个简单的线性神经元来设计未知动态系统的一个多输入单输出模型
模型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))其形式与线性回归梯度的计算式一致。
模型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)⎤⎦⎥⎥⎥⎥
Linear Regression
问题:给定带标签的训练数据集T:{(x(i),y(i))|i=1,...,m},其中x(i)∈Rn,y(i)∈R,学习x与y之间的关系函数,使得对任一输入x能预测其对应的输出y模型Structural Model:采用线性函数y=hθ(x)=Σni=1θixi=θTx1. 通常会在模型中加入偏置项,即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个)
θ→θ+α{−ΣPi=1x(i)(θTx(i)−y(i))}当P较大时,与严格递推算法一致;当P=1时,与随机递推算法一致。
上述模型在其他地方也可看到:
神经网络中的Adaline(Adaptive Linear Element,自适应线性单元):通过一个采用线性激活函数的单个神经元,实现两类线性可分问题
信号处理中的自适应滤波:通过一个简单的线性神经元来设计未知动态系统的一个多输入单输出模型
Logistic Regression
问题:给定带标签的训练数据集T:{(x(i),y(i))|i=1,...,m},其中x(i)∈Rn,y(i)∈{0,1},通过学习使得对任一输入x能预测其对应的类别y,即解决二分类问题模型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)⎤⎦⎥⎥⎥⎥
相关文章推荐
- RGB颜色二值化
- CentOS下mysql数据库常用命令总结
- Livecoding.tv2.5发布,增加“用户搜索引擎”功能,方便用户找到匹配的程序员
- centos中命令自动补全
- 数据类操作之文件存储跟读写
- SQL常见问题
- Caffe学习日记10
- POJ 3258 River Hopscotch [NOIP2015 D2T1] (洛谷 P2678 跳石头)
- 电压跟随器
- 关于vim go环境的配置问题
- 乌班图安装
- VC++界面编程之--阴影窗口的实现详解
- Java内存模型
- iOS开发集成支付宝支付遇到的"_EVP_DecodeBlock",referenced from:等13个错误的解决办法
- uboot.2015.07移植之驱动DM9000(8)
- html5中新增的主题元素标签
- Description Resource Path Location Type ArtifactTransferException: Could not transfer artifact
- java 代码加载顺序
- Android性能优化 浅析
- 210. Course Schedule II