0.逻辑回归的引出
对分类问题应用线性回归不是一个好主意
二分类问题:
0:negative class
1:positive class
If h(x)>0.5, predict y=1
If h(x)<0.5, predict y=0
Logistic regression: 0<h(x)<1
1.假设函数hypothesis function
线性回归的假设函数为: h θ ( x ) = θ T x h_\theta(x)=\theta^Tx hθ(x)=θTx
S 型函数/Sigmoid function/logistic function:
g
(
z
)
=
1
1
+
e
−
z
g(z) = \frac{1}{1+e^{-z}}
g(z)=1+e−z1
logistic回归的假设函数为:
h
θ
(
x
)
=
g
(
θ
T
x
)
h_\theta(x)=g(\theta^Tx)
hθ(x)=g(θTx)
其中,
g
(
z
)
=
1
1
+
e
−
z
g(z) = \frac{1}{1+e^{-z}}
g(z)=1+e−z1
所以,logistic回归的假设函数为:
h
θ
(
x
)
=
1
1
+
e
−
θ
T
x
h_\theta(x)= \frac{1}{1+e^{-\theta^Tx}}
hθ(x)=1+e−θTx1
假设函数
h
θ
(
x
)
h_\theta(x)
hθ(x)的意义:
h
θ
(
x
)
=
P
(
y
=
1
∣
x
;
θ
)
h_\theta(x)=P(y=1|x;\theta)
hθ(x)=P(y=1∣x;θ)
h
θ
(
x
)
h_\theta(x)
hθ(x)表示在
x
,
θ
x,\theta
x,θ条件下
y
=
1
y=1
y=1的条件概率
决策边界(decision boundary)
预测输出y等于0还是1:通过判断z>0或z < 0,即通过判断
θ
T
x
>
0
\theta^Tx>0
θTx>0 or
θ
T
x
<
0
\theta^Tx<0
θTx<0
(上图:通过增加复杂的多项式特征变量(平方,三次方等),可以得到更复杂的决策边界)
2.代价函数cost function
如何拟合逻辑回归模型的参数
θ
\theta
θ,即给定训练集,根据数据自动拟合参数。
如果继续使用线性回归时的代价函数,是非凸函数,有局部最优值,当使用梯度下降算法时可能找不到最优值。故选择另一种代价函数。(凸函数是单弓形状,凸函数无局部最优值)
代价函数:
代价函数:
J
(
θ
)
=
1
m
∑
i
=
1
m
C
o
s
t
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
J(\theta)=\frac{1}{m}\sum_{i=1}^{m}Cost(h_\theta(x^{(i)})-y^{(i)})
J(θ)=m1i=1∑mCost(hθ(x(i))−y(i))
J
(
θ
)
=
−
1
m
[
∑
i
=
1
m
y
(
i
)
l
o
g
(
h
θ
(
x
(
i
)
)
)
+
(
1
−
y
(
i
)
)
l
o
g
(
1
−
h
θ
(
x
(
i
)
)
)
]
J(\theta)=-\frac{1}{m}[\sum_{i=1}^my^{(i)}log(h_\theta(x^{(i)}))+(1-y^{(i)})log(1-h_\theta(x^{(i)}))]
J(θ)=−m1[i=1∑my(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]
3.优化-梯度下降算法
(特征缩放:如果特征范围差距很大时,可以用特征缩放的方法,让梯度下降收敛更快(类比线性回归))
其他优化算法: