搜索微信公众号:‘AI-ming3526’或者’计算机视觉这件小事’ 获取更多人工智能、机器学习干货
第六章 逻辑回归
6.1 分类问题
6.1.1 分类的例子
在分类问题中,我们要预测的变量 y y y是离散的值,并尝试预测的是结果是否属于某一个类(例如正确或错误)例如:
- 电子邮件:垃圾邮件/不是垃圾邮件。
- 网上转账:诈骗/不是诈骗。
- 肿瘤:恶性/良性。
6.1.2 二元分类
我们将因变量(dependent variable)可能属于的两个类分别称为负类(negative class)和正类(positive class)。因变量 y ∈ { 0 , 1 } y\in \{0,1\} y∈{ 0,1} ,其中 0 表示负类,如良性肿瘤;1 表示正类,如恶性肿瘤。注意,这里 y y y只能取0和1这两个值。
在两个类别中,到底哪个是正类,哪个是负类,即哪个是0,哪个是1是任意的。但是人们往往约定负类表示没有哪样东西,正类表示具有我们要寻找的东西。例如上面,良性肿瘤表示我们“没有”肿瘤,所以是负类,即1;恶性肿瘤表示我们“有”肿瘤,所以是正类,即0。
在肿瘤预测问题中,我们可以用线性函数来做分类,如下图所示。
对于线性回归,我们可以设置分类器阈值为0.5。如果假设函数输出的值大于0.5,可以预测为 y = 1 y=1 y=1;如果小于0.5,可以预测 y = 0 y=0 y=0。对于初始的八个数据点来说,分类效果还可以,但是如果加入上图中右上角的第九个数据点,线性回归对分类问题的就不是那么好了。
并且假设函数的输出值可能远大于1或者远小于0,所以把线性回归应用于分类问题中通常不是一个好主意。因此在这里我们提出逻辑回归(logistic regression),其特点在于算法的输出或者说是预测值一直介于0到1之间,并不会大于1或小于0。虽然算法名称中有“回归”二字,但它是一种分类算法。
6.2 假设表示
6.2.1 逻辑回归模型
- 目标: 0 ≤ h θ ( x ) ≤ 1 0\leq h_\theta(x) \leq1 0≤hθ(x)≤1
- 假设函数: h θ ( x ) = θ T x h_\theta(x)=\theta^Tx hθ(x)=θTx
- sigmoid/logistic 函数: g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+e−z1
- 两式联立: h θ ( x ) = 1 1 + e − θ T x h_\theta(x)=\frac{1}{1+e^{-\theta^Tx}} hθ(x)=1+e−θTx1
在和是哪个数公式中,sigmoid函数和logistic函数其实是一种函数的不同名称,其函数图像如下:
因为 g ( z ) g(z) g(z)的值在0和1之间,那么 h ( x ) h(x) h(x)的值一定在0和1之间。有了假设函数之后,我们就要用参数 θ \theta θ拟合我们的数据。
6.2.2 模型的解释
我们的假设 x x x的输出 h θ ( x ) h_\theta(x) hθ(x)输出了某个数字,我们会把这个数字当做对一个输入 x x x, y = 1 y=1 y=1的概率估计,下面是一个例子:
假设现在有一个病人,我们把他的肿瘤大小数据“喂”给我们的假设函数。假设我们的假设函数的输出是0.7,那么对于一个特征为 x x x的患者, y = 1 y=1 y=1的概率是0.7。换句话说,我们将要告诉病人,这个肿瘤有70%的可能是恶性肿瘤。正式表达为 h θ ( x ) = P ( y = 1 ∣ x ; θ ) h_\theta(x)=P(y=1|x;\theta) hθ(x)=P(y=1∣x;θ),即在给定 x x x的条件下 y = 1 y=1 y=1的概率。
由于这是一个分类任务, y y y的取值必须是0或1,因此根据 h θ ( x ) h_\theta(x) hθ(x)我们也能计算 y = 0 y=0 y=0的概率,因为:
- P ( y = 0 ∣ x ; θ ) + P ( y = 1 ∣ x ; θ ) = 1 P(y=0|x;\theta)+P(y=1|x;\theta)=1 P(y=0∣x;θ)+P(y=1∣x;θ)=1
- P ( y = 0 ∣ x ; θ ) = 1 − P ( y = 1 ∣ x ; θ ) P(y=0|x;\theta)=1-P(y=1|x;\theta) P(y=0∣x;θ)=1−P(y=1∣x;θ)
6.3 判定边界
6.3.1 进一步理解逻辑回归
在上述公式中,假设函数 h θ ( x ) h_\theta(x) hθ(x)输出的是给定 x x x