第三节-无监督学习定义

我们将介绍第二种主要的机器学习问题。叫做无监督学习。

上个课程中,已经介绍了监督学习。回想当时的数据集,如图表所示,这个数据集中每条数据都已经标明是阴性或阳性,即是良性或恶性肿瘤。所以,对于监督学习里的每条数据,我们已经清楚地知道,训练集对应的正确答案,是良性或恶性了。

在无监督学习中,我们已知的数据。看上去有点不一样,不同于监督学习的数据的样子,即无监督学习中没有任何的标签或者是有相同的标签或者就是没标签。所以我们已知数据集,却不知如何处理,也未告知每个数据点是什么。别的都不知道,就是一个数据集。你能从数据中找到某种结构吗?针对数据集,无监督学习就能判断出数据有两个不同的聚集簇。这是一个,那是另一个,二者不同。是的,无监督学习算法可能会把这些数据分成两个不同的簇。所以叫做聚类算法。事实证明,它能被用在很多地方。

聚类应用的一个例子就是在谷歌新闻中。如果你以前从来没见过它,你可以到这个URL网址news.google.com去看看。谷歌新闻每天都在,收集非常多,非常多的网络的新闻内容。它再将这些新闻分组,组成有关联的新闻。所以谷歌新闻做的就是搜索非常多的新闻事件,自动地把它们聚类到一起。所以,这些新闻事件全是同一主题的,所以显示到一起。

事实证明,聚类算法和无监督学习算法同样还用在很多其它的问题上。

其中就有基因学的理解应用。一个DNA微观数据的例子。基本思想是输入一组不同个体,对其中的每个个体,你要分析出它们是否有一个特定的基因。技术上,你要分析多少特定基因已经表达。所以这些颜色,红,绿,灰等等颜色,这些颜色展示了相应的程度,即不同的个体是否有着一个特定的基因。你能做的就是运行一个聚类算法,把个体聚类到不同的类或不同类型的组(人)……

所以这个就是无监督学习,因为我们没有提前告知算法一些信息,比如,这是第一类的人,那些是第二类的人,还有第三类,等等。我们只是说,是的,这是有一堆数据。我不知道数据里面有什么。我不知道谁是什么类型。我甚至不知道人们有哪些不同的类型,这些类型又是什么。但你能自动地找到数据中的结构吗?就是说你要自动地聚类那些个体到各个类,我没法提前知道哪些是哪些。因为我们没有给算法正确答案来回应数据集中的数据,所以这就是无监督学习。

无监督学习或聚集有着大量的应用。它用于组织大型计算机集群。我有些朋友在大数据中心工作,那里有大型的计算机集群,他们想解决什么样的机器易于协同地工作,如果你能够让那些机器协同工作,你就能让你的数据中心工作得更高效。第二种应用就是社交网络的分析。所以已知你朋友的信息,比如你经常发email的,或是你Facebook的朋友、谷歌+圈子的朋友,我们能否自动地给出朋友的分组呢?即每组里的人们彼此都熟识,认识组里的所有人?还有市场分割。许多公司有大型的数据库,存储消费者信息。所以,你能检索这些顾客数据集,自动地发现市场分类,并自动地把顾客划分到不同的细分市场中,你才能自动并更有效地销售或不同的细分市场一起进行销售。这也是无监督学习,因为我们拥有所有的顾客数据,但我们没有提前知道是什么的细分市场,以及分别有哪些我们数据集中的顾客。我们不知道谁是在一号细分市场,谁在二号市场,等等。那我们就必须让算法从数据中发现这一切。最后,无监督学习也可用于天文数据分析,这些聚类算法给出了令人惊讶、有趣、有用的理论,解释了星系是如何诞生的。这些都是聚类的例子,聚类只是无监督学习中的一种。

我现在告诉你们另一种。我先来介绍鸡尾酒宴问题。嗯,你参加过鸡尾酒宴吧?你可以想像下,有个宴会房间里满是人,全部坐着,都在聊天,这么多人同时在聊天,声音彼此重叠,因为每个人都在说话,同一时间都在说话,你几乎听不到你面前那人的声音。所以,可能在一个这样的鸡尾酒宴中的两个人,他俩同时都在说话,假设现在是在个有些小的鸡尾酒宴中。我们放两个麦克风在房间中,因为这些麦克风在两个地方,离说话人的距离不同每个麦克风记录下不同的声音,虽然是同样的两个说话人。听起来像是两份录音被叠加到一起,或是被归结到一起,产生了我们现在的这些录音。另外,这个算法还会区分出两个音频资源,这两个可以合成或合并成之前的录音,实际上,鸡尾酒算法的第一个输出结果是:

1,2,3,4,5,6,7,8,9,10,

所以,已经把英语的声音从录音中分离出来了。

第二个输出是这样:

1,2,3,4,5,6,7,8,9,10。

看看这个无监督学习算法,实现这个得要多么的复杂,是吧?它似乎是这样,为了构建这个应用,完成这个音频处理似乎需要你去写大量的代码或链接到一堆的合成器JAVA库,处理音频的库,看上去绝对是个复杂的程序,去完成这个从音频中分离出音频。事实上,这个算法对应你刚才知道的那个问题的算法可以就用一行代码来完成。

就是这里展示的代码:[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');

研究人员花费了大量时间才最终实现这行代码。我不是说这个是简单的问题,但它证明了,当你使用正确的编程环境,许多学习算法是相当短的程序。所以,这也是为什么在本课中,我们打算使用Octave编程环境。Octave,是免费的开源软件,使用一个像OctaveMatlab的工具,许多学习算法变得只有几行代码就可实现。

后面,我会教你们一点关于如何使用Octave的知识,你就可以用Octave来实现一些算法了。或者,如果你有Matlab(盗版?),你也可以用Matlab。事实上,在硅谷里,对大量机器学习算法,我们第一步就是建原型,在Octave建软件原型,因为软件在Octave中可以令人难以置信地、快速地实现这些学习算法。这里的这些函数比如SVM(支持向量机)函数,奇异值分解Octave里已经建好了。如果你试图完成这个工作,但借助C++JAVA的话,你会需要很多很多行的代码,并链接复杂的C++Java库。所以,你可以实现这些算法,借助C++JavaPython,它只是用这些语言来实现会更加复杂。(编者注:这个是当时的情况,现在Python变主流了)

Octave作为编程环境,如果使用Octave作为学习工具,以及作为原型工具,它会让你对学习算法的学习和建原型快上许多。

事实上,许多人在大硅谷的公司里做的其实就是,使用一种工具像Octave来做第一步的学习算法的原型搭建,只有在你已经让它工作后,你才移植它到C++Java或别的语言。事实证明,这样做通常可以让你的算法运行得比直接用C++实现更快,所以,我知道,作为一名指导者,我必须说“相信我”,但对你们中从未使用过Octave这种编程环境的人,我还是要告诉你们这一点一定要相信我,我想,对你们而言,我认为你们的时间,你们的开发时间是最有价值的资源。我已经见过很多人这样做了,我把你看作是机器学习研究员,或机器学习开发人员,想更加高产的话,你要学会使用这个原型工具,开始使用Octave

最后,总结下本视频内容,我有个简短的复习题给你们。

我们介绍了无监督学习,它是学习策略,交给算法大量的数据,并让算法为我们从数据中找出某种结构。

好的,希望你们还记得垃圾邮件问题。如果你有标记好的数据,区别好是垃圾还是非垃圾邮件,我们把这个当作监督学习问题

新闻事件分类的例子,就是那个谷歌新闻的例子,我们在本视频中有见到了,我们看到,可以用一个聚类算法来聚类这些文章到一起,所以是无监督学习

细分市场的例子,我在更早一点的时间讲过,你可以当作无监督学习问题,因为我只是拿到算法数据,再让算法去自动地发现细分市场。

最后一个例子,糖尿病,这个其实就像是我们的乳腺癌,上个视频里的。只是替换了好、坏肿瘤,良性、恶性肿瘤,我们改用糖尿病或没病。所以我们把这个当作监督学习,我们能够解决它,作为一个监督学习问题,就像我们在乳腺癌数据中做的一样。

下一节,我们将深入探究特定的学习算法,开始介绍这些算法是如何工作的,和我们还有你如何来实现它们。

无监督学习与有监督学习的本质区别是什么_吴恩达老师课程笔记系列第三节-无监督学习定义...相关推荐

  1. 吴恩达机器学习(十一)K-means(无监督学习、聚类算法)

    目录 0. 前言 1. K-means的算法流程 2. 代价函数(优化目标函数) 3. K 的选择 学习完吴恩达老师机器学习课程的无监督学习,简单的做个笔记.文中部分描述属于个人消化后的理解,仅供参考 ...

  2. 吴恩达机器学习 学习笔记 之 一 监督学习和无监督学习

    一. 1-1 welcome 1-2 什么是机器学习--Machine Learning 机器学习尚无明确定义,现有的定义有: (1)Field of study that gives compute ...

  3. 吴恩达《机器学习系列课程》学习笔记(二):监督学习

    吴恩达的课程会很偏于用实例来掌握理论知识,不过看着还是有些云里雾里,倒是杉山将的<图解机器学习>介绍得更易懂些. 在此进行结合学习. 杉山将是这么通俗地定义监督学习.无监督学习和强化学习, ...

  4. 苹果接盘倒下的无人车公司:吴恩达旗下,曾估值2亿美元,CEO及大部分员工被裁...

    李根 乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI Drive.ai,竟是这样的创业结局: 最新消息,这家一度闪耀硅谷,全球关注,吴恩达亲自参与实际运营的明星无人车公司,已提交文件进行 ...

  5. 吴恩达:无监督学习很重要!

    # 吴恩达:无监督学习很重要!# Peter是我的我第一个博士生,他有着评判性思维,当时他的博士学位研究主题是用强化学习控制无人直升机,直到现在你都可以在斯坦福网站上看到这些视频.这项研究非常难,有一 ...

  6. 吴恩达二月升级当爸,Jeff Dean打趣:无监督学习要开始了,需要数据集么?

    岳排槐 发自 麦蒿寺 量子位 出品 | 公众号 QbitAI 吴恩达迎来大喜事! 这位人工智能大牛在多个社交平台宣布,即将于二月迎来自己孩子的降生.同时,吴恩达还贴出了自己妻子在怀孕期间的美照. 吴恩 ...

  7. 吴恩达机器学习(二)监督学习/无监督学习

    文章目录 1.监督学习 2.无监督学习 1.监督学习 定义: 根据已有的数据集,知道输入和输出结果之间的关系.根据这种已知的关系,训练得到一个最优的模型.也就是说,在监督学习中训练数据既有特征(fea ...

  8. 吴恩达机器学习之引言:入门、机器学习是什么、监督学习、无监督学习、推荐Octave软件进行开发

    吴恩达机器学习栏目清单 专栏直达:https://blog.csdn.net/qq_35456045/category_9762715.html 文章目录 引言(Introduction) 1.1 欢 ...

  9. 吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习

    作者 | Peter 编辑 | AI有道 0. 引言 吴恩达(Andrew Ng),毫无疑问,是全球人工智能(AI)领域的大 IP!然而,吴恩达从最早的 CS229,到后来的 deeplearning ...

最新文章

  1. 他们让50吨大铁块变身充电电池,效率高达80%、功率250kW,网友说:逗我呢?
  2. Winform中DevExpress的TreeList的入门使用教程(附源码下载)
  3. 使用Silverlight 2 和 VS 2008创建“Hello World”程序
  4. Fedora15安装NVIDIA显卡驱动全过程
  5. c语言借阅管理题目内容描述,C语言 图书借阅管理统 第四组.doc
  6. 8255总线实验 编写程序利用8255扩展单片机的IO口,控制8位数码管显示1-8。
  7. cosmos db_开放电影项目Cosmos Laundromat如何使Blender更好
  8. SSH Tunnel扫盲(ssh port forwarding端口转发)
  9. 阶段3 1.Mybatis_07.Mybatis的连接池及事务_2 连接池介绍
  10. 软件测试书籍有哪些_软件测试书籍推荐
  11. 华为网络设备-Telnet实验
  12. 【区块链108将】把小白和老炮儿聚合到一起打造完整的区块链社区生态
  13. 计算机 蚂蚁搬家 教案,大班科学活动教案:小蚂蚁搬家教案(附教学反思)
  14. 长短信实现系列之电信SMGP3.0
  15. Mobx-action
  16. 关于pbootcms中被挂马以后的处理
  17. python里面的pip是什么意思_python中的pip是什么意思
  18. 攻防世界web高手进阶区(一)
  19. Python语言语法描述规范BNF介绍
  20. new Date() 获取本月天数、获取本月的最后一天日期

热门文章

  1. 云数据保护需要增强应对复杂环境的能力
  2. MySQL导入导出命令
  3. 两台笔记本如何不走路由而是通过无线网卡互联
  4. 思考系统架构师的职责
  5. node升级版本后vue报错
  6. 转载:原生JavaScript实现Ajax
  7. 《Java大学教程》—第5章 数组
  8. arm开发板6410/2440上mjpg-streamer网络视频服务器移植
  9. 热烈祝贺Polymer中文组织站点上线
  10. Java继承时构造函数的关系