[Machine Learning] 1 概述

在这里插入图片描述

1 概述

机器学习即在特定编程的情况下,使用计算机作为工具并致力于真实并实时的模拟人类学习方式, 将现有内容进行知识结构划分以提高学习效率。

根据训练数据是否拥有标记信息,可大致分为:“监督学习”和“无监督学习”。可理解为,监督学习是指我们将教计算机如何去完成任务;而在无监督学习中计算机自己进行学习。分类和回归是前者的代表,聚类是后者的代表。

1.1 Learning Map

蓝色方块指的是scenario,即学习的情境。通常学习的情境是我们没有办法控制的,比如做reinforcement Learning是因为我们没有data、没有办法来做supervised Learning的情况下才去做的。如果有data,supervised Learning当然比reinforcement Learning要好;因此手上有什么样的data,就决定你使用什么样的scenario。

红色方块指的是task,即要解决的问题。你要解的问题,随着你要找的function的output的不同,有输出scalar的regression、有输出options的classification、有输出structured object的structured Learning…

绿色的方块指的是model,即用来解决问题的模型(function set)。在这些task里面有不同的model,也就是说,同样的task,我们可以用不同的方法来解它,比如linear model、Non-linear model(deep Learning、SVM、decision tree、K-NN…)

1.2 Supervised Learning(监督学习)

supervised learning 需要大量的training data,这些training data要求我们找到function,当这个function看到某种input则输出a,看到另一种input输出b,看到……

这种function的output,通常被叫做label(标签),也就是说,我们要使用supervised learning这样一种技术,我们需要告诉机器,function的input和output分别是什么,而这种output通常是通过人工的方式标注出来的,因此称为人工标注的label,它的缺点是需要大量的人工effort。

1.2.1 Case1: Housing price prediction

通过收集的房价数据绘制如下图,那基于这组数据,若有一套 750 平方英尺房子,那么这房子能卖多少钱。

关于这个问题,机器学习算法将会怎么帮助你呢?
在这里插入图片描述
应用学习算法,可以在这组数据中画一条直线,即拟合一条直线,根据这条线我们可以推测出,这套房子可能卖$150,000,当然这不是唯一的算法。可能还有更好的,比如我们不用直线拟合这些数据,用二次方程去拟合可能效果会更好。根据二次方程的曲线,可以从这个点推测出,这套房子能卖接近$200,000。以上就是监督学习的例子。

可以看出,监督学习指的就是我们给学习算法一个数据集。这个数据集由“正确答案”组成。在房价的例子中,我们给了一系列房子的数据,我们给定数据集中每个样本的正确价格,即它们实际的售价然后运用学习算法,算出更多的正确答案。比如你朋友那个新房子的价格。用术语来讲,这叫做回归问题 (Regression)。我们试着推测出一个连续值的结果,即房子的价格。

regression是machine learning的一个task,特点是通过regression找到的function,它的输出是一个scalar数值。
比如PM2.5的预测,给machine的training data是过去的PM2.5资料,而输出的是对未来PM2.5的预测数值,这就是一个典型的regression的问题。

一般房子的价格会记到美分,所以房价实际上是一系列离散的值,但是通常又把房价看成实数,看成是标量,所以又把它看成一个连续的数值。

1.2.2 Case2: Breast cancer (malignant,benign)

现有有 5 个良性肿瘤样本(O),5 个恶性肿瘤样本(X)。假设已知一个肿瘤的尺寸,那么机器学习的工作就在于能否估算出肿瘤是恶性的或是良性的概率。
在这里插入图片描述

用术语来讲,这是一个分类问题 (Classification)。分类指的是,试着推测出离散的输出值:0 或 1 良性或恶性,而事实上在分类问题中,输出可能不止两个值。比如说可能有三种乳腺癌,所以你希望预测离散输出 0、1、2、3。0 代表良性,1 表示第 1 类乳腺癌,2 表示第 2 类癌症,3 表示第 3 类,但这也是分类问题。

regression和classification的区别是,我们要机器输出的东西的类型是不一样的,在regression里机器输出的是scalar(标量),而classification又分为两类:Binary Classification(二元分类)、Multi-class classification(多元分类)。
在binary classification里,我们要机器输出的是yes or no,是或否。比如G-mail的spam filtering(垃圾邮件过滤器),输入是邮件,输出是该邮件是否是垃圾邮件。
在multi-class classification里,机器要做的是选择题,等于给他数个选项,每一个选项就是一个类别,它要从数个类别里面选择正确的类别。比如document classification(新闻文章分类),输入是一则新闻,输出是这个新闻属于哪一个类别(选项)。

在其它机器学习问题中,可能会遇到不止一种特征。举个例子,我们不仅知道肿瘤的尺寸,还知道对应患者的年龄。在其他机器学习问题中,我们通常有更多的特征,比如肿块密度,肿瘤细胞尺寸的一致性和形状的一致性等等,还有一些其他的特征。

在这里插入图片描述
上图中,总共列举了 5 种不同的特征,坐标轴上的两种和右边的 3 种,但在其他问题上可能需要更多甚至无限的特征,或者说线索来进行推测。那如何处理无限多个特征,甚至如何存储这些特征都存在问题,你电脑的内存肯定不够用。之后会讲一个算法,叫支持向量机,里面有一个巧妙的数学技巧,能让计算机处理无限多个特征。

监督学习的基本思想是,数据集中的每个样本都有相应的“正确答案”。再根据这些样本作出预测,就像房子和肿瘤的例子中做的那样。

回归问题,即通过回归来推出一个连续的输出;分类问题,其目标是推出一组离散的结果。

1.3 Unsupervised Learning(无监督学习)

区别于supervised learning,unsupervised learning希望机器学到无师自通,在完全没有任何label的情况下,机器到底能学到什么样的知识。

在这里插入图片描述

在无监督学习中,已知的数据不同于监督学习的数据,无监督学习中没有任何的标签或者是有相同的标签或者就是没标签。所以我们已知数据集,却不知如何处理,也未告知每个数据点是什么。针对数据集,无监督学习就能判断出数据有两个不同的聚集簇。这是一个,那是另一个,二者不同。是的,无监督学习算法可能会把这些数据分成两个不同的簇。所以叫做聚类算法(Clustering Algorithm)

聚类应用的一个例子就是在谷歌新闻中。谷歌新闻每天都在,收集非常多,非常多的网络的新闻内容。它再将这些新闻分组,组成有关联的新闻。所以谷歌新闻做的就是搜索非常多的新闻事件,自动地把它们聚类到一起,显示到一起。

1.3.1 Case: Cocktail party problem algorithm

在鸡尾酒宴上,人们都在聊天,这么多人同时在聊天,声音彼此重叠,所以可能会发生两个人同时都在说话的情形。现假设在一个小型鸡尾酒宴上,房间中有两个麦克风,因为这些麦克风在两个地方,每个麦克风记录下不同的声音,两份录音被叠加到一起,或是被归结到一起,产生了我们现在的这些录音。

为区分出两个音频资源,似乎需要写大量复杂的代码或链接到一堆的合成器 JAVA 库。事实上,只要一行代码即可完成。

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

1.4 Semi-supervised Learning(半监督学习)

举例:如果想要做一个区分猫和狗的function。手头上有少量的labeled data,它们标注了图片上哪只是猫哪只是狗;同时又有大量的unlabeled data,它们仅仅只有猫和狗的图片,但没有标注去告诉机器哪只是猫哪只是狗。

在Semi-supervised Learning的技术里面,这些没有labeled的data,对机器学习也是有帮助的。

1.5 Transfer Learning(迁移学习)

假设一样我们要做猫和狗的分类问题。我们也一样只有少量的有labeled的data;但是我们现在有大量的不相干的data(不是猫和狗的图片,而是一些其他不相干的图片),在这些大量的data里面,它可能有label也可能没有label。

Transfer Learning要解决的问题是,这一堆不相干的data可以对结果带来什么样的帮助。

在这里插入图片描述

1.6 Structured Learning(结构化学习)

在structured Learning里,我们要机器输出的是,一个有结构性的东西。

在分类的问题中,机器输出的只是一个选项;在structured类的problem里面,机器要输出的是一个复杂的物件。举例来说,在语音识别的情境下,机器的输入是一个声音信号,输出是一个句子;句子是由许多词汇拼凑而成,它是一个有结构性的object;或者说机器翻译、人脸识别(标出不同的人的名称)。

比如GAN也是structured Learning的一种方法。

在这里插入图片描述

1.7 Reinforcement Learning(强化学习)

Supervised Learning:我们会告诉机器正确的答案是什么 ,其特点是Learning from teacher

  • 比如训练一个聊天机器人,告诉他如果使用者说了“Hello”,你就说“Hi”;如果使用者说了“Bye bye”,你就说“Good bye”;就好像有一个家教在它的旁边手把手地教他每一件事情。

Reinforcement Learning:我们没有告诉机器正确的答案是什么,机器最终得到的只有一个分数,就是它做的好还是不好,但他不知道自己到底哪里做的不好,他也没有正确的答案;很像真实社会中的学习,你没有一个正确的答案,你只知道自己是做得好还是不好。其特点是Learning from critics

  • 比如训练一个聊天机器人,让它跟客人直接对话;如果客人勃然大怒把电话挂掉了,那机器就学到一件事情,刚才做错了,它不知道自己哪里做错了,必须自己回去反省检讨到底要如何改进,比如一开始不应该打招呼吗?还是中间不能骂脏话之类的。

在这里插入图片描述

拿下棋这件事举例,supervised Learning是说看到眼前这个棋盘,告诉机器下一步要走什么位置;而reinforcement Learning是说让机器和对手互弈,下了好几手之后赢了,机器就知道这一局棋下的不错,但是到底哪一步是赢的关键,机器是不知道的,他只知道自己是赢了还是输了。

其实Alpha Go是用supervised Learning+reinforcement Learning的方式去学习的,机器先是从棋谱学习,有棋谱就可以做supervised的学习;之后再做reinforcement Learning,机器的对手是另外一台机器,Alpha Go就是和自己下棋,然后不断的进步。

下一篇:单变量线性回归(Linear Regression with One Variable)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值