LASSO代价函数
在常规的代价函数中,参数一般只会趋于0而不会直接取0,因此将代价函数进行修改,即L1正则化。
J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x i ) − y i ) 2 + λ ∑ j = 1 n ∣ θ j ∣ ] J(\theta)=\frac{1}{2m}[\sum_{i=1}^{m}(h_\theta(x^i)-y^i)^2+\lambda\sum_{j=1}^{n}|\theta_j|] J(θ)=2m1[∑i=1m(hθ(xi)−yi)2+λ∑j=1n∣θj∣]
该方法用于含多重线性相关的数据,即参数最终有直接为0的情况。
弹性网代价函数
J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x i ) − y i ) 2 + λ ∑ j = 1 n ∣ θ j ∣ q ] J(\theta)=\frac{1}{2m}[\sum_{i=1}^{m}(h_\theta(x^i)-y^i)^2+\lambda\sum_{j=1}^{n}|\theta_j|^q] J(θ)=2m1[∑i=1m(hθ(xi)−yi)2+λ∑j=1n∣θj∣q]
逻辑回归
逻辑回归常用于分类问题,较为适用于二分类问题。
逻辑回归函数:
h
θ
(
x
)
=
g
(
θ
T
x
)
h_\theta(x)=g(\theta^Tx)
hθ(x)=g(θTx) (矩阵形式)
g(x)为sigmoid函数 ,函数表达式为:
g
(
x
)
=
1
1
+
e
−
x
g(x)=\frac{1}{1+e^{-x}}
g(x)=1+e−x1
其函数图如下:
因此代入上式可知
h
θ
(
x
)
=
1
1
+
e
−
θ
T
X
h_\theta(x)=\frac{1}{1+e^{-\theta^T X}}
hθ(x)=1+e−θTX1
由sigmoid函数可知分界线为0.5,对于
θ
T
X
\theta^T X
θTX的界限为0
逻辑回归代价函数
c
o
s
t
(
h
θ
(
x
)
,
y
)
=
{
−
l
o
g
(
h
θ
(
x
)
)
i
f
y
=
1
−
l
o
g
(
1
−
h
θ
(
x
)
)
i
f
y
=
0
cost(h_\theta (x),y)= \begin{cases} -log(h_\theta(x))& if \quad y=1\\ -log(1-h_\theta(x))& if \quad y=0\\ \end{cases}
cost(hθ(x),y)={−log(hθ(x))−log(1−hθ(x))ify=1ify=0
其中
h
θ
(
x
)
h_\theta(x)
hθ(x)为预测值,y为真实值。以二分类而言,标签一般分为‘0’和‘1’。
因此当标签为‘1’,预测值为‘0’时,代价函数值为
∞
\infty
∞,也就意味着偏差无穷大,反之相同。
将二者合成一般情况: c o s t ( h θ ( x ) , y ) = − y l o g ( h θ ( x ) ) − ( 1 − y ) l o g ( 1 − h θ ( x ) ) cost(h_\theta(x),y)=-ylog(h_\theta(x))-(1-y)log(1-h_\theta(x)) cost(hθ(x),y)=−ylog(hθ(x))−(1−y)log(1−hθ(x))
经过求导可知,代价函数的梯度为:
g r a d = 1 m ∑ i = 1 m x ( h θ ( x ) − y ) grad=\frac{1}{m}\sum_{i=1}^{m}x(h_\theta(x)-y) grad=m1∑i=1mx(hθ(x)−y) (写成矩阵形式时X等部分矩阵可能要转置)