00:00
好,接下来这一部分我们就来给大家讲解这个机器学习,那当然当然这里只是给大家讲解一些机器学习相关的基础的一些知识和概念,那具体到一些算法和模型的话,我们会放在后面的课程里面再给大家讲,首先看一下这节课要学习的主要内容啊,首先我们可能要去学一下机器学习的基本概念。然后我们可能去看一下机器学习主要分为哪几类,做一个基本的分类,后边我们的重点可能会放在监督学习,要给大家做一个比较深入的介绍,或者说一个详细的给大家做一个了解,那主要讲哪些呢?就是监督学习里边有三要素是哪三要素,然后我们会想到评估策略和求解算法,当然这里只是一个,呃,还是一个基础啊,就是一个基本的了解,具体到算法,我们大家可能才会用到很多实际的东西才会去,呃,就意识到它到底是什么东西。好接下来我们首先看一下这个概念啊,概念这里的话,首先我们就是要看机器学习是什么了,大家以前接触过机器学习的这个概念了。
01:15
没接触过机器学习这个概念,英文的话它名字叫做machine learning,这个大家可能听说过,对吧,其实就是机器学习两个词对不对?那所以我们既然要想知道机器学习是什么样的,那我们先来考察一下机器其实比较比较好理解,机器对于我们而言是不是就是代码,就是就是电脑对不对,就是程序对吧?这个就是我们所谓的机器,那学习是什么呢?我们要想知道机器怎么学习,那我们先来考察一下自己是怎么学习的对不对?人是怎么学习的呢?呃,人其实比较简单的一种学习方式,大家总结一下其实是能发现规律的,对吧?什么样的一个规律呢?我们是不是有两种主要的学习方式啊,要不就是直接去学习理论,对吧?呃,要不就是。
02:08
是不是就是应该从这个实践当中去总结,总结经验,然后自己去提取这些规则和经验教训,对不对?那这就是我们基本的两种学习方法,那对应的我们的这种学习的过程,大家就会想到理论这一部分的话,那最简单的学习方式可能就是,哎,听老师讲课,或者说我去看一本书,对吧,看一本教材,看一个视频,去做一个学习,然后我可以有了理论之后,可以在理论之上再去做推导,这是理论方面的学习,对不对?那另外一方面实践怎么样去做做一个考察,怎么样去做一个考量呢?你学的到底怎么样呢?是不是实践完了之后得到的经验还要再回到实践当中去做检验啊,这是不是就是我们人在学习的过程当中不断的提高,不断的获取知识的一个过程,好,这是我们的这样的一个过程,所以总结起来的话,其实就是。
03:07
通过各种手段,主要就是理论和实践了,对不对,在这个,呃,我们的学习过程当中,要获取到知识或者技能的一个过程,这就是学习,那对应到机器,大家可以想到机器应该怎么去学习呢?机器可以学习理论吗?呃,有些同学说不可以,有些同学说可以,如果说从人的这个角度,学习理论这个角度的话看,挺感觉上好像有点,呃,有点不可以,对吧?但是事实上大家在给这个在写程序编程的时候,机器其实就是在学习理论,为什么呢?就是你告诉他是什么,他就认为这是什么,这是不是就相当于他看了一本书,或者听了一个老师的教导,然后他就把这个当成经验去运用了呀,那所以这个过程其实就是一个获取知识的过程,对不对,只不过这个过程看起来机器好像比较笨,他没有任何的智能,对不对,就是写死的,你给他写什么就是什么,那么所以我们这里的机器学习当然不希望就是这样这么笨的这样的一个过程,我们当然是希望他还是应该稍微有一点自主性的,对吧,不要说我,我告诉你什么,你就你就认为是什么。
04:28
你获取知识的方式不应该仅仅是这么死板的一种方式,那除去理论这条路,那剩下剩下是不是就只有实践了?机器怎么去做实践呢?那大家会想到他是不是应该得有大量的对大量的数据对不对?以大量的数据作为经验作为基础,这样他就可以去学习了,所以对于机器学习而言,他其实就是给他一个目标,他想要去处理一个特定的任务,那么他是需要通过大量的经验数据作为基础的,然后我们人可以再回到实践当中去检验,那对于机器而言,怎么样去检验呢?那当然就是还是得人来去给他一定的评判标准了,对不对啊,往往是人要去给一定的评判标准,这就是涉及到怎么样去评估我们的机器学习模型,然后最后我们想要的一个结果是通过分析他大量的经验数据,最后他应该任务完成的更好,对不对,表现的越来越越优,优异,对吧?这是我们想要的一个状态。
05:38
好,那么接下来给大家简单的说一下机器学习开端,机器学习开端是一个什么样的事情呢?啊,这就是一个小故事了啊,是五二年的时候,大家看到这个很早很早,对不对啊,这已经是,呃,大概是60多年,这个接近70年前的一个事情了,那这是IBM的一个科学家了啊,啊,亚瑟萨缪尔,他被誉为是机器学习之父,他最早是做了一个什么事情呢?就是设计了一个下棋程序,是一个下夕阳跳棋的程序,它主要的思想是什么呢?大家会想到,如果让你做一个下棋程序,你怎么做啊?
06:15
便利所有的那个棋盘上可能的点是不是?呃,大家可能直观的想法就是这样,但是大家会想到,大家可能也也知道这个,呃,IBM的深蓝下国际象棋下赢了,呃,国际象棋冠军卡斯帕罗夫对吧?那后来出现的这个阿尔法狗阿尔法zero那就更不要说了,连围棋这样的复杂度也都已经攻克了,人根本搞不定了,那这个过程当中他们是用了便利的方式吗?就是去穷举吗?枚举吗?把所有的可能性全重举一遍吗?那当时深蓝在去,就IBM深蓝战胜人类的国际象棋冠军的时候,当时其实就是发现一个问题,能赢国际象棋冠军,但是赢不了围棋冠军,为什么呢?就是因为围棋的复杂度太高了,对不对?就是当时的算法啊,当时的机器学习还会涉及到很多的类似于啊,要去做一些便利,做一些减脂这样的操作,但是围棋的复杂程度对于当时的算法来讲就已经完全搞不定了。
07:19
那当然大家后来会发现,就是这个阿尔法O出现啊,就是当然它是这个深度学习和这个强化学习这一类的一些呃,一些方法了,跟我们这里要讲的还不太一样,但是大家会发现这个算法进步之后,就可能就会瞬间就远远的把人甩在后面了,对吧,那最初的时候。亚瑟萨缪尔,他涉及的这个跳级程序也不是直接去便利的,如果便利的话,那其实就没有没有任何的这个智能可言,对不对,没有任何的这个呃,机器学习可言了,那么它的这个程序是什么呢?他这个程序是通过观察棋子的走位,要去构建一个模型,然后通过这个模型的学习,这个程序可以不停的提升自己的棋,也就是说这个程序他的棋会下的越来越好,这个就比较有意思了,而且撒米尔他会发现一开始他把这个棋做出来之后,这个棋下不过他,因为大家能想到他是不是没有什么经验啊,对吧,一开始他没下过棋嘛,没什么经验,所以一开始是根本下不过他的,但是他跟这个下棋程序下的越来越久之后,就会发现棋义越来越高,到后来终于他下不过了,这个过程就非常有意思,对不对?我们如果写一个程序,他一开始下棋下不过我们,但是随着时间,随着他经验的积累,他会棋越来越好,越来越厉害,最后以至于我们我写出这个程序,我都下不过他了,这就说明他真正实现学习了,对不对,学到了我没有办法告诉他的东西。
08:54
呃,这其实就是真正的机器学习,所以往往是把这个呃程序作为这个机器学习的开端的啊,那么机器学习到底是怎么来定义呢?大家就会看到啊,机器学习定义是说machine learning主要是用于计算机系统,用于特定任务性能进行逐步改善,然后他要够找到进行改善的这个算法和统计模型,对不对?他主要是找要找这个呃统计模型和算法的这样的一个过程叫做机器学习的过程,那这个过程当中它主要有哪几步呢?啊,它要通过输入海量的训练数据。
09:33
然后去训练模型,使模型掌握数据所潜在蕴含的潜在规律,最后要对新输入的数据进行分类或者预测啊,所以大家看到这个说起来还是很复杂的啊,最后还说这是一个多领域交叉学科,对不对?概率论、统计学,B型论、图优化,这个很复杂,说的很复杂呢,到底继续学习它核心是什么?大家看了这么一堆概念之后,提取一下它的核心关键词是什么?
10:08
它的核心是不是首先我们应该输入。输入什么东西?对,首先要输入数据,而且是海量数据,对不对啊,所以接下来大家会看到他的训,这个机器学习的过程,其实就是这样的几个关键点啊,首先要有海量数据,那当然海量数据怎么样去获取,这就是之前大家已经学过的内容了,对不对?包括日志采集啊,包括其他要做清洗啊,ETL啊,这些我们先不讲,获取到海量数据之后,我们要做什么呢?是不是要建立一个模型对不对?建立模型我们的目标是要干什么?目标是不是想要找到它对内部的规律啊,是不是要提炼数据里面的规律啊,啊,我们输入海量数据这个模型,它的目标就是要去找到规律,这是我们的一个基本的想法,最后我们要做一个什么事情,拿到这样一个规律之后,最后是不是就可以对未测未知的数据做一个预测啊,是不是就可以预测未来了?大家直接这么看的话,会觉得这个过程有点像什么,是不是很有点像算命的一个过程对吧?啊,所以大家来看一下这个过程啊,算命的过程一开始我们是不是应该有海量的数据对吧?就有海量的数据哎,各种各样的人,不同的肤色,不同的文化背景,不同的呃,学历对吧,不同的这种生活经历,我们把他的数据全收集起来。
11:49
然后就可以干什么了,是不是可以提炼规律啊,提炼出来的规律可能就是这么一个东西,对不对,对吧?啊当然了,就是不同的地方提炼出来不同的规律,那我们这个时候有了这样一个规律之后。
12:08
我们的机器是不是就可以把它学习到了,也就是掌握这个模型了,对不对啊,那对于我们这个算命的过程而言,可能不是机器去学习,那我们是不是会有一个大哥,他笑的很开心,学习到了这个这个规律,接下来他掌握了这条规律,是不是就可以做预测了呀?啊,所以这个过程大家会看到,这就是机器学习的一个过程,我们。只不过就是在这里,这个大哥给我们做了一个机器的角色而已,我们在这里是希望机器去掌握提炼规律,掌握规律,然后去做这样的一个预测,对不对啊,所以呃,这也就是有些同学可能也听到过啊,有一些项目或者说有一些创业项目,他会提到说用这个大数据,用这个机器学习算法去做,呃,这个科学算命做预测,不知道有有些同学听说过没有啊,确实我是听到有人有这样的想法的,大家如果感兴趣也可以去研究研究对不对啊,当然前提是不是首先得掌握到海量数据啊,这个非常关键,对不对?所以对于我们接下来的这个呃做法大家会看到啊,我们一直其实都在强调数据,去去考察数据的,这里给大家举一个例子吧。
13:25
大家看这里是一组动物对不对啊,这里是已经分放在这里的一组动物,然后这里又是一组动物,大家看我既然左右已经把它们框起来分好的话,这是不是相当于对我已经把它分好了两类啊,所以现在的这个问题就不是算命了。现在这个问题是。我已经已有的海量数据啊,假如这这里不是很海量啊,大家认为这就是海量数据,我已经有海量数据,我已经通过学习,是不是把它已经分好类了呀,那大家可以在这里找一找,我这里的规律是什么呢?哦,大家其实一眼就看出来了,对不对,通过我们这个大脑里边有一个大数据的运算中心,对吧?呃,一眼就把它看出来了,左边这一部分动物都有角,右边这一部分都没角,对不对,所以大家会看到。
14:22
里边的规律,或者说我们对它进行分类,进行划分的规律就是有角的分左边这一类,美角的右边这一类,对不对啊,这就是一个基本的想法,那接下来我们掌握了规律,是不是就可以做预测了?比方说我们来了一个可爱的动物,那大家会想一下,它到底应该分到哪一类里面去呢?啊,当然这是一个可爱的羊驼,它应该是应该分到右边这一类,对不对啊,所以啊,大家不要看错啊,有同学可能觉得,诶,这头上长角的呀,啊,大家如果知道它是羊驼的话,那那显然这个不应该长角对不对,应该分到右边这一类啊,这是耳朵对吧?啊,长着毛茸茸的耳朵,所以这其实就是一个典型的机器学习里边的分类问题。
15:16
啊,当然就是后面大家可能会想到,当然就还有别的一些问题对不对?呃,提到我们再再来给大家做详细的介绍,接下来会给大家讲的一部分是机器学习的分类,分类这一部分呢,我们这里主要介绍的分类是大家会看到啊,主要是无监督和有监督两类啊,那这里边呢,再加一个强化学习,就是近些年来可能提的很多的啊,他们的区别在哪里呢?有监督,先把定义给它列出来,有监督学习它就是提供数据,并提供数据对应的结果,这样的一个继器学习过程大家会想到,所以机器学习这个过程倒没觉得有什么特别,就是因为提供的数据是不是就有有一些特定的要求啊,他要求提供数据,而且要提供对应的结果,或者从另外一个角度说,我们提供的数据里边是不是应该,哎既有X又有Y啊,或者有些同学熟悉的话,那就是哎里边是不是就应该有贴好的标签啊,打好的标签或者打好的这个分类对吧?所以这是有监督学习的一个标志。那无监督学习什么叫无监督学习呢?哎,它就是数据肯定还得提供,对不对啊,基本的数据还得提供,但是它不提供对应的结果,对不对啊,这是。
16:45
无监督的一个特点,那另外还有一个强化学习,强化学习的特点是什么呢?它其实跟有监督是非常,就是有有很多相关的地方的,但是它跟有监督不一样,就是我们有监督是本身就已经有结果告诉你了,对不对?那强化学习的过程是这个结果我也本身不太清楚,我怎么样去获取这个结果呢?跟环境去交互,然后获取到反馈,延迟返回,然后用这个反馈再去改进我的行为,这这种学习叫做强化学习。
17:21
好,那么我们这里的重点典当然就主要就是经的有监督和无监督了,呃,我们这里在刚才的定义比较枯燥啊,大家再看一下有监督和无监督是什么样的一个区别,其实就是我们做作业的时候,大家就有这样的体会,对不对?有监督呢?就是诶旁边有一个妈妈或者有一个老师就在给你看着,然后就能告诉你这道题做的对不对,是不是做错了,这是不是就是一个有监督的过程啊啊,当然大家会看到这个就很紧张,对不对,满头大汗,那右边这个大家如果是自己的话,这就是一个无监督的状态了,这是不是就很happy啊,那但是大家其实可以想到,在这个过程当中,谁的学习效果会好一点,或者说这个效率可能会高一点啊对,其实可能是有监督会高一点,对不对,因为你已经知道你的目标是什么,而且知道它结果是什么,有的放矢,这个过程肯定你会得到想要的结果,对吧。
18:22
那至于这个无监督呢,那就是相当于我什么都不知道,就一堆数据来了,我就去分析数据,那分析出什么样的东西来,我其实也没有概念的啊,那这个其实最后的效果不是特别的能够保证,所以在真正的应用场景里边,就是完全纯粹的无监督,其实是很少去应用的,往往是怎么去应用呢?就是先来一组数据,我们先用无监督的方式来去给他做一些分析,对吧,先去分析它内在的一些规律啊,或者说啊,做一些降维啊,或者做一些其他的处理,处理完了之后,我们再根据有监督的这个方式,有数据,有结果,对吧,然后去做一个学习,那整个结合起来的这个过程,有些人又会把它叫做一个半监督的学习过程,大家如果看一些文章,看一些教材的话,可能也会提到半监督学习,但大家直观理解就是它可以理解成是一个呃监督学习和无监督学习的一个结合。
19:22
和就可以了,好,那么接下来我们的重点,因为是有监督,所以我们先把无监督这一块先给大家做一个简要介绍吧。那么无监督这一块啊,它是什么样的特点呢?啊,明确的定义啊,更加明确的定义,它包括的输入是仅有输入的数据,然后我们需要在数据里边,在它的内在结构,寻找它的内在结构,内在的规律来进行样本点的分组或者聚类,所以大家会看到就是无监督往往啊最后的目标就是给它做一个分组或者聚类,对不对啊,这是无监督经常用到的一些场合,那么无监督的算法,它不是响应反馈的,就是说我们并没有反馈,我根本不知道得到的这个结果是对是错。
20:16
我的目标只是要识别数据里边的特征,这就是无监督,那对于一个新新来的一个数据,如果说我已经把原来的旧数据提炼出特征的话,那新来一个数据是不是也可以对它进行一个判断啊,做一个预测啊,那大家想想是不是这样,就是本身已经有的数据,已经来了一堆数据,我直接就让他自己去做划分,分成两类,那我新来一个数据是不是就可以告诉他你应该属于这一类还是属于那一类,对不对啊,这就是一个无监督学习的过程,那它的一个核心应用就是密度估计和聚类分析,它的一个典型应用,给大家举个例子啊,谷歌新闻不知道大家大家可能平常也不会上谷歌,对吧?因为毕竟涉及到一些网络的限制,呃,谷歌新闻其实这一块做的是非常好的,大家看一下这个谷歌新闻的这个页面,它会它会长什么样子啊,它搜出来不是一条一条的新闻,它会做什么呢。
21:16
呃,大家会看到他会把一组新闻关联的一组新闻合在一起,然后按照主题显示给用户,对不对?那大家会,大家就看一眼吧,这是我前前不久啊,就大概过年那会儿截的一个图,这里边比方说我搜娱乐的时候,它推出来就有这个电影,对不对?大家看下边这个比较多的这这一组里边包含什么东西呢?最大的标题是春节档流浪地球对不对?那大家可能会想到接下来可能跟这个话题都有关系,对不对?哎,所以大家会看到下边其实是,其实不完全是讲流浪地球,是不是也有春节档电影的一个一个新闻啊,然后下边是不是也有讲流浪地球的一个新闻啊,哎,所以大家会看到啊,就是它其实就是把可能相关联的一组,这不是直接把按照这个关键词直接就就提取出来,对不对,而是他可能认为这个有可能相关联,有可能有内在联系的一组新闻,把它们聚合到一起了。
22:22
那这个呃,他到底是做了什么事情呢?其实很简单啊,就是搜索所有的新闻事件,然后用聚类算法,那这个过程大家会想到这是有监督还是无监督呢。啊,那肯定就是无监督了,对不对,就是直接根据它数据,那我们的数据是什么,是不是就是里边的这些内容信息啊,根据内容信息直接给它对它做分词,做特征提取,关键词提取,最后把它聚累到一起,这就是我们这个呃无监督学习在新闻推送里边的一个应用啊,大家其实也可以看到,现在百度也有类似的一些,呃,新闻推送是是学的这样的一个呃方式的,对吧,但是可能大家一般不太注意啊,这是无监督的这一部分内容,我们就只是简单的给大家做一个介绍。
我来说两句