机器学习入门笔记(四)

LASSO代价函数

在常规的代价函数中,参数一般只会趋于0而不会直接取0,因此将代价函数进行修改,即L1正则化。

J(θ)=12m[i=1m(hθ(xi)yi)2+λj=1nθj]J(\theta)=\frac{1}{2m}[\sum_{i=1}^{m}(h_\theta(x^i)-y^i)^2+\lambda\sum_{j=1}^{n}|\theta_j|]

该方法用于含多重线性相关的数据,即参数最终有直接为0的情况。

弹性网代价函数

J(θ)=12m[i=1m(hθ(xi)yi)2+λj=1nθjq]J(\theta)=\frac{1}{2m}[\sum_{i=1}^{m}(h_\theta(x^i)-y^i)^2+\lambda\sum_{j=1}^{n}|\theta_j|^q]

逻辑回归

逻辑回归常用于分类问题,较为适用于二分类问题。
逻辑回归函数:hθ(x)=g(θTx)h_\theta(x)=g(\theta^Tx) (矩阵形式)
g(x)为sigmoid函数 ,函数表达式为:g(x)=11+exg(x)=\frac{1}{1+e^{-x}}
其函数图如下:
机器学习入门笔记(四)
因此代入上式可知hθ(x)=11+eθTXh_\theta(x)=\frac{1}{1+e^{-\theta^T X}}
由sigmoid函数可知分界线为0.5,对于θTX\theta^T X的界限为0

逻辑回归代价函数

cost(hθ(x),y)={log(hθ(x))ify=1log(1hθ(x))ify=0cost(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}
其中hθ(x)h_\theta(x)为预测值,y为真实值。以二分类而言,标签一般分为‘0’和‘1’。
因此当标签为‘1’,预测值为‘0’时,代价函数值为\infty,也就意味着偏差无穷大,反之相同。

将二者合成一般情况:cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))cost(h_\theta(x),y)=-ylog(h_\theta(x))-(1-y)log(1-h_\theta(x))

经过求导可知,代价函数的梯度为:

grad=1mi=1mx(hθ(x)y)grad=\frac{1}{m}\sum_{i=1}^{m}x(h_\theta(x)-y) (写成矩阵形式时X等部分矩阵可能要转置)