我的机器学习之路 第五关

五、Logistic回归

1.核心:Logistic回归算法

    (1)用于监督学习里的分类问题,预测离散型输
出,是一种分类算法.
    (2)分类问题
        二分类:输出为0(负类)或者1(正类)
        多分类:输出为0,1,2,3等等

2.logistic回归的假设函数h(x)

       对于分类问题,如果直接用线性回归中的假
设函数h(x)=θ^T*X,通过拟合发现不适用于分类问
题。因此需要对假设函数进行修改。
  因为分类问题输出只有1和0,所以要控制h(x)的值
在[0,1]之间:
     引入logistic函数——g(z)=1/(1+e^-z)  
 将两个函数合为最终的假设函数:
                    h(x)=g(θ^T*X)  
此时的h(x)的意义相当于 P{y=1(0)|x;θ} 
那到底是取1还是取0?
   取决于阈值,在分类问题中一般令其为0.5(大于
0.5取1,小于取0),相当于通过比较h(x)和0.5判断
取值。
     通过对g(z)函数图像的研究,我们发现当z=0
时,g(z)=0.5。所以可以通过
         z=θ^T*X>0 得到h(x)>0.5;
         z=θ^T*X<0 得到h(x)<0.5;
 其中当θ^T*X=0时的拟合曲线是一条决策边界。

3.logistic回归的代价函数

代价函数: J(θ)=1/m*∑Cost(h(x),y’) h(x)为假设函数 y’为实际值
在线性回归中 Cost(h(x),y')=1/2*(h(x)-y')^2
   由于logistic回归中的假设函数发生了变化,如果还是利用线性回归中的代价函数来计
算,会发现这时的J(θ)为非凸函数(即有很多局部最优解),因此这不适合我们在接下来通
过梯度下降法来找最小的J(θ)。
    所以构造 Cost(h(x),y')=-y'log(h(x))-(1-y')log(1-h(x)) ,此时的J(θ)为
凸函数,只有一个最优解。

如何找到最小的J(θ)?
  还是通过梯度下降法,同步更改每一个θ值,直到每一个θ值不再改变(即收敛)
 (注意:可以用特征缩放来提升梯度下降算法的效率)
补充:共轭梯度法
 对于梯度下降法来说,运算的关键在于每一次迭代时要计算的偏导数和迭代后的J(θ),这
 种算法能够更好的处理。
 优点:(1)学习率可以自动选择;(2)效率更高。
原创文章 16 获赞 5 访问量 1008

猜你喜欢

转载自blog.csdn.net/qq_42453280/article/details/83317530