机器学习介绍

机器学习的定义(Machine Learning Definition)

Even among machine learning practitioners there isn't a well accepted definition of what is and what isn't machine learning. But let me show you a couple of examples of the ways that people have tried to define it.

  • Arthur Samuel(1959). Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed. (This is an older, informal definition.)

  • Tom Mitchell(1998) Well-posed Learning Problem: 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.

    Example: playing checkers.
    E = the experience of playing many games of checks
    T = the task of playing checkers
    P = the probability that the program will win the next game

Question:
Suppose your email program watches which emails you do or do not mark as spam, and based on that learns how to better filter spam. What is the task T in this setting?
A. Classify email as spam or not spam.
B. Watching you label emails as spam or not spam.
C. The number (or fraction) of emails correctly classified as spam/not spam.
D. None of the above, this is not a machine learning algorithm.

我们通过Tom Mitchell教授对机器学习的定义可知,问题选项中:A即为Task T,B即为Experience E,C即为Performance measure P。

机器学习的算法(Machine Learning Algorithms)

In general, any machine learning problem can be assigned to one of two broad classifications:

  • Supervised learning, the idea is that we're going to teach the computer how to do something;
  • Unsupervised learning, we're going let it learn by itself.

通常我们说的增强学习(Reinforcement Learning)和推荐系统(Recommender systems)这些其他类型的算法也是属于机器学习算法。

监督学习(Supervised learning)

我们先从一个例子开始:假设你需要预测房价,之前某个学生已经从某地收集了数据集,其中一个数据集如图所示:

房价数据

图中的每一个实例都为一次房屋交易,其中横坐标为不同房屋的面积,纵坐标为房屋交易价格。

根据给定的数据,假设你朋友有栋750平方英尺的房屋想要你帮忙把房价定多少合适且可以将房屋卖掉。

那么,学习算法怎么帮你朋友呢?学习算法可以:绘出一条直线,让直线尽可能匹配到所有数据。基于此,你可以估计这栋房屋可以买到15万美元。但这不是唯一的学习算法,这里使用平方函数可能会更好,即使用二次多项式可能更符合数据集。如果基于此的话,这栋房屋价格可以定价到20万美元。这里我们先留下一个疑问是选择直线呢还是选择平方函数来拟合。我们到后面再来回答这个疑问。这里所用的两个学习算法如图所示:

学习算法演示

其中,紫色的线条表示直线的学习算法,蓝色的线条即表示平方函数的学习算法。

这个预测房价的例子即是监督学习的例子。因此,监督学习意指预先给出一个算法的“正确结果”——即通过已有的数据集建立某种函数关系得出相应的结果。监督学习又称为回归问题,意指要预测一个连续值得输出。

接下来,我们再看一个监督学习的例子。现在步入到医学领域,我们想要预测胸部肿瘤是恶性还是良性。假设我们有如图所示的数据集,在数据集中,横轴表示肿瘤的大小,纵轴通过0(NO)和1(Yes)表示是否为恶性。

胸部肿瘤数据集

现在假设某人的肿瘤大小如图中的紫色箭头所示,预测该人所得的肿瘤是良性还是恶性。

此时,对应的机器学习的问题就是计算该大小的肿瘤是良性还是恶性的概论。专业地说,这是个分类问题,意指要预测一个离散值的输出。在分类问题中,预测离散值的输出有时会超过两个值。

同时,还有另外一种作图方式来描述数据集,即采用圆圈的方式表示良性肿瘤,画×的方式表示恶性肿瘤,如图所示:

这时,我们可以将一开始的数据集的数据映射至我们上图所示的数据集。除此之外,我们还拥有病人年龄和肿瘤大小关系的数据集,以及某人的肿瘤大小和年龄如图中紫色箭头所示:

那么依据这些给定的数据集,学习算法所做的就是画一条直线,分开恶性肿瘤和良性肿瘤,然后我们就能判断该人的肿瘤是否为恶性肿瘤了。

总结
  • 监督学习的基本思想为:在监督学习中,对于数据集中的每个数据,都有相应的“正确答案”——训练集,算法就是基于这些来做出预测。
  • 回归问题,即预测一个连续值输出。
  • 分类问题,目标是预测离散值输出。

Question:
You're running a company, and you want to develop learning algorithms to address each of two problems.

  • Problem 1: You have a large inventory of identical items. You want to predict how many of these items will sell over the next 3 months.
  • Problem 2: You'd like software to examine individual customer accounts, and for each account decide if it has been hacked/compromised.

Should you treat these as classification or as regression problems?
A. Treat both as classification problems.
B. Treat problem 1 as a classification problem, problem 2 as a regression problem.
C. Treat problem 1 as a regression problem, problem 2 as a classification problem.
D. Treat both as regression problems.

通过上述的总结,我们很容易得知问题1为回归问题,问题2为分类问题。

补充笔记
Supervised Learning

In supervised learning, we are given a data set and already know what our correct output should look like, having the idea that there is a relationship between the input and the output.

Supervised learning problems are categorized into "regression" and "classification" problems. In a regression problem, we are trying to predict results within a continues output, meaning that we are trying to map inout variables to some continuous function. In a classification problem, we are instead trying to predict results in a discrete output. In other words, we are trying to map input variables into discrete categories.

无监督学习(Unsupervised Learning)

在监督学习中,我们回顾一下预测肿瘤的例子,在这个例子中的数据集每个样本都已经被标明为正样本或负样本,即良性肿瘤或恶性肿瘤。因此对于监督学习中的每一个样本,我们已经清楚地告知了什么是所谓的正确答案,即它们是良性还是恶性。

在无监督学习中,我们用的数据会和监督学习中的不一样。在无监督学习中,没有属性或标签这一概念,也就是说所有数据都是一样的,没有区别。所以,在无监督学习中,我们只有一个数据集,它可能判定该数据集包含两个不同的聚类。

如上图所示,无监督学习算法会把这些数据分成两个不同的聚类,这就是所谓的聚类算法。这里我们举一个关于基因芯片的例子说明无监督学习算法和聚类算法在基因组学中的应用。其基本的思想是:给定一组不同的个体,对于每个个体检测它们是否拥有某个特定的基因。即我们要去分析有多少基因显现出来,因此下图中的红、绿和灰色等等颜色,它们展示了这些不同的个体是否拥有一个特定的基因。然后,我们就要通过聚类算法把不同的个体归入不同的类或归为不同类型的人。

在这个例子中,我们没有提前告知这些算法这是第一类人、这是第二类人······,相反我们只是告知算法这里有一堆数据,以及向算法问道“你”能不能将这些数据自动归类,然后算法就自动按得到的类型把这些数据归类整理,这就是无监督学习。

而聚类算法只是无监督学习的一种,现在我们来介绍另一种。按照惯例,我们先举一个例子说明。

鸡尾酒宴问题:假设有一个宴会,有一屋子的人,大家都坐在一起而且都在同时说话。在这种情况下,你很难听清楚你面前的人说的话。因此,我们不妨再做一个假设。假设有一个宴会,屋子里只有两个人,每个人面前都有一个麦克风,两个人同时说话。这时有个无聊的研究人员录下这两人的声音。

鸡尾酒宴问题

当我们打开这段录音时,我们会听到两个人的说话声音。类比于在无监督学习中, 我们将两个人的声音输入,通过某种算法找出其中蕴含的某种分类,将第一个人的声音分离出来,将第二种人的声音分离出来。这种算法就称为鸡尾酒会算法。

这里你可能认为实现这一算法很复杂,但我们推荐使用Octave这款开源的免费软件编写该算法只需一行。

[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');

Question:
Of the following examples, which would you address using an unsupervised learning algorithm?
A. Given email labeled as spam/not spam, learn a spam filter.
B. Given a set of news articles found on the web, group them into set of articles about the same story.
C. Given a database of customer data, automatically discover market segments and group customs into different market segments.
D. Given a dataset of patients diagnosed as either having diabetes or not, learn to classify new patients as having diabetes or not.

A中的例子为监督学习中垃圾邮件过滤的例子,D中的是否患有糖尿病的例子与是否胸部肿瘤是否为恶性的例子一样属于监督学习;B中的新闻分类和C中的市场划分均属于无监督学习。

补充笔记
Unsupervised Learning

Unsupervised learning allows us to approach problems with little or no idea what our results should look like. We can derive structure from data where we don't necessarily know the effect of the variables.

We can derive this structure by clustering the data based on relationships among the variables in the data.

With unsupervised learning there is no feedback based on the prediction results.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,653评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,321评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,833评论 0 324
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,472评论 1 266
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,306评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,274评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,658评论 3 385
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,335评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,638评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,697评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,454评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,311评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,699评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,986评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,254评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,647评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,847评论 2 335

推荐阅读更多精彩内容

  • 不管是坐火车还是坐飞机,只要客观环境允许,我都喜欢和座位旁边的人聊天。因为自身还算面善,喜欢听别人讲故事,也喜欢讲...
    番茄晓蛋阅读 756评论 0 1
  • 水墨小镇,烟雨朦胧 青石白堤,绿树成荫 我从北方来,一身土气无处安放 拘谨着,像一只迷路的笨熊 横冲直撞,头破血流...
    闲狐兔阅读 205评论 2 3
  • 郭汉成
    郭汉成阅读 176评论 0 0
  • 我有青玉美人, 妙手雕成, 极尽妍态, 每夜子时, 候君踏星来取, 我素雅达, 必不致, 令君徒劳往返也! 我以深...
    七彩糖阅读 233评论 3 9