本文是为了方便查阅和复习写的小结,如果想了解其中的详细信息,coursera 的machine learning课程是一个很不错的学习资源:https://www.coursera.org/course/ml,mooc上有不少同学写的笔记超级赞:http://mooc.guokr.com/course/16/Machine-Learning/。
1. 线性回归 Linear Regression
模型:
可简化为:
代价函数(cost function)为:
梯度下降(gradient descent)算法为:
注意对theta 0-n 更新时需要全部采用上一次循环时的theta 0-n的值
特征缩放:
正规方程(normal equation):通过求解此方程,得出
推导过程可参考http://blog.sina.com.cn/s/blog_8e6f1b330101eu3b.html
正规方程与梯度下降比较:
梯度下降:需要选择合适的learning rate α ; 需要很多轮迭代;可适用n较大的情况;适用于各种模型;
正规方程: 不需要选择 α ;一次运算得出;计算 (XTX)−1 时间复杂度是 O(n3),适用于n较小(n<10000)的情况;只适用于线性模型,不适用于逻辑回归。
正规方程 XTX 不可逆:1) 去掉冗余的特征(线性相关,如x1 = 5 * x2) 2)去掉过多的特征,例如m <= n:
2. 逻辑回归 Logistic Regression
模型:,其中
判定边界(decision boundary):
代价函数:
梯度下降:
多类分类(multiclass classification):当需要分成n个类,且n>2时,可训练n个分类机,每个分类机将其中一个类标记为正向类,其它n-1个标记成负向类。预测时,将每个分类机运行一遍,并选择输出最高的值。