机器学习入门知识
机器学习入门知识
标签: 机器学习 入门 概念 吴恩达
1. 机器学习适用的场景
- 数据挖掘
- 无法手工编程的场景(例如控制直升机自动飞行的程序)
- 尝试理解人类学习和人脑的工作
2. 学习方法分类
- 监督学习:训练集中的数据,对于每个数据实例,都已知答案,算法就是依据这些来做出预测。
- 无监督学习:算法从数据中寻找规律,典型的例子为聚类。
3. 回归问题与分类问题
- 回归问题:预测一个连续的输出(例如预测房价)。
- 分类问题:预测一个离散的输出。
4. 假设函数
\(h_\theta(x)\)将输入数据映射到对该数据的预测值。
5. 代价函数
一般求解的目标是使得代价函数的值最小,常用的方法为梯度下降。
6. 梯度下降
迭代更新参数\(\theta_j\)的方法如下:
其中,\(:=\) 是赋值符号,\(\alpha\)被称为学习效率,注意如果\alpha的取值太大,则会造成迭代的过程震荡甚至不收敛;反之,如果\alpha的值过小,则会使得收敛很慢。
-
梯度下降在迭代过程中可以自动调整修改参数的速率。注意偏导项,当偏导数值较小(一般更有可能接近局部最优点)的时候,每次\theta_j的增量也较小,而当偏导比较大的时候,也会大幅度的修改,即其是自适应的过程,人为要干预的,是选择适当的\(\alpha\)值。
-
梯度下降必须同时更新每个参数,虽然不同时也可能产生不错的效果,但那样做就不再是梯度下降算法了。
示例:
正确写法:
\(temp_0 := \theta_0 - \alpha\frac{\partial}{\partial \theta_0} h_\theta(x)\)
\(temp_1 := \theta_1 - \alpha\frac{\partial}{\partial \theta_1} h_\theta(x)\)
\(\theta_0 := temp_0\)
\(\theta_1 := temp_1\)错误写法:
\(\theta_0 := \theta_0 - \alpha\frac{\partial}{\partial \theta_0} h_\theta(x)\)
\(\theta_1 := \theta_1 - \alpha\frac{\partial}{\partial \theta_1} h_\theta(x)\)
因为在对\(\theta_1\)进行更新时,使用的是已经更新过的\(\theta_0\)的值,所以不是同时的。