Logistic Regression 和 Linear Regression 的原理是相似的:
1. 找一个合适的预测函数(Andrew Ng 的公开课中称为 hypothesis),一般表示为 h 函数,该函数就是我们需要找的分类函数,它用来预测输入数据的判断结果。这个过程时非常关键的,需要对数据有一定的了解或分析,知道或者猜测预测函数的“大概”形式,比如是线性函数还是非线性函数。
2. 构造一个 Cost 函数(损失函数),该函数表示预测的输出( h )与训练数据类别( y )之间的偏差,可以是二者之间的差( h- y )或者是其他的形式。综合考虑所有训练数据的“损失”,将 Cost 求和或者求平均,记为J(Θ) 函数,表示所有训练数据预测值与实际类别的偏差。
3. 显然, J(Θ) 函数的值越小表示预测函数越准确(即 h 函数越准确),所以这一步需要做的是找到J(Θ) 函数的最小值。找函数的最小值有不同的方法,Logistic Regression 实现时有的是梯度下降法(Gradient Descent)。
构造预测函数:
Logistic Regression 虽然名字里带“回归”,但是它实际上是一种分类方法,用于两分类问题(即输出只有两种)。根据第二章中的步骤,需要先找到一个预测函数( h ),显然,该函数的输出必须是两个值(分别代表两个类别),所以利用了 Logistic 函数(或称为 Sigmoid 函数)
对应的函数图像是一个取值在 0 和 1 之间的 S 型曲线(图 1)
接下来需要确定数据划分的边界类型,对于图 2 和图 3 中的两种数据分布,显然图 2 需要一个线性的边界,而图 3 需要一个非线性的边界。接下来我们只讨论线性边界的情况。
这是我们要学习的第一个分类算法。之前的回归问题尝试预测的变量y是连续变量,在这个分类算法中,变量y是离散的,y只取{0,1}两个值。
若y取值{0,1},首先改变假设的形式,使假设得到的值总在[0,1]之间,即:
所以,选取如下函数:
总结:logistic函数应用与(xi,yi)的分类问题,yi的取值是离散的,对于二元分类问题,yi只能去{0,1}.思路,先利用,对输入数据进行映射,映射后的值再利用
进行映射,所以问题的关键其实是合理选择参数,来实现对数据的第一次映射,即
。