00:00
我们继续来讲监督学习这一部分,前面我们已经讲了非监呃,无监督学习,或者说非监督学习啊,它本身是只输入,只有输入的数据,没有对应的结果,对不对?那同样我们就知道了,监督学习的特点是什么呢?对,它是不是就是既有数据又有结果啊,那如果我们在这里把所有的这一部分都当成输入的话,那它的输入有一个什么样的特点呢?我们看这是学习系统,这这就是我们的这个系统,对吧?我们最后是不是想输出一个模型,想训练一个模型对吧?那输入的就是我们的数据,数据是什么样的形式呢?大家会看到这每一组数据是不是代表我们的一个一个数据点,一个样本点啊,那这个样本点是什么样的形式,是不是有X有Y是这样的一个形式,X是不是就代表我们本身输入的那些输数据参数数据量对不对?Y是不是代表我们想要的结果啊?哎,所以大家可以看到我们就是把X和Y都当做输入,输入到我们的学习系统当中去,最后出来一个模型,它会得到一个什么样的模型呢?得到的是不是就是Y等于FX这样的一个函数啊呃,大家可以想到其实就是这样的一个状态,当然从另外的一个角度讲,我也可以不得到Y和X的函数关系,可以得到什么呢?哎,大家看还有另外一个观点,得到一个条件概率,这是不是也可以啊,哎,得到就是说你对应的这个X,它对应另外一。
01:44
Y的概率是多大啊,这是不是也是一种模型啊啊,当然这部分模型可能在我们后边给大家设计的比较少,我们主要还是按照他们有一个函数关系这样的考来考虑的。有了这样一个模型之后,我们就可以把它诶输出给一个预测系统,那新来一个XN加一的时候,大家看这个数据是不是新来的就没有结果了呀,那我们是不是就可以预测出一个对应的结果啊,这就是我们整个监督学习的一个过程啊,大家看到这跟那个我们前面讲的这个算命就非常像,对不对,算命是不是也是一个监督学习的过程啊,对吧?正常来讲的话,应该是他应该知道之前的结果才能够提炼规律,好,那么我们把一些概念还是给出来啊。
02:35
监督学习里边它是包含了输入和所需输出的一组数据,所以这个数据里边就是既有输入也有输出,既有X也有Y,对不对?这是我们需要明确的一点,监督学习里面分成两类。一类叫做分类,另外一类叫做回归啊,这就提出了两个很很重要的概念啊,其实前面大家已经想到了,我们在做那个动物头上长角的那个问题的时候,它是不是就应该属于一个对,应该属于一个分类啊,那大家可能会想到,那回归可能是一个什么样的问题呢?
03:16
哎,这里大家即使我们想不到一个具体的问题,我们稍后再看啊,这里其实已经给出概念了,如果输出是一组有限的离散数值的时候,这是不是就是分类啊啊输出你就是这么几类,那是不是就是有限的离散数值,那如果输出是一定范围内的任意数值,一个连续数值的话,哎,就是哎,你这里不是123简单的这个三个数,那假如输出是可以是1.21.25 1.36 1.789,对吧,所有的这些连续的数值都可以取,这是不是如果我们要去分类就分不进了呀?那所以这个时候这样的问题对应的就是一个回归问题,那应用的也就是回归算法了,对吧?呃,另外还给大家提一个就是相似度学习,那这个其实是跟回归和分类都有关系的一类监督学习问题,它的目标是什么呢?就是从相似性函数里边去做样。
04:16
本学习,那这个函数就可以度量两个对象之间的相似度。那这一部分就是在排名啊,推荐系统啊,人脸识别,视觉识别,跟踪这等等方面都有比较好的应用啊,所以大家会想到就是我们推荐系统这一部分,肯定也跟这里提到的分类回归应该有关系,对不对啊,这就是我们讲到的推荐系统和机器学习的关联之处啊,这里我们再讲一个具体的一个应用场景啊,大家会看到。我们这是一个什么例子呢?这个例子他可以拿到的,我们首先来看这个数据对吧,拿到的是什么数据,这是不是一组房屋的信息数据啊,那么用这一组房屋的信息数据,海量数据对吧?来了它包括哪些信息呢?所在街区价格,面积、格局,学区是否售出,它可以做什么事情呢?啊,大家看它可以用来预测房价或者房屋出售情况。
05:24
那对于我们这里边打问号的这个问题,大家看一下它是想预测什么?对,是不是已经知道了上边的这几条数据,然后现在是不是又来了一条新的数据啊,他只知道前面几个特征,然后不知道他能不能售出,我们需要预测一下能家到是一个。首先这是一个监督学习还是非监督学习,对,因为前面我们的数据是不是这个要预测的是不是就是Y呀,那上面是不是Y都知道了呀,那我们把这个数据全部输入进去,是不是前边几项都是X,最后这个是Y啊,啊或者有些同学可能知道这个作为目标,可以认为它是一个标签,对吧,给他打一个是否售出的一个标签,所以这就是我们继续学习预测或者说做学习的一个目标,那这对应到我们监督学习里边的两大类,应该是一个什么问题呢?
06:25
分类和回归应该是什么呢?对,就应该是一个分类问题,那同样大家可以看到我这里边是已经知道了前面的数据,不知道它是否售出,假如说我这里边知道他已经售出,或者说我就不看最后这一列列信息,我想去看一下,哎,是不是想预测一下我卖多少钱可以把它能卖的出去,对不对,我这个售价应该给多少,那就是这一列应该是空白了,对不对,应该是问号了,那我们这个问题。
07:02
是不是还是一个监督学习啊,还是把上面的数据全输入对不对,但是现在X就变成了别的这些列,是不是这个是否售出也变成了X啊,对应是不是这个价格变成了Y啊,那大家想想这个问题分类还是回归。那这个问题价格是不是不应该是只是离散的某几个取,取值应该是连连续的对不对啊,你这个价格嘛,你多少万,应该后面有小数点都是可以的啊,所以说这个其实是应该是一个连续的取值,所以它是一个回归问题啊,所以大家可以看到我们同样的一组数据,其实就是要看我们的目标是什么,要干什么样的事情,如果说我们预测的那个值,它是一个离散取值的话,这就是一个分类,如果预测的是一个连续取值的话,Y呃是一个连续值的话,那这就是一个回归了,对吧。
08:00
好,这是我们呃这这样的一个例子,大家先有一个概念,接下来给大家看一张图吧,这张图可以说就已经涵盖了目前呃主流领域里边所有的机器学习相关的分类类别啊,当然当然大家可以看到具体的还有对应的模型和方算法,对吧?那首先我们看一下吧,这里的机器学习machine learning,当然这里都是英文啊,它分了哪几类呢?主要分了五类,这五类里边我们主要看的是不是上面的两类啊,上面两类一类,这个大家认识吗?其实前面我们课件里面出现过英文的啊,对,Supervised learning,这是监督学习,那同样前面加一个UN,那这是不是无监督学习啊?对,这是我们要主要给大家介绍和分析的两大类,呃,我们看一眼,这个监督学习里边又分为哪两类?
09:00
Ssionssion是。大家看一眼后面这个是什么?Classification对吧?Class不是类吗?对吧,类别,所以classification这是分类对吧?所以前面这个是什么?对,Regression是回归。好,那么大家可以看到回归这一类里边就具体再分,呃,Linear regression,大家认识这是什么?对,线性回归,那当然这里边这个poly nominal regresion,这是什么多项式回归啊,所以这个就不是线性了,对不对,不是线性的,是一个多项式,那当然这里还有这个领回归,套索回归啊,这些东西就是大家可以了解一下就就知道了啊好,那么然后这里还有这个分类,分类有哪些具体的模型和算法呢?大家看这个KNN,这个大家听说过吗?KNKNN是一个最简单的分类方法,叫做K近零。
10:04
KZ0。呃,净邻就是说啊,大家简单的理解就是它的keg neighbors,对吧?它的两个N是什么意思呢?就是nearest neighbors,最近的邻居,近邻啊,我发音可能不太标准是吧?呃,对,K近邻,那当然这个KN就是用来做分类的一个简单的算法啊,别的大家能看懂这个英文吗?Naive BA BA,啊,BA,这是贝耶斯对不对啊,Naive,这是朴素贝耶斯的方法做分类,然后这里有一个logistic regression,这是叫逻辑回归,逻辑istic回归,尽管它名字里边带一个regression,带一个回归对吧?但其实它是用来做分类的啊,这里大家稍微注意一下,我们后面讲到算法的时候会给大家讲啊,呃,这个给大家注意一点,然后还有SVM,这是什么呢?支撑向量机,哎,对,有同学知道啊,这非常好支撑向量机,另外还有一个decision tree。
11:07
决策数,对啊,这个到后面我们会给大家把这个线性回归,KNN逻辑回归和决策数都给大家讲一下,然后这个里边会有几个,我们重点用Python代码去实现一下,就是线性回归,这是一个重点,可能要实现呃两个两个Python代码啊,去实现这样一个线性回归,然后KN还有这个啊,当然这里面的逻辑回归和决策数我们就不用那个呃,Python代码来实现了。那么对应到我们这个无监督这里边的话,可能就会相对介绍的比较简略,我们主要讲什么呢?Cluster聚类对吧?聚类这是一大类啊,聚类里边我们主要讲这个最简单的,最基本的k means,这个大家听说过吗?K均值聚类对吧,那这一部分我们也是讲一下,给大家用一个Python代码来实现一下啊,那有了这几部分,大家其实就对各种各样的类型啊,违规分类,还有这个无监督的聚类都会有一个基本的概念,那对应到这个无监督里面,它还包括哪些呢?这里是关联规则学习。
12:16
呃,这是意大利,还有一部分这个叫。降维对吧?大家看到呃,Dimension,这是维度对不对?Reduction降低降维,那么这一部分也会给大家去做一些介绍,因为后续在讲到这个推荐系统算法的时候,我们用到的一个核心算法,其实是基于这里的无监督学习的降维方法的啊,就是大家看到啊,这里有SVD其值分解啊,PCA主成分分析对吧?这里有各种各样的这个缩写的算法,大家感兴趣都可以下去查一查,包括这个l sa啊,就是潜在语义分析之类的。除了这些之外,下面也给大家稍微提一句吧,就是我们既然讲到机器学习,即使我们不专门讲,也应该大家知道一下rain learning这是什么啊。
13:07
这是一个强化习,就是我们前面提到的强化学习,对强化学习有一个什么特点的是。跟环境进行交互对不对,然后根据与环境的交互得到反馈,然后去获得奖励或者惩罚,然后来指导自己的行为,所以大家看到这个是不是就有一点像我们真实的这个生物进化的这个过程当中的这个过,呃,这种方式啊,对,所以大家看到里边最经典的一个代表就是什么?呃,Genetic a,这是什么?Genetic是基因的意思对吧?所以基因算法,这是什么?遗传算法,呃,这是最经典的强化学习算法啊,所以一开始这个,呃,阿尔法go应该有一大一大部分应该是强化学习相关的这一部分的这个算法啊,然后另外还有一部分叫大家看这个叫neutualal networks and deep learning,这个大家知道吗?对,Neutral networks n n神经网络,然后deep learning深度学习,对,这其实现在最热门,应该说是比较热门啊,就是或者说是最热门的一个一个领域了,最前沿的一个领域了,那大家可能知道阿尔法其实也是基于这个,呃,结合了这个深度学习啊,相关的一些东西弄出来的,对不对啊,当然它的那个算法稍微会比较复杂一些,呃,那么这里边涉及到哪些东西呢?大家会看到有这个CNNCNN是什么?
14:43
CNN是叫卷积神经网络,这都是NN,就是神经网络对不对啊,当然就是还有RNNRNN是循环神经网络啊,这都是比较经典的一些神经网络的一些呃算法啊,那当然了,这个Jan这个又是一个,就是叫生成式对抗网络的一个,呃就是深度学习的一个算法,所以大家会看到它其实呃都是跟这个我们神经网络,还有这个深度学习相关的一些内容,当然这里面还有这个感知机,感知机大家可以认为就是一个最简单的神经网络,或者说就它就是一个神经元,大家可以这么认为啊。
15:25
呃,所以这是这一部分算法,大家稍微有一些了解就可以,感兴趣的同学可以把这一部分再去多看一些资料,多看一些文章,去做一些,呃,深度的了解,对吧?因为现在真正要做那个有一些公司啊,他们的所谓的机器学习可能用的都是深度学习。呃,就是简单来讲的话,就是就是多重神经网络,或者叫深度神经网络DNN,大家可能也听过这个概念,对吧?NN嘛,前面加个d deep,你看对吧,深度神经网络,所以很多公司它其实用的就是这套东西,那实际其实听起来比较高大上,实际操作其实也没有那么复杂,就是一重一重的神经网络合起来,然后大量的工作做什么呢?就是调各种参数,对吧,那个神经网络怎么样去呃去制定它,指定它的这个层数,然后怎么样去指定一些超参数,这就是主要的一些工作,所以这一部分我们不讲,大家有一些概念就可以了。最后右边这边还有一类,这个inem learning,这个是叫做这个叫做集成学习inem,对吧?集成学习,顾名思义,它是一个什么东西啊?
16:41
它其实就是可以把多个机器学习的模型,或者说机器学习的方法集成在一起去用啊,所以它里边的基本单位是叫做学习器,它的方法就是把多个个体学习器集成在一起,合成为一个强学习器,然后去做一些事情。
17:01
那不同的个体呢,它们之间可以是同样的,比方说呃,这个,呃,同样的这个算法啊,应用出来的一个学习器也可以是不同的啊,所以它其实有点像是就有点像我们之前给大家讲过的那个,呃,推荐系统的混合模型一样,对吧?混混合方式一样,混合推荐方式一样啊你可以去做加权对不对,你可可以去做一些分层,呃是这样的一种模式,那这里面主要的分成是这三类,就是staing begging和boosting boosting可能是最经典的一种方式,就是它里边的每个学习器都是串行连接的,就互相之间是强依赖关系的,那同样对应到这个beggin里面,它就不会去强强强连接,强依赖,就彼此可以是相互比较独立的,可以并行去做这个学习,这里边有一个大家可能也听过的一个名,名字啊,叫做random forest随机森林啊。这这个概。
18:01
面是放在这里的,但如果对机器学习感兴趣的话,可以照着这个,这也相当于是一个learning map对吧?也大家可以看看这个图里边感兴趣,对哪个算法没听说过,感兴趣可以去看一看,了解了解,我们主要还是集中在上面的有监督和无监督这一部分啊,当然更重要就是在有监督这一部分,好,那接下来就是要把深监督学习去做一个深入了解了。首先我们给大家介绍一下深度学习的三要监督学习的三要素,哪三要素呢?模型、策略、算法这三个东西就是在有一些的概念里边啊,有一些文章或者说教程里边,可能定义会不太一样,或者会不太明确,我这里边呢,是参考了一本书,有些同学可能也听说过啊,也给大家推荐一下,就是呃,叫叫李航的一个人,他写过一本统计学习方法,不知道大家听说过没有啊,呃,这本书里里边就是相当于在国内的书。
19:01
里边应该说还是写的比较好,也是比较呃权威的一个关于统计机器学习这一块的一本书,那么它里边是把监督学习给出了三要素这样来定义的,我这里借借鉴里边这个说法,怎么定义呢?首先大家会想到你既然要做机器学习嘛,是不是得有一个模型啊,这个模型是不是代表了我们真正的数据里边的规律,我们要提炼的规律是不是都在模型里边了?哎,所以模型的概念其实就是用数学函数描述的一个系统,它总结了数据的所有的内在规律,这就是我们的模型。这个比较好理解,对吧?接下来我们还会有一个策略,策略是什么呢?我们有模型,这个模型是不是可以拍脑袋去想啊,我们也不知道到底应该用什么样的模型去找规律对不对?所以什么样的模型更好呢?这是不是需要有一个评判策略啊?所以这里就有机器学习的策略,就是选取最优模型的评价标准,评价准则这个叫做机器学习的策略。最后还有一部分就是算法,那么算法具体到这里指的是什么呢?我们不是已经有了这个评价标准吗?那根据这个标准去选择一个最优的我们的表达了内在数据、内在规律的模型,这个过程就是应用算法去求解模型的过程,所以这样的一个求解模型的具体方法就叫做算法啊,所以这里。
20:41
把模型和算法相当于是完全的分开了,呃,所以就是对于我们的这个讲解而言,跟之前大家的一些印象可能会不太一样,就是比方说我们说线性回归,线性回归大家可能认为这就是一个算法,对不对,在我们这里其实线性回归应该讲是一个。
21:02
模型对吧?我们是想用线性的这样的一个函数表达式去表描述我们当前的数据里边的内在规律,所以它其实应该叫是一个模型,那我们怎么样找到这样的一个,呃,线性回归方程里边它对应的那些参数对应的这个模型的,呃,怎么样去求解呢?这个过程是我们要应用算法的一个过程,对吧?啊,所以这是给大家稍微去明确一下我们这里的一些概念,好,那么实现步骤其实就是前面也已经提到了。首先我们是不是要拿到一个训练集啊,拿到一个训练数据集,我们接下来是要确定大家看啊,是包含所有学习模型的集合,也就是什么意思呢?接下来就是你先确定好要选择哪些模型对不对啊,接下来我是要做模型选择的,是要有这样的一个过程,好,那么接下来你既然是有很多模型需要去做选择,那我肯定得有选择的标准啊,所以我们制定一个模型选择的准则,也就是策略对不对,学习策略,然后接下来。
22:13
用我们的策略去实现最优的这个模型,那这是不是就是学习我们最后的学习算法啊,对吧,确定我们实现我们的这样的一个学习算法,通过算法去。得到最优模型的过程,这就是我们求解模型的过程。那这一步把这个最优模型求解出来之后,就可以对新数据去进行预测或者分析了,这就是一个完整的监督学习的过程。好,接下来啊,我们再把这个再举一个例子啊,就是回到我们之前的这个例子里边来,假如说我们现在是不是要判断它是否能够卖出去啊,那大家会想一下在这个里边。我们是不是先要看数据,输入的数据里边,这是一个监督学习,什么是X,什么是Y呢?
23:07
全我们的X是不是就是前面几列都是X啊,最后一列是不是就是Y,然后我们现在的要求,我们的目标是不是就应该是从前三行数据里边海量数据对吧?我们这里只有三行找到对X和Y之间的关系,然后最后把我们最后一行的X代进去,是不是就可以得到这个Y到底是是还是否啊?那这就是这个监督学习的过程啊,这个过程大家如果要是还是有点疑惑的话,我们再来一个简单的例子做一个对比,大家应该就一目了然了啊,当然这里这个例子是一个小学生的呃例子啊,所以大家看一下这是一个什么问题呢?是不是如果我们有一个二元一次方程AI啊,小学生可能没有学过二元一次方程啊,初中生对吧?这是一个初中生的问题,AX加B等于Y,这是不是相当于就是我们的模型啊,大家想一想是不是这样?然后现在我们已知两组数据,这是不是我们的海量数据就是对应一个X,是不是一个X对应一个Y啊,相当于有两个点已知了。
24:16
那大家其实可以知道这样一个二元一次方程是不是代表一个直线啊,XY是不是代表一个直线,那你知道两个点的话,那不就是两点确定一条直线吗?那我们把它带入到原来的方程里面,是不是就得到了这样一个方程组,就可以求解出这条直线,哎,这是是不是就是一个基本的一个算法啊,所以这个过程大家看到是不是就是已知数据,然后求解模型的一个过程啊,最后我们求解模型是不是求出来A和B的值,这个模型就已经知道了,所以最后我们得到的就是2X加一等于Y这样一个方程,这个时候如果我们再来一个新的X的话,X等于五带进去是不是就可以知道Y啊,是不是就可以对它做预测了?哎,这就是我们一个初中题目,对应到我们的机器学习问题里边,其实是一模一样,好,那接下来给大家做一个对比啊,一开始X1XY。
25:16
都已知了,这是我们的海量数据对不对?对应到这里是不是前面都是X,后面是Y啊好,那接下来方程求解是不是要求A和B的值啊,我们这里是不是就相当于是模型训练去训练这个模型求解完成之后,是不是相当于这个模型就已经训练成熟啊啊,那之后是不是带进新的数据就可以做预测了?哎,所以大家会看到这个过程就是完全对应的一个过程啊呃,那这里边再给大家做一个总总结,其实就主要是这几步,首先海量数据,初始的数据做一个预处理之后输入给我们的初始模型对不对?大家看到这是一个空的初始模型,空的脑子,然后我们让这个模型根据数据去做训练,训练完了之后,是不是就变成一个成熟满的脑子了,已经有了内部的规则了,对吧?得到这个规则之后,我们再去预测结果就可以了啊,当然大家如果感兴趣的话,可以看一看这个英文的这个。
26:16
过程其实非常的详尽的啊。
我来说两句