2.假说表示
在分类问题中,要用什么样的函数来表示我们的假设。此前我们说过,希望我们的分类器的输出值在 0 和 1 之间,因此,我们希望想出一个满足某个性质的假设函数,这个性质是它的预测值要在 0 和 1 之间。
根据线性回归模型我们只能预测连续的值,然而对于分类问题,我们需要输出 0 或 1, 我们可以预测:
当ℎθ (x) >= 0.5时,预测 y = 1。
当ℎθ (x) < 0.5时,预测 y = 0 。
对于上图所示的数据,这样的一个线性模型似乎能很好地完成分类任务。假使我们又观测到一个非常大尺寸的恶性肿瘤,将其作为实例加入到我们的训练集中来,这将使得我们获得一条新的直线。
这时,再使用 0.5 作为阀值来预测肿瘤是良性还是恶性便不合适了。可以看出,线性回归模型,因为其预测的值可以超越[0,1]的范围,并不适合解决这样的问题。
我们引入一个新的模型,逻辑回归,该模型的输出变量范围始终在 0 和 1 之间。
逻辑回归模型的假设是:
h
θ
(
x
)
=
g
(
θ
T
X
)
h_\theta(x) = g(\theta^T X)
hθ(x)=g(θTX) 其中: X 代表特征向量 g 代表逻辑函数(logistic function)是一个常用的逻辑函数为 S 形函数(Sigmoid function),公式为
g
(
z
)
=
1
1
+
e
−
z
g(z) = \frac{1}{1 + e^{-z}}
g(z)=1+e−z1
python 代码实现:
import numpy as np
def sigmoid(z):
return 1 / (1 + np.exp(-z))
该函数的图像为:
合起来,我们得到逻辑回归模型的假设:
对模型的理解:
g
(
z
)
=
1
1
+
e
−
z
g(z) = \frac{1}{1 + e^{-z}}
g(z)=1+e−z1
ℎθ (x)的作用是,对于给定的输入变量,根据选择的参数计算输出变量=1 的可能性 (estimated probablity)
即ℎθ (x) = P(y = 1|x; θ)
例如,如果对于给定的x,通过已经确定的参数计算得出ℎθ (x) = 0.7,则表示有 70%的几率y为正向类,相应地y为负向类的几率为 1-0.7=0.3。