用x1,x2,...,xn表示每个样本的n个特征,在每个特征前面加一个参数,就可以估计整体样本特征,下面我们就构造一个线性函数:
h(x)=hθ(x)=θ0+θ1x1+θ2x2+...+θnxn=θTX
然后,使用sigmod函数,将样本特征映射到[0,1]之间进行分类
P(Y|x)=11+e−h(x)
当p大于0.5,我们就预测样本属于1类,如果p小于0.5,我们就预测样本属于0类。
现在主要的问题就是,怎样得到一组比较好的参数θ??
(1)用极大似然估计求分类器的参数
假如: p(Y=1|x)=f(x),p(Y=0|x)=1−f(x)
则构造一个似然函数(一般是概率密度函数):
L(θ)=∏Ni=1f(xi)yi[1−f(xi)]1−yi
我们现在的目标就是求一组参数θ,使得似然函数L(θ)取值最大。
所以,我们需要对似然函数取对数,这样就将似然函数转化成单增的凸函数,如果要对似然函数取最大,直接对对数似然函数求导,令导数值为0,就可求得估计参数(因为lnx是x的单增函数,lnL(θ)与L(θ)的单调性相同,当L(θ)取最大时,L(θ)也取最大)。
取对数:lnL(θ)=∑Ni=1[yilnf(xi)+(1−yi)ln(1−f(xi))]
求导:令其等于0,求θ。
对对数似然估计函数求导时,也可以采用梯度下降法,拟牛顿法等。
(2)梯度下降法
为了求解参数θ,我们还可以引入损失函数解决,比如:
J(θ)=12∑Ni=1(hθ(xi)−yi)2
现在的目的就是求一组参数θ,使得损失函数J(θ)取最小,这样,估计函数hθ(x)的输出值就能最大程度的接近实际值。求J(θ)最小值的方法有最小二乘法,梯度下降法等。
假设用梯度下降法,则算法流程为:
①对θ随机赋值
②向J(θ)梯度下降的方向下降,更新θ,直到θ收敛一定的精度。θ←θ−ε∇θJ(θ)
(如果是梯度上升,就用+,那就是求最大值)
(3)最小二乘法
使误差平方和达到最小以寻求估计值的方法叫做最小二乘,用最小二乘进行估计的过程,就叫做最小二乘估计。
这也是对损失函数求最小值的方法,即如果损失函数为
JLS(θ)=12∑Ni=1(hθ(xi)−yi)2
则θ^LS=argminJLS(θ)
因为估计函数hθ(x)=θTX,所以训练样本的均方差可以写成JLS(θ)=12||Xθ−y||2,然后对均方差JLS(θ)求对θ的偏导。
手推logistic
最新推荐文章于 2024-05-12 18:41:45 发布