1. 线性回归
1.1概念
对于一组特征,使用线性方程来进行拟合,对结果进行预测,公式如下:
h
θ
(
X
)
=
θ
T
X
=
θ
0
X
0
+
θ
1
X
1
+
⋅
⋅
⋅
+
θ
n
X
n
θ
=
(
θ
0
,
θ
1
,
θ
2
,
.
.
.
,
θ
n
)
X
=
(
X
0
,
X
1
,
X
2
,
.
.
.
,
X
n
)
其
中
X
1
=
1
h_\theta (X)= \theta^TX = \theta_0X_0+\theta_1X_1+···+\theta_nX_n \\ \theta=(\theta_0,\theta_1,\theta_2,...,\theta_n) \\ X=(X_0,X_1,X_2,...,X_n) \\ 其中X_1=1
hθ(X)=θTX=θ0X0+θ1X1+⋅⋅⋅+θnXnθ=(θ0,θ1,θ2,...,θn)X=(X0,X1,X2,...,Xn)其中X1=1
1.2代价函数
线性回归选取的损失函数是均方误差,均方误差表示所有样本到该预测函数的欧式距离最小,代价函数如下:
J
(
θ
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
X
)
−
y
i
)
2
J(\theta)=\frac{1}{2m}\sum_{i=1}^m(h_\theta(X)-y_i)^2
J(θ)=2m1i=1∑m(hθ(X)−yi)2
对每一个
θ
\theta
θ进行求导,便可以得到
θ
\theta
θ的值:
∂
J
∂
θ
i
=
1
m
∑
i
=
1
m
(
h
θ
(
X
i
)
−
y
i
)
X
i
\frac{\partial J}{\partial \theta_i}=\frac{1}{m}\sum_{i=1}^{m}(h_\theta(X_i)-y_i)X_i
∂θi∂J=m1i=1∑m(hθ(Xi)−yi)Xi
更新参数:
θ
:
=
θ
−
α
∂
J
∂
θ
i
\theta:=\theta-\alpha\frac{\partial J}{\partial \theta_i}
θ:=θ−α∂θi∂J
其中
α
\alpha
α表示学习率
1.3如何选取α,如何停止更新权值
通常
α
\alpha
α取0.001,根据实验结果依次增加三倍,比较实验结果。0.001,0.003,0.01,0.03,0.1
θ
\theta
θ更新到什么时候停止?
每次更新后,带入
θ
\theta
θ值可以求得
J
(
θ
)
J(\theta)
J(θ)的值,比较当前的
J
(
θ
)
J(\theta)
J(θ)与上一次的值,如果变化很小,则可认为达到收敛;或者不断增加迭代次数,可视化观察
J
(
θ
)
J(\theta)
J(θ)的曲线图。
1.4 正则化
使用L1范数(权值为非0的权值和)称为Lasso回归,使用L2范数(权值平方和)称为岭回归。正则化项称为惩罚函数,目的解决过拟合问题,代价函数变为:
J
(
θ
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
X
i
)
−
y
i
)
2
+
λ
∑
j
=
1
n
θ
j
2
J(\theta) =\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(X_i)-y_i)^2 + \lambda\sum_{j=1}^n\theta_j^2
J(θ)=2m1i=1∑m(hθ(Xi)−yi)2+λj=1∑nθj2
这里使用的时L2范数
J
(
θ
)
J(\theta)
J(θ)称为岭回归
2 逻辑回归
2.1 概念
逻辑回归由线性回归转变而来,线性回归用来预测具体的值,如果遇到分类问题如何解决呢?这里还是使用线性回归来拟合数据,然后再对其预测值进行0 1 映射(使用sigmod函数),因此得到的逻辑回归模型为:
h
θ
(
X
)
=
1
1
+
e
−
z
z
=
θ
T
X
h_\theta(X) = \frac{1}{1+e^{-z}} \\ z=\theta^TX
hθ(X)=1+e−z1z=θTX
sigmod函数就是形式S形状的函数,存在上限、下限。
2.2代价函数
这里可以均方误差作为代价函数,但是图像非凸函数,使用梯度下降很难求得其收敛值,因此这里借助于极大似然估计的概念来设计逻辑回归的代价函数:对于二分类:
似然函数:
L
(
x
)
=
p
x
∗
(
1
−
p
)
1
−
x
x
=
0
,
1
L(x)=p^x*(1-p)^1-x \\ x=0,1
L(x)=px∗(1−p)1−xx=0,1
对数形式:
log
L
(
x
)
=
x
log
p
+
(
1
−
x
)
log
(
1
−
p
)
\log L(x)=x\log p+(1-x)\log(1-p)
logL(x)=xlogp+(1−x)log(1−p)
对于逻辑回归本身求得就是偏向某类的概率
h
θ
(
x
)
h_\theta(x)
hθ(x):逻辑回归似然函数:
L
(
x
)
=
∏
i
=
1
m
h
(
x
i
)
y
i
∗
(
1
−
h
θ
(
x
i
)
1
−
y
)
L(x)=\prod_{i=1}^m h(x_i)^{y_i}*(1-h_\theta(x_i)^{1-y})
L(x)=i=1∏mh(xi)yi∗(1−hθ(xi)1−y)
对数形式:这里求得极大似然估计,前面取符号,即可求得满足代价函数的最小值,于是得到逻辑回归的代价函数如下:
log
L
(
x
)
=
∑
i
=
1
m
y
i
log
(
h
θ
(
x
i
)
)
+
(
1
−
y
i
)
log
(
1
−
h
θ
(
x
i
)
)
\log L(x) = \sum_{i=1}^m y_i \log (h_\theta(x_i)) + (1-y_i) \log(1-h_\theta(x_i))
logL(x)=i=1∑myilog(hθ(xi))+(1−yi)log(1−hθ(xi))
1
m
\frac{1}{m}
m1不影响函数的功能。故求得对
θ
\theta
θ的偏导为:
∂
J
∂
θ
i
=
1
m
∑
i
=
1
m
x
i
∗
(
h
θ
x
i
−
y
i
)
\frac{\partial J}{\partial \theta_i}=\frac{1}{m} \sum_{i=1}^m x_i * (h_\theta x_i - y_i)
∂θi∂J=m1i=1∑mxi∗(hθxi−yi)
更新梯度:
θ
:
=
θ
−
α
∂
J
∂
θ
i
\theta:=\theta-\alpha\frac{\partial J}{\partial \theta_i}
θ:=θ−α∂θi∂J
2.3 正则化
与线性回归相似,正则化可以使用L1范数、L2范数,这里使用L2范数得到的代价函数为:
J
(
θ
)
=
−
1
m
∑
i
=
1
m
[
y
i
log
(
h
θ
(
x
i
)
)
+
(
1
−
y
i
)
log
(
1
−
h
θ
(
x
i
)
)
+
λ
∑
j
=
1
n
θ
j
2
]
J(\theta) = - \frac{1}{m} \sum_{i=1}^m\left[ y_i\log (h_\theta(x_i)) + (1-y_i)\log (1-h_\theta(x_i)) + \lambda\sum_{j=1}^n\theta_j^2\right]
J(θ)=−m1i=1∑m[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))+λj=1∑nθj2]