Andrew Ng机器学习coursrea课程学习笔记(第1周)
很久之前就对机器学习很感兴趣,经过各种探索,慢慢开始入门,其中coursera课程上的Andrew Ng是一门相当棒的入门课程。
之前就学过这个课程,不幸的是因为某些原因,学到一半就没继续下去,所以,现在重启课程学习,并把所学到的东西做出笔记。供同样学习这门课程的学习者参考,同时,欢迎共同交流。
coursera官网链接:http://www.coursera.org/
注意:coursera网站在国内可能网速太差,可以考虑科学上网方式。同时针对手机有coursera app,可以在软件平台下载。
目录
一、简介(Introduction)
1. 机器学习应用
机器学习主要在人工智能(AI)领域应用广泛,另一方面,也作为计算机一个新的能力而开发。举例如下:
- 数据挖掘(Database mining)
- 不同领域的大数据等
- 不可直接编程应用(Applications can’t program by hand.)
- 手写识别,自然语言处理(NLP),计算机视觉等。
- 定制化程序应用(Self-customizing programs)
- 产品自动推荐等
- Understanding human learning
- real AI等
2. 机器学习定义
没有统一的定义,提供两种不同角度的定义:
- 不直接通过算法编程的学习,使计算机具有某种功能的领域(Field of study that gives computers the ability to learn without being explicitly programmed.)
- 一个计算机程序,通过以方法P,多次执行任务T,从而从中得到经验E。与此同时,根据以往的经验E,以方法P,优化任务T的执行.(A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.)
3. 机器学习算法的分类
机器学习可分为两大类:
- 监督学习(Supervised learning):数据都有正确的标签(x->y,既有输入x,又有输出y,且输出为正确的。)
- 非监督学习(Unsupervised learning):数据没有标签(x,只有输入数据)
同时,除此之外,还有强化学习(Reinforcement learning), 推荐系统(Recommender systems)。
例:
回归问题(Regression),分类问题(Classification)属于监督学习,聚类问题(cluster)属于非监督学习。
二、 一元线性回归(Linear Regression with One Variable)
1. 模型(model)
以上为一个房价预测模型的例子,房子面积x与价格y的关系。
- 面积x:输入变量(特征量)
- 价格y:输出变量(目标量)
- 数据集:收集的数据,在上图以点的形式存在。(x,y)表示一个数据样本,表示第个样本
通过大量的数据,我们将可以从中学习到规律,从而给任意面积x,都可以比较满意的预测一个价格y。
以下给出一个通用模型:
- xy存在映射关系,可以认为y=f(x) , 但f为未知的。
- 通过学习算法和数据集,得到一个h(Hypothesis),使得h f
- 从而对于任意x(面积),通过y=h(x)来预测y(房价)。尽管h(x)不等于f(x),但h(x)仍然是一个不错的结果
2. 代价函数(Cost function)
在上一个例子中,由图可以知道,数据多分布在一条直线周围,故可以设
Hypothesis:
为参数,与h一一对应,即h有无数个,但有些h预测结果好,即hf,但有些h很差,我们要找出那个最好的h,则需要一个评判标准,这就产生了代价函数。
类似于最小二乘法,采用如下定义代价函数
Cost function:
我们的目标是减小代价函数:
Goal:
很明显,代价函数越小,所构造模型的误差就越小,预测值更加接近实际值。通过得到一个h,则h f
3. 梯度下降算法(Gradient descent algorithm)
为了,需要根据数据集,采用相应的算法,找到使得,其中,梯度下降算法是一种应用较为广泛的算法。
-
算法流程:
- 选择初值
- 改变,使得减小
- 重复步骤2,直到到达最小值,或接近最小值。
-
具体算法设计:
repeat until convergence{
} (其中,在这里表示为)
注意:算法中的更新
应该同时更新,不能依次计算更新。左边正确,右边错误
该例子具体算法实现:
计算代价函数偏导数,代入可以得到如下式子具体原理参考微积分内容
三、线性代数(Linear Algebra)
参考课程:mooc上的 线性代数与空间解析几何
全文参考 :coursera机器学习课程(Andrew Ng讲授)相关视频及讲义