机器学习入门知识

机器学习入门知识

标签: 机器学习 入门 概念 吴恩达


1. 机器学习适用的场景

  • 数据挖掘
  • 无法手工编程的场景(例如控制直升机自动飞行的程序)
  • 尝试理解人类学习和人脑的工作

2. 学习方法分类

  • 监督学习:训练集中的数据,对于每个数据实例,都已知答案,算法就是依据这些来做出预测。
  • 无监督学习:算法从数据中寻找规律,典型的例子为聚类。

3. 回归问题与分类问题

  • 回归问题:预测一个连续的输出(例如预测房价)。
  • 分类问题:预测一个离散的输出。

4. 假设函数

  (h_ heta(x))将输入数据映射到对该数据的预测值。

5. 代价函数

[J( heta)=frac{1}{2m}sum^m_{i=1}(h_ heta(x^{(i)})-y^{(i)})^2 ]

  一般求解的目标是使得代价函数的值最小,常用的方法为梯度下降。

6. 梯度下降

  迭代更新参数( heta_j)的方法如下:

[ heta_j := heta_j - alphafrac{partial}{partial heta_j} h_ heta(x) ]

  其中,(:=) 是赋值符号,(alpha)被称为学习效率,注意如果alpha的取值太大,则会造成迭代的过程震荡甚至不收敛;反之,如果alpha的值过小,则会使得收敛很慢。

  • 梯度下降在迭代过程中可以自动调整修改参数的速率。注意偏导项,当偏导数值较小(一般更有可能接近局部最优点)的时候,每次 heta_j的增量也较小,而当偏导比较大的时候,也会大幅度的修改,即其是自适应的过程,人为要干预的,是选择适当的(alpha)值。

  • 梯度下降必须同时更新每个参数,虽然不同时也可能产生不错的效果,但那样做就不再是梯度下降算法了。

    示例:
    正确写法:
      (temp_0 := heta_0 - alphafrac{partial}{partial heta_0} h_ heta(x))
      (temp_1 := heta_1 - alphafrac{partial}{partial heta_1} h_ heta(x))
      ( heta_0 := temp_0)
      ( heta_1 := temp_1)

    错误写法:
      ( heta_0 := heta_0 - alphafrac{partial}{partial heta_0} h_ heta(x))
      ( heta_1 := heta_1 - alphafrac{partial}{partial heta_1} h_ heta(x))
    因为在对( heta_1)进行更新时,使用的是已经更新过的( heta_0)的值,所以不是同时的。

原文地址:https://www.cnblogs.com/beisong/p/5693196.html