Logistic Regression
Logistic regression is a method for classifying data into discrete outcomes.
逻辑回归将数据归类为离散的结果并输出
Example: Predict whether a tumor is malignant or not.
Training set {
(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))}{
(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))}
x=Tumor size
y=Malignant tumor or benign tumor(y∈{
0,1}y∈{
0,1})
1. Classification
逻辑回归虽然名为“回归”,但它解决的其实是分类问题。以下面的三个场景为例,它们均属于二分类问题,习惯上把我们关注的某一现象的存在归为y=1(如垃圾邮件、恶性肿瘤细胞),反之则为y=0.
此外,还有多分类问题,详见本节第六部分。
我们可以尝试用线性回归的方法解决根据肿瘤大小判断是否为恶性肿瘤这一分类问题。显然,一个直观的想法是,以hθ(x)=0.5hθ(x)=0.5为阈值,当hθ(x)>0.5hθ(x)>0.5时,认为肿瘤是恶性肿瘤的几率更大,预测y=1,反之,为良性肿瘤,预测y=0。
可以看到,在只有左侧八个观测点的原始回归中,我们可以近似得到如图所示的一条回归线,以hθ(x)=0.5hθ(x)=0.5为界,可对训练样本中的肿瘤细胞进行正确的归类。这似乎说明线性回归法是可行的。
但是,当新增一个观测点时,线性回归结果就不甚乐观了。新观测点会吸引回归线向自己靠近,由此增大了hθ(x)=0.5hθ(x)=0.5时的x值。在新的回归下,左侧两个恶性肿瘤观测点会被错误地归类为良性肿瘤。
此外,在二分类的归类问题中,y只有0或1两个离散的取值,而线性回归得到的“概率”hθ(x)hθ(x)取值范围大,可能大于1,也可能小于0,这不符合我们对概率(介于0~1之间)的认知。
因此,线性回归并不是一个解决归类问题的好办法。我们需要构造一个新的模型来解决分类问题。
2. Sigmoid Function
Sigmoid Function:

Sigmoid函数又称S型函数或逻辑函数,其取值范围在(0,1)之间,是一种理想的分类问题假设函数表达形式。将z替换成x和θ的函数 θTxθTx (不一定为线性形式,需根据具体的问题来确定),即可得到假设函数
对于上述肿瘤分类问题,当输出结果hθ(x)=0.7hθ(x)=0.7时,可以解释为
对于一个肿瘤大小为x的患者,该肿瘤为恶性肿瘤的可能性为0.7
hθ(x)hθ(x)的含义为给定x和θ时y=1的概率,hθ(x)=P(y=1|x;θ