接下来我们将从回归问题切换至分类问题。分类问题的名字logistic regression是由于历史原因,但事实上讨论的并不是用于regression问题,而是classification问题。
分类
在这时,我们的输出值y再也不是连续量,而是离散值,不是0就是1.
y=0代表反向类别,y=1代表正向类别,当然我们也可以根据自身需要给y自己的类别定义。
现在我们只讨论只有两个类别的问题,称为“二元分类问题”。
假说函数表示
根据我们前面的定义,我们的假说函数应该满足
我们在这里的选择是sigmoid函数,也成为“逻辑函数”
sigmoid函数图像如下:
可以看到,在Z=0,也即预估值
=0的时候,假说函数等于0.5,因此,可以用假说函数大等于于0.5说明当前预测值是正向类别的,反之则是反向类别的。
假说函数事实上提供的是一种概率,即类别是正向类别的概率。
决策边界
区分两个类别的边界称为决策边界,其中在如果取
=0作为决策边界,那么由满足
=0的所有x所构成的线即使决策边界,当然,也可以根据需求采取其他的决策边界,比如取满足
=1.0的x值构成的边界作为决策边界,那么此时的分类就会比较严格,在做一些需要安全性较高的预测可以采用这种决策边界。
开销函数
在分类问题中,由于具有不同的类别并且会带来大量的局部最优点,因此不能像回归问题那样简单的计算方差。
取而代之的,我们采用如下的开销函数形式:
假说函数值越原离目标值,开销越大。
这个开销函数的图像是一个convex的图像,也就是说总能收敛到全局最优点。
简化的开销函数
我们将分类讨论的开销函数整合成一个函数
,可得
向量化:
梯度下降
可以发现与回归问题的公式是一样的,但其实是不一样的,因为这里采用的是logistic函数
多类别分类问题:一对多
当问题存在多个类别时,我们依然可以利用我们上面所用的方法,技巧是将多个类别看作是多个二元分类的问题,对每一个类别都计算它们自身的假说函数值(其实二元分类也是具有两个假说函数,只是由于和为1,因此另一个是冗余的),然后取其中具有最大的假说函数值的作为当前输入的类别。
参考:https://share.coursera.org/wiki/index.php/ML:Logistic_Regression