逻辑回归
1 分类问题
在分类问题中,所要预测的变量 y y y 是离散的值,我们将学习一种叫做逻辑回归 (Logistic Regression) 的算法,这是目前最流行使用最广泛的一种学习算法。
在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。
分类问题的例子有:
- 判断一封电子邮件是否是垃圾邮件;
- 判断一次金融交易是否是欺诈;
- 区别一个肿瘤是恶性的还是良性的。
我们将因变量可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量 y ∈ 0 , 1 y \in 0,1 y∈0,1,其中 0 表示负向类,1 表示正向类。
如果我们要用线性回归算法来解决一个分类问题,对于分类来说, y y y取值为 0 或者1,但如果你使用的是线性回归,那么假设函数的输出值可能远大于 1,或者远小于0。尽管我们知道标签应该取值0 或者1,但是如果算法得到的值远大于1或者远小于0的话,就会感觉很奇怪,和人们的常识不符。
所以我们在接下来的要研究的算法就叫做逻辑回归算法,这个算法的性质是:它的输出值永远在0到 1 之间。
注: 逻辑回归算法是分类算法,我们将它作为分类算法使用。有时候可能因为这个算法的名字中出现了“回归”使你感到困惑,但逻辑回归算法实际上是一种分类算法,它适用于标签 y y y 取值离散的情况。
2 假说陈述
那么在分类问题中,要用什么样的函数来表示我们的假设。
前面说过,我们希望分类器的输出值在0和1之间。
因此,我们希望想出一个满足某个性质的假设函数,这个性质是它的预测值要在0和1之间。
我们引入一个新的模型,逻辑回归,该模型的输出变量范围始终在0和1之间。 逻辑回归模型的假设是: h θ ( x ) = g ( θ T X ) h_{\theta}(x)=g\left(\theta^{T} X\right) hθ(x)=g(θTX),其中: X X X 代表特征向量 g g g 代表逻辑函数(logistic function)是一个常用的逻辑函数为 S 形函数(Sigmoid function)
公式为: g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+e−z1
该函数的图像为:
3 判定边界
先说一下什么是决策边界,这个概念能更好地帮助我们理解逻辑回归的假设函数在计算什么。
在逻辑回归中,我们预测:
当 h θ ( x ) ≥ 0.5 h_{\theta}(x)\ge0.5 hθ(x)≥0.5 时,预测 y = 1 y=1 y=1 。
当 h θ ( x ) < 0.5 h_{\theta}(x)<0.5 hθ(x)<0.5 时,预测 y = 0 y=0 y=0 。
根据上面绘制出的 S 形函数图像,我们知道当:
z = 0 z=0 z=0 时 g ( z ) = 0.5 g(z)=0.5 g(z)=0.5;
z > 0 z>0 z>0 时 g ( z ) > 0.5 g(z)>0.5 g(z)>0.5;
z < 0 z<0 z<0 时 g ( z ) < 0.5 g(z)<0.5 g(z)<0.5
又 z = θ T x z=\theta^Tx z=θTx,
即: θ T x ≥ 0 \theta^Tx\ge0 θTx≥0,预测 y = 1 y=1 y=1;
θ T x < 0 \theta^Tx<0 θTx<0,预测 y = 0 y=0 y=0;
现在假设我们有一个模型:
并且参数 是向量[-3 1 1]。 则当 − 3 + x 1 + x 2 ≥ 0 -3+x_{1}+x_{2} \geq 0 −3+x1+x2≥0,即 x 1 + x 2 ≥ 3 x_{1}+x_{2} \geq 3 x1+x