斯坦福大学机器学习第六课"逻辑回归“学习笔记,本次课程主要包括7部分:
1) Classification(分类)
2) Hypothesis Representation
3) Decision boundary(决策边界)
4) Cost function(代价函数,成本函数)
5) Simplified cost function and gradient descent(简化版代价函数及梯度下降算法)
6) Advanced optimization(其他优化算法)
7) Multi-class classification: One-vs-all(多类分类问题)
以下是每一部分的详细解读。
1) Classification(分类)
分类问题举例:
- 邮件:垃圾邮件/非垃圾邮件?
- 在线交易:是否欺诈(是/否)?
- 肿瘤:恶性/良性?
以上问题可以称之为二分类问题,可以用如下形式定义:
其中0称之为负例,1称之为正例。
对于多分类问题,可以如下定义因变量y:
如果分类器用的是回归模型,并且已经训练好了一个模型,可以设置一个阈值:
- 如果
hθ(x)≥0.5 ,则预测y=1,既y属于正例; - 如果
hθ(x)<0.5 ,则预测y=0,既y属于负例;
如果是线性回归模型,对于肿瘤这个二分类问题,图形表示如下:
但是对于二分类问题来说,线性回归模型的Hypothesis输出值
这个时候我们引出逻辑回归,逻辑回归的Hypothesis输出介于0与1之间,既:
注: 以下引自李航博士《统计学习方法》1.8节关于分类问题的一点描述:
分类是监督学习的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测(prediction),称为分类(classification).
2) Hypothesis Representation
逻辑回归模型:
上一节谈到,我们需要将Hypothesis的输出界定在0和1之间,既:
但是线性回归无法做到,这里我们引入一个函数g, 令逻辑回归的Hypothesis表示为:
这里g称为Sigmoid function或者Logistic function, 具体表达式为:
Sigmoid 函数在有个很漂亮的“S"形,如下图所示(引自维基百科):
综合上述两式,我们得到逻辑回归模型的数学表达式:
其中
Hypothesis输出的直观解释:
对于给定的输入x,y=1时估计的概率
例如,对于肿瘤(恶性/良性),如果输入变量(特征)是肿瘤的大小:
这里Hypothesis表示的是”病人的肿瘤有70%的可能是恶性的“。
较正式的说法可以如下表示:
给定输入x,参数化的
y=1时的概率。
数学上可以如下表示:
对于因变量y=0或1这样的二分类问题: