机器学习Week 1
前言
最近开始follow机器学习大牛Andrew Ng在Coursesa上的课程,特开此专题以记录之。
1.机器学习的定义
Tom Mitchell 给出了一个相对有趣的定义,他的原话是:
<blockquote>
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
</blockquote>
我个人觉得Tom Mitchell的定义相当清晰明了,我就不再赘述。
2.机器学习的分类
机器学习主要可以分为两类:
- Supervised Learning
- Unsupervised Learning
暂将其翻译为带监督的学习(Supervised Learning)和不带监督的学习(Unsupervised Learning)。所谓Supervised Learning即其数据集带有<b>正确答案</b>,Unsupervised Learning与之相反。所谓正确答案,我的理解即为包含了客观事实或者人们的常规理解的结果。比如每平方米的房价和对图片美丑的判断数据。
2.1 Supervised Learning
Supervised Learning可大致被分为两类:
- regression problem,即回归问题
- classfication problem,即分类问题
回归问题通常指输出为连续型,将问题映射到一个连续函数的问题,比如预测房价的走势;分类问题通常指输出为离散型,比如判断一张图片的美丑。个人感觉,仅以输出为连续型或者离散型来判断问题的种类可能会产生误解,比如预测一件商品在下一季度将会卖出的个数,显然输出为离散型,但其并不是分类问题。分类问题的输出具有互斥性,回归问题的输出为同一随机变量的可能取值。强行解释了一波,自以为解释得并不是很好,其实对于是不是分类问题,直观上是很容易判别的,如果不是分类问题即可归为回归问题。
2.2 Unsupervised Learning
Unsupervised Learning可以解决那些我们不知道“正确答案”的问题。Unsupervised Learning同样可以分为两类:
- Clustering,聚类问题
- Non-clustering,非聚类问题
诸如,根据消费者的需求将消费者分为几类,即为聚类问题;将混叠的声音分离出来即为非聚类问题。
3.Linear Regression with one variable
一元回归问题可以简要描述如下:
给定一组数据{ x(i):i=1,2,3,...,m },{ y(i):i=1,2,3,...,m },称x(i)为输入变量,y(i)为输出变量或者目标变量。( x(i),y(i) )称为一个训练样本,{ (x(i),y(i)):i=1,2,3,...,m }称为训练集。一元线性回归的目的即为,得到一个假设函数(hypothesis function)h(x)=θ0+θ1x,使得成本函数(cost function)J(θ0,θ1)最小。
其中cost function如下:
一元回归的过程如下:
3.1 Gradient Decent
Gradient Decent即梯度下降法,类似于牛顿迭代法,梯度下降算法如下:
如其名字所示,参数θ0,θ1沿着梯度下降,将cost function代入可得如下公式:
需要注意的是,θ0,θ1需要同时更新,即需要先计算出θ0和θ1,然后同时更新θ0和θ1。