接触机器学习领域有一段时间了,跟过不少基础的课程,也看过一些入门的书籍和论文,现在想通过一门公开课系统的进入机器学习的领域,所以选择了advanced Machine Learning,这是哈佛大学的一门高级机器学习公开课,主要教材选用的是kevin Murphy Machine
Learning: A Probabilistic Perspective, MIT Press 以及Christopher M. Bishop, Pattern
Recognition and Machine Learning, Springer. 希望通过这一个系列的学习,磨练自己的理论水平,同时通过kaggle平台的竞赛进行实际的联系操作。OK,咱们下面进入第一章, 本章需要完成以下的阅读任务:
Murphy Chapter 1 introduction
Bishop Chapter 1 introduction
Introduction
今天我们已经进入大数据时代,每天有成千上万的数据产生,如何能够自动化的从万千的大数据中发现探索知识已经成为了这个时代的关键技术,这就是机器学习所能够做的事情,它可以用一系列的方法自动的从数据中探索模式,并通过这种模式去预测未来的数据。
机器学习的类型
机器学习主要分为监督学习和无监督学习,监督学习可以分为分类任务和回归任务,而无监督学习没有明确的响应变量,需要我们自己去无标记的数据中发现知识。
分类
当应变量是一系列类别时,机器学习的任务就是分类,分类就是从自变量X到Y中学习到mapping,y
∈ {1,…,C} ,y属于类别变量,如果C=2,那么这就是一个二元分类问题(binary classification),如果C>2,那么这就是一个多元分类问题(multi-label classification),我们还可以用更加标准的定义该问题,假设X和y之间满足function:y
= f(x),但是我们不可能完全准确的学习到这个function,所以我们的目标就是从中学到另外一个function:
用这样一个function来近似表示真实存在的function。分类问题用概率的观点来表示就是:p(y|x,D),在知道训练数据D,以及测试数据x的条件下,y为某个类别的概率。在做这个假设的同时,我们也需要一个model来实现预测的目标,所以最终的表达式: p(y|x,D,
M) 。当然我们需要做到的是使这个概率最大化,可以表达为以下形式:即我们希望使后验概率最大化,叫做MAP
estimate (MAP stands formaximum
a posteriori) 。
分类问题实际应用
文档分类
邮件欺诈
花瓣分类
图像分类
手写识别
面部识别
回归问题
回归问题与分类问题类似,只是响应的变量是连续型的,表示为有xi∈R,希望找到一个function将其映射至 yi∈R
。如下图所示,左侧找到了一个function(直线)将x映射至y,但是右侧仿佛更好的拟合了所有的点,左侧是一元回归,右侧是二元回归 quadratic regression。
回归问题实际应用
根据历史股价信息,以及其他公司相关信息,预测公司明日股价
根据用户的浏览信息,以及行为模式,判别用户的年龄
通过一些传感器,时间,地理信息,预测室内某点温度
非监督学习
非监督学习是指这样的任务:给定了我们目标数据,但是没有明确的学习任务,没有标签,需要我们自己去发现隐藏在数据中的知识,正是由于不需要人工标注,所以非监督学习的应用也是非常广泛的。非监督学习也叫做:density
estimation ,表示为p(xi|θ)
。常常需要搞清楚的是X的分布问题,区别于监督学习的预测y这个相应变量。
聚类
Discovering cluster, 聚类的问题可以总结为:给定了训练数据集,需要发现它有K个group。可以表示为:p(K |
D), 第二个任务就是给定了group的个数,分辨出数据中的各个sample属于哪一个类别,同样根据最大释然法则,得以下公式:
以下是一个聚类的例子:通过人群的身高和体重将他们分成了两类:
聚类的实际应用
航天领域,对于星球的数据聚类,发现新的行星。
电子商务领域,将有共同爱好和购买行为的用户聚类,最终达到向他们个性化定制推送的目的。
生物学中,将物种聚类。
发现Latent factor
在面对维度灾难的时候,非监督学习的维度削减就派上用场了,这种技术可以将高维度的数据映射至低维度,并最大限度的保留维度之间的variance,latent factor就是指这些保留了variance的变量们,维度削减最常用的技术叫做PCA(principal component analysis),例如下面这些人像图片经过PCA的处理保留了轮廓:
PCA的应用
生物学中用PCA来发现基因中的信息
自然语言处理中,latent semantic analysis
信号处理中,ICA技术,从信号中分离出多路原信号。
Matrix completion
通过非监督学习来补全图片中缺损的像素,那是不是影片也可以呢?(好吧,邪恶了~),示例如下图:
Collaborative filtering
协同过滤常用语推荐系统,例如我们知道一个用户的电影和小说爱好,但是要预测他对没有看过的一部电影的兴趣程度,可以利用其它用户的数据来达到预测的目的。
菜篮子分析
该项任务是发现人民群众菜篮子里面的一些相关项,找到它们之间的关联法则,可以影响推荐以及商品摆放的决策。
机器学习中的一些基本概念
参数模型和非参数模型
参数模型是指一个模型拥有很多固定的参数,而这些参数是通过训练得到的,可以直接用到测试数据上,得到想要的结果。非参数模型是指,没有固定的参数,模型需要现场训练生成结果,例如知名的KNN算法,就属于非参数模型。非参数模型也可以叫做memory-based
learning orinstance-based learning.
参数模型的好处是生成测试结果时间很快,但是训练时间长。
维度灾难
维度灾难是指,当预测因子很多,或者成倍增长时,模型的预测性能下降。这是有理论依据的,详见http://blog.csdn.net/frog_in_a_well/article/details/19772677 机器学习原理。维度灾难可以通过减少维度来解决,也可以增加训练样本来弥补。
分类和回归
线性回归
线性回归表示的是响应变量表示为变量的线性模式,如下图:
wTx表示的是W这个参数向量和X这个sample向量的内乘, ε表示的是残差(residual
error)。通常假设 ε是服从高斯分布的,表示为:ε∼N(μ,σ2)
,μ是mean,σ2
是variance。接下来需要将线性回归和高斯分布联系起来:
同时,线性回归可以模拟非线性回归,通过以下公式达到:φ(x)是关于X的非线性函数。
下面是一个非线性拟合的例子,通过引入x的n次方形式,来达到非线性拟合的目的,这里左图引入了x的14方,右图是x的20方,同时我们也能看到高纬度所带来的灾难,右图虽然很好的拟合了图中所有的点,但是可以预见它的通用性并不好,属于over
fitting了。
Logistic regression
当把之前提到的高斯分布换为伯努利分布之后,机器学习的任务就变为了逻辑回归,特别适用于二元分类的情形。
为了将预测结果收敛至0-1之间,有以下公式:
这个函数长什么样呢?
预测的公式:
Overfitting
over fitting是指模型很好的拟合了训练数据,但是在测试数据上表现糟糕。正如上图用x的20次方拟合曲线,function很好的拟合了每一个数据sample点,但是可以预见它在未来的测试数据集上表现一定有问题,因为它过于复杂了。在机器学习中常用regularization来对抗overfitting,在线性回归中可以用以下方式来regularization,其原理是将model的系数加到cost function里面,很大程度上抑制了某些变量被加到model中来,这也叫做ridge regression。
Model selection
当我们有多个模型候选的时候,如何选择一个最佳的模型呢?一种理想的方式是评估模型对训练数据集的拟合程度如何,如下公式评估拟合的错误率。
但是这样的方法是不健全的,因为我们无法知道它的genralization情况如何,所以我们要用到cross validation,用一部分的train数据来训练model,另一部分train数据集来评估model的表现。n-fold cross validation表示将训练数据集分成n份,用n-1份来训练,1份来评估model的性能,这样循环,直到每份数据都做过test数据集,最后得到一个平均的model表现分数。特别情况下,当数据集实在比较少,可以用leave one out cross validation的方式,每次用1个样本来评估model的表现。
No free lunch theorem
All models are wrong, but some models are useful. — George Box
Much of machine learning is concerned with devising different
models, and different algorithmsto fit them. We can use methods such as cross validation to empirically choose the best
methodfor our particular problem. However, there is no universally best model — this is sometimescalled theno free lunch theorem(Wolpert
1996). The reason for this is that a set of assumptionsthat works well in one domain may work poorly in another.
reference
Machine Learning: A Probabilistic Perspective
Pattern Recognition and Machine Learning
CS281 http://www.seas.harvard.edu/courses/cs281/
版权声明:本文为博主原创文章,未经博主允许不得转载。