CS281: Advanced Machine Learning 第一节

接触机器学习领域有一段时间了,跟过不少基础的课程,也看过一些入门的书籍和论文,现在想通过一门公开课系统的进入机器学习的领域,所以选择了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/

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-28 17:18:03

CS281: Advanced Machine Learning 第一节的相关文章

CS281: Advanced Machine Learning 第二节 Generative model

本小节阅读: MLAPP:第三章 CS229:Naive bayes 贝叶斯概念学习 我们考虑一个小孩学习一个词的过程,比如"狗".大概是小孩的父母指出了这个词的一些正例,比如说:"看那条可爱的狗"或者"记住那条小狗"等等.然而,他们是不太可能提供如"看那条不是狗的东西"的负例.当然,负例也可能在动态学习的过程中接触到,比如父母可能纠正小孩的错误:"那是一只猫,不是一条狗." - 但是心理学研究者已经指出人

CS281: Advanced Machine Learning 第二节 probability theory 概率论

概率论基本概念 离散变量 概率论中的两个基本法则:加法法则和乘法法则,加法法则定义了随机变量X与条件变量Y之间的直接联系.乘法法则定义了概率学中最重要的条件概率,同时也可以叫做联合概率,因为它描述了事件X和Y同时发生的概率. 通过上面公式可以推到出条件概率公式: 进而可以得到著名的贝叶斯公式,贝叶斯公式广泛的应用于科学界,这也被称为后验概率,因为它在咱们知道了p(Y=y)这个先验概率之后才能计算出来. 如果两个随机变量x,y满足以下公式,那么说明他们是互相独立的: 如果三个随机变量x,y,z满足

CS281: Advanced Machine Learning 第二节 information theory 信息论

信息论 熵 如果离散随机变量有P(X)分布,那么x所携带的熵(信息量): 之所以用log2来作为底,是为了方便衡量该信息可以用多少bit来表示.因为1个bit非0即1. 从上公式可以推导出:当k个状态发生的几率一样时,随机变量X所携带的熵越大.正如下图表示的伯努利分布所携带的熵随着概率变化的结果: KL divergence KL divergence 全称Kullback-Leibler divergence , 用来衡量两个分布之间的离散程度.公式如下: H (p, q)  是cross e

Python (1) - 7 Steps to Mastering Machine Learning With Python

Step 1: Basic Python Skills install Anacondaincluding numpy, scikit-learn, and matplotlib Step 2: Foundational Machine Learning Skills Unofficial Andrew Ng course notes Tom Mitchell Machine Learning Lectures Step 3: Scientific Python Packages Overvie

Java Machine Learning Tools & Libraries--转载

原文地址:http://www.demnag.com/b/java-machine-learning-tools-libraries-cm570/?ref=dzone This is a list of 25 Java Machine learning tools & libraries. Weka has a collection of machine learning algorithms for data mining tasks. The algorithms can either be

《Machine Learning》系列学习笔记之第一周

<Machine Learning>系列学习笔记 第一周 第一部分 Introduction The definition of machine learning (1)older, informal definition--Arthur Samuel--"the field of study that gives computers the ability to learn without being explicitly programmed." (2)modern d

Machine Learning with Oracle Database Advanced Analytics

ariticle from: http://www.ateam-oracle.com/ml-with-oracle-database-cloud-advanced-analytics Oracle DB + Oracle Data Mining + Oracle R Enterprise = Database Advanced Analytics (OAA) The Database Advanced Analytics option allows running Machine Learnin

NTU-Coursera机器学习:机器学习基石 (Machine Learning Foundations)

课讲内容 这门课以8周设计,分成 4个核心问题,每个核心问题约需2周的时间来探讨.每个约2个小时的录影中,每个小时为一个主题,以会各分成4到5个小段落,每个段落里会有一个后多个随堂的练习.我们在探讨每个核心问题的第二周.依上所述,課程的規畫如下: When Can Machines Learn? [何时可以使用机器学习] 第一周:(NTU-Coursera机器学习:机器学习问题与二元分类) 第一讲:The Learning Problem [机器学习问题]第二讲:Learning to Answ

Stanford Machine Learning 学习 2016/7/4

认同度比较高的机器学习入门教程,由Stanford的Andrew Ng主讲.网易公开课上有中英文字幕的教学视频资源(http://open.163.com/special/opencourse/machinelearning.html),讲义戳这里:http://cs229.stanford.edu/materials.html 网络上有各种类似的课程学习笔记,也会是我学习的一部分.be patient and be curious~ 第一节其实是讲机器学习的motivation,简单介绍了监督