线性回归
算法方程: h θ ( x ) = ∑ i = 0 n θ i x i = θ T x h_{\theta}(x)=\sum_{i=0}^{n} \theta_{i} x_{i}=\theta^{T} x hθ(x)=∑i=0nθixi=θTx
损失函数:
J
(
θ
0
,
θ
1
,
…
,
θ
n
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
J\left(\theta_{0}, \theta_{1}, \ldots, \theta_{n}\right)=\frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}
J(θ0,θ1,…,θn)=2m1∑i=1m(hθ(x(i))−y(i))2
将损失函数看做是关于
θ
\theta
θ的函数。
最小化损失函数:凸函数可以找到全局最优解,算法梯度下降。
θ
0
:
=
θ
0
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
0
(
i
)
θ
1
:
=
θ
1
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
1
(
i
)
θ
2
:
=
θ
2
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
2
(
i
)
…
\begin{array}{l}{\theta_{0}:=\theta_{0}-\alpha \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{0}^{(i)}} \\ {\theta_{1}:=\theta_{1}-\alpha \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{1}^{(i)}} \\ {\theta_{2}:=\theta_{2}-\alpha \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{2}^{(i)}} \\ {\ldots}\end{array}
θ0:=θ0−αm1∑i=1m(hθ(x(i))−y(i))x0(i)θ1:=θ1−αm1∑i=1m(hθ(x(i))−y(i))x1(i)θ2:=θ2−αm1∑i=1m(hθ(x(i))−y(i))x2(i)…
学习率:
θ
1
:
=
θ
1
−
α
d
d
θ
1
J
(
θ
1
)
\theta_{1}:=\theta_{1}-\alpha \frac{d}{d \theta_{1}} J\left(\theta_{1}\right)
θ1:=θ1−αdθ1dJ(θ1)
与收敛速度相关
过拟合与欠拟合:我们的假设函数曲线对原始数据拟合得非常好,但丧失了一般推到性,以致于预测效果很差。
解决方法:正则化
作用:控制参数幅度;限制参数搜索空间
J
(
θ
)
=
1
2
m
[
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
+
λ
∑
j
=
1
n
θ
j
2
]
J(\theta)=\frac{1}{2 m}\left[\sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{j=1}^{n} \theta_{j}^{2}\right]
J(θ)=2m1[∑i=1m(hθ(x(i))−y(i))2+λ∑j=1nθj2]
假设原始线程方式是
h
θ
(
x
)
=
θ
1
x
1
+
θ
2
x
2
+
θ
3
x
3
+
θ
4
x
4
h_{\theta}(x)=\theta_1x_1+\theta_2x_2+\theta_3x_3+\theta_4x_4
hθ(x)=θ1x1+θ2x2+θ3x3+θ4x4,在线训练过程中,根据训练集数据大小,每一个
θ
\theta
θ的都可能非常大,或者非常小,这条线抖动非常大。如果在损失函数中加入
∑
j
=
1
n
θ
j
2
\sum_{j=1}^{n} \theta_{j}^{2}
∑j=1nθj2,因为损失函数要求最小值,所以每一个
θ
\theta
θ的值就不可能很大。
λ
\lambda
λ是一个超参数。
λ
\lambda
λ太小,正则化项不起作用;
λ
\lambda
λ太大,学习到的参数主要由正则化项决定,与训练数据无关,也是错误的。
通常使用L1、L2正则化。
logistic回归
线性回归在分类问题上使用,健壮性差,所以使用logistic回归。
sigmoid函数值域在(0,1)之间,可以看做一个概率函数。
在线性回归外面套一层sigmoid函数。
算法方程:
h
θ
(
x
)
=
g
(
θ
0
+
θ
1
x
1
+
θ
2
x
2
)
h_{\theta}(x)=g\left(\theta_{0}+\theta_{1} x_{1}+\theta_{2} x_{2}\right)
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\left(\theta_{0}+\theta_{1} x_{1}+\theta_{2} x_{2}+\theta_{3} x_{1}^{2}+\theta_{4} x_{2}^{2}\right)
hθ(x)=g(θ0+θ1x1+θ2x2+θ3x12+θ4x22)
损失函数: cost ( h θ ( x ) , y ) = { − log ( h θ ( x ) ) if y = 1 − log ( 1 − h θ ( x ) ) if y = 0 \operatorname{cost}\left(h_{\theta}(x), y\right)=\left\{\begin{aligned}-\log \left(h_{\theta}(x)\right) & \text { if } y=1 \\-\log \left(1-h_{\theta}(x)\right) & \text { if } y=0 \end{aligned}\right. cost(hθ(x),y)={−log(hθ(x))−log(1−hθ(x)) if y=1 if y=0
J ( θ ) = − 1 m [ ∑ i = 1 m y ( i ) log h θ ( x ( i ) ) + ( 1 − y ( i ) ) log ( 1 − h θ ( x ( i ) ) ) ] J(\theta)=-\frac{1}{m}\left[\sum_{i=1}^{m} y^{(i)} \log h_{\theta}\left(x^{(i)}\right)+\left(1-y^{(i)}\right) \log \left(1-h_{\theta}\left(x^{(i)}\right)\right)\right] J(θ)=−m1[∑i=1my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]
梯度下降优化公式: θ j : = θ j − α ∂ ∂ θ j J ( θ ) \theta_{j}:=\theta_{j}-\alpha \frac{\partial}{\partial \theta_{j}} J(\theta) θj:=θj−α∂θj∂J(θ)
加入正则化: J ( θ ) = [ − 1 m ∑ i = 1 m y ( i ) log ( h θ ( x ( i ) ) + ( 1 − y ( i ) ) log 1 − h θ ( x ( i ) ) ] + λ 2 m ∑ j = 1 n θ j 2 J(\theta)=\left[-\frac{1}{m} \sum_{i=1}^{m} y^{(i)} \log \left(h_{\theta}\left(x^{(i)}\right)+\left(1-y^{(i)}\right) \log 1-h_{\theta}\left(x^{(i)}\right)\right]+\frac{\lambda}{2 m} \sum_{j=1}^{n} \theta_{j}^{2}\right. J(θ)=[−m1∑i=1my(i)log(hθ(x(i))+(1−y(i))log1−hθ(x(i))]+2mλ∑j=1nθj2