逻辑回归logistic regression
概念
使用线性回归预测分类问题显然不合适,因此引入逻辑回归来处理0/1分类问题,其中逻辑就是1(是)和0(非)。在逻辑回归中,我们利用线性回归中的假设函数来处理分类问题。
h
θ
(
x
)
>
0.5
=
>
y
=
1
h
θ
(
x
)
≤
0.5
=
>
y
=
0
h_\theta (x) \gt 0.5 => y=1 \\ h_\theta (x) \leq 0.5 => y=0
hθ(x)>0.5=>y=1hθ(x)≤0.5=>y=0
Sigmoid预测函数
也成为激活函数,在神经网络中也会运用,形式:
g
(
z
)
=
−
1
1
+
e
−
z
g(z)=-\frac{1}{1+e^{-z}}
g(z)=−1+e−z1图像如下所示:
逻辑回归中,假设函数被定义为:
h
θ
(
x
)
=
g
(
z
)
,
z
=
θ
T
x
h_\theta(x)=g(z),z=\theta^Tx
hθ(x)=g(z),z=θTx,
z
z
z是分类边界。所以我们可以由图像得出:
θ
T
x
≥
0
=
>
y
=
1
θ
T
x
<
0
=
>
y
=
0
\theta ^Tx\ge 0 => y=1 \\ \theta ^Tx \lt 0 => y=0
θTx≥0=>y=1θTx<0=>y=0
后面的SVM支持向量机中会对这个图像稍微改造一下。
决策边界(decsion boundary)
是用来划清界限的边界,可以是点、线或者是平面。课程中强调,决策边界是假设函数的属性,训练集只是用来训练和调参,所以决策边界并不是训练集的属性。
线性的决策边界:
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)
非线性决策边界:
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+θ2x2+θ3x12+θ4x22)
预测代价函数(cost function)
我们通过代价函数
J
(
θ
)
J(\theta)
J(θ)评估模型的误差,通过减小代价函数的值来调整参数,一般来说,代价函数拥有越少的极小值点,就越容易找到最小值点,也就越容易达到最准确的预测。
如图像所示,左边的图非凸函数,很容易达到极小值,也就是局部最优值,而右边的图像更平滑,是典型的凸函数,到达极小值点时也达到了全局最优值。
逻辑回归中的代价函数被定义为:
J
(
θ
)
=
1
m
∑
i
=
1
m
C
o
s
t
(
h
θ
(
x
(
i
)
)
,
y
(
i
)
)
J(\theta)=\frac{1}{m}\sum\limits_{i=1}^mCost(h_\theta(x^{(i)}),y^{(i)})
J(θ)=m1i=1∑mCost(hθ(x(i)),y(i))
最小化代价函数
与线性回归相似,有梯度下降和正规方程两种方法。
批量梯度下降与随机梯度下降:
多分类问题
当想要分成k类时,那就一共做k次逻辑回归,每次将 k ( i ) k^{(i)} k(i)作为分类的正例,其余作为负例,这样一共会获得k个假设函数,也就是k个模型,对于新输入的x,代入这k个模型中,选出假设函数值最大的那个,那么x输出的就是k类。