逻辑斯蒂回归matlab实现
说明
我将试图从感知机的基础上说明逻辑回归的⼀般性原理和学习及预测⽅法,其中缺少⼀些必要的证明,包括了⼀个⼆分类问题的实例。其中关于感知机的实验在 机器学习 专栏中有介绍。
从感知机到逻辑斯蒂回归
感知机模型:
·应⽤范围:
⼆分类问题,线性分类模型,属于判别模型
·输⼊输出:
In: n维的特征空间X
Out: y={+1,-1},即类别的label
·关系:
f(x) = sign(w·x + b)
其中:·sign(x)为符号函数
·w·x + b = 0:
对应n维特征空间中的⼀个超平⾯,w对应法向量,b为截距。若选取合适,这个超平⾯将会把所有实例(x,y)分为两类。
·训练集:表⽰为T{(x1,y1),(x2,y2)…};
·判别:若数据集线性可分,则⼀定存在⼀超平⾯w·x + b = 0;对所有yi = 1的实例,都有w·x + b>0,对所有yi = -1的实例,都有w·x + b<0。由此通过⼀个“外壳” sign函数,即可进⾏有效分类。
·学习策略:
·Lossfunction:
·注意:选取损失函数时要保证损失函数是参数的连续可导函数,这样便于优化。可以引⼊误分类点到超平⾯的总距离这⼀概念,将其作为损失函数。误分类点数越少,超平⾯越接近“理想答案”,损失函数越⼩,这⼀思路是直观和易于接受的。
·关于距离,引⼊了范数的概念,并且对⽐函数间距 |w·x0 + b| 以及⼏何间距|w·x0 + b|/||w||,机器学习中常⽤后者,即⼏何间距,这样的损失函数对⽐例是鲁棒的。如果采⽤函数间距,缺陷⽐较明显,学习到的参数较⼩。误分类点到超平⾯S的距离为:(即⾼中⼏何距离算法)-yi(w·xi + b)/||w||
matlab定义函数表达式·如何选取误分类点:对于被正确分类的点,有yi·(w·x0 + b)> 0,相应的误分类点就有yi·(w·x0 + b)< 0;
·损失函数表达式:L(w,b) = -Σyi·(w·xi + b) ((xi,yi)为误分类点)
参数更新:
·梯度:⽤损失函数分别对w,b求导,得到梯度
·参数更新:
w <———— w + μ·yi·xi
b <———— b + μ·yi
·算法描述:
输⼊:
训练数据集T = {(x1,y1),(x2,y2),(x3,y3),…… },xi为n维特征空间的特征向量,yiϵ{+1,-1},i = 1,2……学习率μ(0≤μ≤1)
输出:
w,b,以及感知机模型为f(x) = sign(w·x + b);
(1) 设定w,b初始值
(2) 训练集中选取数据(xi,yi)
(3) 判断如果yi·(wi·x + b) ≤0,则更新参数
w <———— w + μ·yi·xi
b <———— b + μ·yi
(4) 转⾄(2)直到没有误分类点
·实验结果:
Matlab完成了感知机算法,随着训练集数据的增多,发现出现了不能到超平⾯的情况,此时将学习率调低,随之⼜到了合适的参数,单同时由于学习率较低,使得学习到的参数很⼩。
事实上,感知机存在着⼀个很⼤的弊端,即它敏感的“⾮⿊即⽩”式的判断结果未免太过武断,事实上对于很多分类问题两个相距很近的点可能并没有如此之⼤的差距,为了使得更加细致的描绘这种点和点之间的差距,引⼊了逻辑斯蒂回归。
逻辑斯蒂回归模型:
·适⽤范围:
分类问题,⼆分类甚⾄是多分类。属于对数线性模型(输出Y=1的对数概率是输⼊的线性函数)
·输⼊输出:
In: T = { (xi,yi) | i = 1,2,3,…},xi为n维特征空间中的特征向量。Yi∈{+1,-1}
Out:逻辑斯蒂回归模型
·函数关系:
另外,定义了事件⼏率的表达式:
对于对数⼏率有
所以说,逻辑斯蒂回归模型是对数线性模型。
·学习策略(4.12.23.40)
模型参数估计采⽤极⼤似然法:
似然函数为:
对数似然函数为:
对ω求偏导数得到:
因此参数学习问题就变成了以对数似然函数为⽬标函数的最优化问题,常⽤⽅法为梯度下降法和⽜顿法。
最⼤熵模型:
·适⽤范围
属于概率模型。最⼤熵原理认为要选择的概率模型⾸先要满⾜已有事实,即约束条件,⽽没有更多信息情况下,不确定部分是“等可能的”,由于“等可能”这个概念不⽅便优化操作,相反地熵可以作为优化的数值指标。
最⼤熵原理朴素解释为:凡是可考虑的因素之外的,均假设是均匀分布,也即等概率假设。它的原则是在所有满⾜约束条件的概率模型集合中选取熵最⼤的集合。
·熵的定义:
熵满⾜不等式
其中|X|为X取值的个数,当X分布式均匀分布时,H ( P ) 才取得最⼤值。
·最⼤熵模型的定义
最⼤熵应⽤到分类问题时,假设了这个模型是⼀个条件概率分布p(Y|X),即输⼊为x的条件下,输出为y的概率。
·输⼊输出
In:T={(x1,y1),(x2,y2),(x3,y3)……}
Out:P(Y|X)
·函数关系
根据训练数据集可以获得联合分布P(X,Y)与P(X)的经验分布
代表样本中x的频数。
·梯度下降法补充
在感知机时,我们应⽤了梯度下降作为优化算法,并第⼀次感受到数值迭代的⽅式解得最佳参数的快感。在逻辑斯蒂回归模型中,我们把优化⽬标划归成了求解使得似然函数最⼤值的参数,我们不妨将求解似然函数最⼤值问题当成优化⽬标,习惯上取其相反数作为损失函数,我们便可以继续应⽤梯度下降法进⾏优化了。
Tips:
为了应对过拟合,我们可以对损失函数进⾏正则化
,即损失函数中加⼊正则项。
其中,
即为正则项
注意:
1.引⼊正则项是为了应对过拟合,倾向于让模型参数更⼩。
2.模型参数⼩的时候,意味着模型更为“平滑”,这样输⼊改变的时候,输出的变化不会很剧烈,所以正则化后应该更加鲁棒。
3.参数问题:λ如果选的过⼤,那么损失函数会更倾向于考虑正则项,导致模型过于“平滑”,也会使得模型变得不准确,对train_data的准确率⼤⼤下降。
⽜顿法
输⼊:特征函数f1,f2,f3,…,fn;经验分布P‘(x,y),⽬标函数f(ω),模型
输出:最优参数值 ;最优模型
(1)对所有i∈{1,2,…,n},取初值 (2)对每⼀i∈{1,2,…,n},
(a) 令 是⽅程
的解,这⾥
(b)更新 :
(3)如果不是所有 都收敛,重复步(2)拟⽜顿法

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。