1.logistic Regression Model
我们希望
0 ≤ h θ ( x ) 0\leq h_\theta(x) 0≤hθ(x)
h θ ( x ) = g ( θ T x ) h_\theta(x)=g(\theta^Tx) hθ(x)=g(θTx)
这里 g ( x ) g(x) g(x) 是一个sigmod函数, g ( z ) = 1 / ( 1 + e − z ) g(z) = 1/(1+e^{-z}) g(z)=1/(1+e−z),(或者称之为logistic函数),将假设公式代入sigmod函数得:
h θ ( x ) = 1 1 + e − θ T x h_\theta(x) = \frac{1}{1+e^{-\theta^Tx}} hθ(x)=1+e−θTx1
Logistic 回归模型本质是做一个分类器(虽然算法中有回归),用于两分类问题(即输出只有两类),接下来我们需要按照数据分布来确定边界(边界即区分两种数据的曲线),在二维坐标轴中。
如下图2所示,我们要区分图中的圆圈和XX明显需要一个线性决策边界,即一条直线能够将图中的数据分隔在曲线两侧。因此这里我们的分类假设函数即为: h θ ( x ) = g ( θ 0 + θ 1 x 1 + θ 2 x 2 ) h_\theta(x) = g(\theta_0+\theta_1x_1+\theta_2x_2) hθ(x)=g(θ0+θ1x1+θ2x2)。这里 θ 0 + θ 1 x 1 + θ 2 x 2 \theta_0+\theta_1x_1+\theta_2x_2 θ0+θ1x1+θ2x2的取值实际上是在实数集上,但是通过sigmoid函数我们就可以将所有的可能的取值集合映射到 [ 0 , 1 ] [0,1] [0,1]的区间上去。最终分类结果取决于 h θ ( x ) h_\theta(x) hθ(x)的值
P ( y = 1 ∣ x ; θ ) = h θ ( x ) P ( y = 0 ∣ x ; θ ) = 1 − h θ ( x ) P(y=1|x;\theta)=h_\theta(x)\\ P(y=0|x;\theta)=1-h_\theta(x) P(y=1∣x;θ)=hθ(x)P(y=0∣x;θ)=1−hθ(x)
图2. 线性决策边界
但是实际数据分布情况一般都不是线性可分的(即用一条直线就能够区分两种数据),因此我们需要尝试不同的假设函数来找到不同的决策边界,如图3所示;这里我们使用的假设函数就不是线性函数了,而是圆形函数 h θ ( x ) = g ( θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 1 2 + θ 4 x 2 2 ) h_\theta(x)=g(\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_1^2+\theta_4x_2^2) hθ(x)=g(θ0+θ1x1+θ<