机器学习2
逻辑回归
代价函数
so,$J(\theta)=\frac{1}{m}\sum_{i=1}^mCost(h_{\theta}(x),y)$
实现一个完整的逻辑回归算法:
上面的$Cost(h_{\theta}(x),y)$可以简化为$Cost(h_{\theta}(x),y)=-y*log(h_{\theta}(x))-(1-y)*log(1-h_{\theta}(x))$
即$J(\theta)=-\frac{1}{m}\sum_{i=1}^m[y^{(i)}*log(h_{\theta}(x^{(i)}))+(1-y^{(i)})*log(1-h_{\theta}(x^{(i)}))]$
要找到使J(θ)最小的θ,
高级优化
共轭梯度法(conjugate gradient)、L-BGFS、BFGS算法:优化代价函数
优点:不需手动选择学习率(线性搜索算法,自动尝试不同的学习率),收敛速度远快于梯度下降
多元分类:一对多
类别>2时,需要考虑如何多分类
一类 和 其他所有类分为一类,分别得出预测函数
正则化
过拟合问题(overfitting)
线性回归问题
第三个就是过拟合(拟合所有数据点)
分类问题
如何解决过拟合?
- 特征变量少时可以通过绘图来分辨
- 减少特征变量数目
- 正则化(保留所有特征,但是减少参数的大小)
代价函数
惩罚项θ3,θ4,使它们尽可能小
$\lambda$称为正则化参数(Regularization Parameter),太大会导致使所有参数都最小化,导致模型变成类似于一条水平直线,这样不合适
线性回归的正则化
化简后得到:前半部分接近于$\theta_j$,后半部分和未正则化一样
也可以利用正规方程来求解正则化线性回归模型