00:14
那么现在我们就考虑这样一个问题啊,我们先讲已经讲了第一个连续的一个回归的模型,我们能不能用这个线性回归模型解决分类问题的。比如说在百度的信息流,你有一个行为是点或不点。这个就这新闻你是点或不点是二分类问题对吧。你能不能先回归去做呢?大家觉得呢?能是吧,能能就完了。能就完了,为什么呢?为什么说能就完了,能就全传套了,肯定突然结果,为什么?因为。打个比方说吧,我在就是说点击呢,是零或者是一是吧,这是一个看起来的值,但是我们现在要建模是他在各种条件下能不能点,对不对,好了,那现在我们有各种条件,各种条件我们最简单的来说呢,也可以用一个二维坐标系来表示,现在有这样一个坐标系。
01:17
然后呢,有这样一个坐标系。我们假设这一条线是Y等于X,上面是点。下面是不点对吧,好了,我们现在先假设这个分界面在Y等于X,你采集到了很多数据对吧,那有的人很理想,他点他的数据量在这,就他的特征在这。比如说这个地方,他可能我不管他是什么,但是有很多自变量决定了他这个位置,导致他点是吧,可能是男的,然后呢,平时喜欢买西装,正好今天这个百度这个给他推西装,在这个位置上,他就点了,但是呢,有另外一些人他在这个位置上。就他的用户画像在这个位置上,他也点。
02:00
而在这个地方呢,他们是可能女性朋友啊,她不点在这个位置,她也不点,于是呢,这个线性回归呢,为了迎合这些点,对吧,他就得把直线调整到这里。对吧,这样最这样的话,损失是最小啊,虽然说这是损失了没错,但是他无视所有的权重,他看不到权重。就你,你这些点离得特别远,他看不到,他觉得他得对所有人都公平。明白吧,所以这个直线不可避免的跑到这个位置上来了,这样的话对于他们来说全分错了,对吧,这个这个女性那边往OK,在这些这些在分界面附近的点,全因为一小撮异常点而全被分错了。明白吧,全体别分错了,所以呢,这个时候再去判断你这个这个文章你是点或者不点,商品你是点或不点,这个时候就已经失效了,这个模型根本就准确率上不来。对吧,那么关键的问题就在于这我我们现在对这个所有点都一视同仁,这本身这个假设是有有问题的。
03:04
对吧。就是打比方,咱们打比方就有的人他就酷爱电子,电子游戏对吧,酷外打现在打那个英雄联盟之类的,他一定要买一个好装备啊吧,他这这个已经毫无疑问了,一定要买,他不是说那种犹豫来犹豫去那种人,那么对于他来说,你的权重肯定不应该放那么高,对吧,你把你把他的这个,比如说他,他肯定要买他的在最上面,最上面,然后你很偏向于他,所以你把分界面附近的人全放弃了,这本身是有问题的,对不对。那怎么能让这些肯定要买的人的权重变得非常小呢?让他不影响我这个分裂面,我这个分裂面应该是为那些或买或不买的人服务的,我知道在或买或不买的人里边做的准,那么那些肯定要买的人肯定是要买的。明白吧,我不需要去迁就他,明白吧,怎么能把它的权重变得很小呢?
04:00
其实这个很简单啊。这个点离这条直线,咱们再给它画一下。还是形象的说一下。这边有一些点,他们是酷外打游戏的人,然后这边有一条线,这条线本身是应该为这些人服务的,买是不买这些人服务的,现在有这帮铁杆粉丝,他们是肯定要打的,这肯定Y的,怎么能让他们的权重变很小呢?就是这不是有个距离吗?对不对?这是Y,我们只要让这个Y越远,他的权重越低不就行了吗?对不对?大家可以回想一下我们上午讲的那个c movie的函数。对,C函数C沃就是这个,这个作用就是当他已经酷爱这个东西的时候,它的那个权重值怎么样,已经几乎饱和了。它就是也几乎饱和了,就已经没有,就会不产生什么作用了,就是它的确这个东西啊,这个Y掘放在里边的确是有作用的,你不能说不兼顾它,但是它绝对不会说那种成线性的往上长,那无穷无尽的那种兼顾,明白吧,只要给这个函数外面套一个西格莫的就行了,西格莫的函数的方程呢,是一加上E的负X分之一,对吧,是这么个函数。
05:10
所以呢,我们现在先有一个线性的一个分类器,也是一个线性回归的分类,一个线性回归的一个不能说分类器吧,一个回归器,然后呢,再把这个线性回归这个地方放成这个地方不是负X嘛,是吧?这个X呢,这是函数的,它是自变量,但是在我们这里来说,它其实是个Y,对吧,负AX减B是我们把这个方程线性方程放在这个位置上,就得到了一个概率对不对,对吧?所以对于那些所肯定要买的人,它的概率就是一,所以我的求的权重肯定也不那么高了嘛,对吧,或它反向对这个这个地方的梯度更新作用也就没那么大了,对吧。所以呢,这就是我们接下来要讲的那个分类模型,所有的这个点击率预估,包括这个呃,商品推荐,包括这个金融的这个风险预测,所有的这里面老去这个回归都是非常非常重要的一个模型,非常简单,但是非常好用。
06:09
嗯,具体推导呢,我们就不推了,因为它只是在这个线性的,这个线性回归的基础上套了一层概率。明白是吧。这这不就是那个线性函数嘛,对吧,Y等于Y等于C塔X,谁的TX就是线性函数,现在你把这个Y扔进去,这个地方就变成它了,对吧,那如果这个人他肯定要买装备,那他就是一对吧,这个人肯定是一嘛,对一的话,那跟他来说,你你不管这个地方的这个X哈,和他那个C塔相乘产生多么大的Y,它最大的值这个地方就是什么,就是被控制住了,这个概率值就是一对吧,它不会产生一个线性无穷大的一个损失。明白吧,这就是老具体回归的一个,呃,根本的一个好处。
07:01
那老锯烯的回归呢,这个具体的原理呢,推导和这个,呃,线性回归非常非常相似,只是相当于在外面。叠加了一层,包括它的这个Q度下降的函数,也相当于叠加了一个G啊,这个G函数就是我们说的C个O函数,所以没有必要再给大家那个详细推导,把这个代码给大家发下去,大家可以再执行一下,嗯,然后我们把这代码简单过一下啊,第一个还是那个read csv这块是吧,这就是把那个CSV逗号风格那文件读出来,对吧。这个地方我给大家讲一下啊,为什么有这么个东西,那这个地方比如说打比方现在现在大家应该有是有有这样一个一个问题啊,比如说我们现在对这个,呃,男性和女性做建模,这个人有一个特征是男性或女性,对吧?当然我想啊,如果像假设有这个,呃,男性女性是零一,这是一个数字就可以搞得定,对吧?这很简单,这这个特征就是男或女,那就是零或一,比如说现在那个年龄有,我按这个年龄风格,零到十岁是一个档,十到20是一个档,一直到可能有七八个档,对吧?那我能不能在这个特征上用0123456呢?
08:19
不能,为什么不能呢?大家能想到吗?因为这是你自己用的一个索引,一个值,你不能用到模型里,让他去学这个东西,明白吧,比如说咱们咱们打比方说啊,如果说。呃,40岁到50岁,这个人买这个商品买的最多,但是你不能说这个地方的值是四。就你这个值是四的话,他买的最多,这他学不到的,明白吗?一个机器学习模型学的就是一个特征,有或者没有。明白吧,所以当有这种情况的时候,你要做一个one号编码,叫读热编码。
09:00
One hot什么意思呢?比如说现在我有七,七个档,零到十岁,十到20岁是这样的,我会把它变成七位的数字。七位数字,比如说我现在零到十岁之间,那就是1000,如果他是在呃十岁到二岁,就是10100000,明白吧,所以说如果这个特征上。有值,那么他就会去买的话,那么这个特征它就是一明白吧,这是这是问号的编码,这个非常重要啊。就大家千万千万不要把那种连续值直接变成123456,因为分类模型还是这种,呃回归模型,它都不是说利用你这个值去做什么事,它是利用你这个特征有无,明白吧,就我们现在做用户画像也是一样的,你做用户画像绝对不是说用你这个值去做什么,比如说用你身高一米七三扔进去,一米七四扔进去能能出什么结果呢?对吧,什么角都出不来,要扔进去的东西是你是否是什么什么什么是吧,你是一米七以上的我就做什么,你是一米六以上的我来做什么,这是一个是和否合一个关系,明白吧,啊这个问号的编码。
10:15
然后呢,接下来还是一样的啊,就是那个predict,因为X做训练的时候非常简单,第一个就是那个第一个就是fit,就是把那个训练集上的数据给了,然后再做那个predict,就这两个操作就OK了,是吧,就OK了,其他的呢,咱们也就简单简单过了,就不多讲,因为那个下面那个数据格式里,大家能看到打出的那个详细的数据啊,我们后面呢,还有还有一些模型需要给大家呃过一下。然后让我们现在想这么一个问题啊,这个数据能用老的分类去做吗?
11:00
这就是明天为什么要讲深度神经网络啊,老具这个分类是做不了这个事的啊,老具体个其实它是一个分类算法,但是我们管它叫老具的回归,就是一种不传就说多了回归是怎么做的,它是在线性分类器的基础上叠加了一个S莫的函数,对不对?这格的函数大家上午看过它,它是这样一个函数,它本质上并不能把一个线性的一个分类器变成一个环。对吧,所以你不管怎么叠加它这个东西最多就是说还是一个分类面,这个面还是个线性的,只不过远处的呢权重非常小,近处的呢权重非常大,是吧?但是呢,绝对不会,不是说老去求回归,能能自己画环把它分出来,这是肯定不行的,对吧,怎么能把它分出来呢?有一种方法就是说现在是二维的,对吧,我们把它从这个屏幕这个方向把它提起来,像右边这个图,我们提成一个三维的。
12:02
你这能看懂吧,提成三维的中间插入一个分界面,就把正样本和负样本都分开了。明白了吗?什么?对,就是把这个数据先映射到三维空间里去。怎么映射呢?我们说说过一个叫什么高斯分布的东西,非常非常简单,你只要以这个点为中心建立一个高斯分布是吧,然后呢,把它拉起来就可以了,对吧?这你这个高速分布它肯定是这样子对不?那这些绿绿色点这样就在下面了,这个红的点在上面的对吧?这这点就是画的不准确啊,应该是在这个这一圈啊,这样就给分开了,对不对?这种映射到高维空间去的方法叫做和方法叫K。
13:02
叫和方法,这个和方法是最开始从哪里出来的呢?是从SVM里面出来的。SVM是一个比较大的话题,如果给大家讲推导的话,可能得推一下五。然后呢,可能大家可能肯定是也记不住,但是我可以给大家简单一句话去描述这个东西,我们刚才所说的所有的。分分界面都是跟远处的点有关系的,对不对,所有的分界面都跟远处的点有关系,就是你这个远处点,不管我加的这个C的函数,加什么函数,它都是建立在线性回归基础上,所以远处的跟这个分类面肯定有关系,对吧。这是,这是毫无疑问的,但是SM不考虑这些,SM只考虑在分界面附近这些点是不是被分对了。他只看这个东西。明白吧,所以它是一个非常强的分裂器,非常非常强,他就看在这个分界面附近,这个点有没有分对,如果分错了,那别人会问我就是那这个这个点他不看了吗?这个点他不看了怎么办呢?实际是这样的,只要这个点分对了,他就不看。
14:14
他只看那些触点。明白吧,就这个点在这个它已经分对了,所以根本就我们就认为它完全完全没有影响,就直接把它的权重看成零,就这个损失值,我根本根本就不算对他也没有什么损失,那根本就不算对吧,我只看这些点,如果有一个叉跑到这里来了,那这个损失就大了。明白吧,这就是SMSM本身呢,其实是一个强分类器,它可以把一些数据分的非常好,但是这不是他最牛的地方,它比较牛的地方是什么呢?它里边可以嵌套一个叫核的东西。这个核呢,它的作用就是把一个数据从二维映射到高维。我们我们讲过高斯分目是吧,高斯目大家公式至少还记得一个基本形式就是E的什么。
15:02
E的X减减谬是吧?平方二次根化方是吧?我们注意到之前说过E的展开式,E的展开式是个无穷的一个数列,对吧?还记得吗?对吧,因为一的导数永远是它自己对不对,所以它的展开是是一个无穷的序列对吧,而且因为它展开了嘛,所以说X减X0,它这个平这平方立方高对吧,非常非常多,所以我们有理由认为E呢,它是一个无穷为的映射的一个函数。明白吧,所以我们用高斯核,用用高斯这个核函数,这是高斯核嘛,我们用高斯的核函数,就等价于把一个数据从某一维度映射到无穷纬上去,所以理论上来讲呢,它可以把任何样的数据都分开。用的时候大家都不用知道那么多用的时候基本上就套高斯盒就用就就OK了,但是你要知道原理就是为什么这些数据就是环可以分开呢?因为我现在给他套了一个高斯核,就有些就套一个高斯核就可以把它映射成这个这种形式,映射成这种形式,然后中间插一个超平面就分开了,对吧,然后有很多数据它非常非常复杂,我可以给它映射到非常非常多的搞丝核。
16:17
对吧,我可以让每一点都应成一高斯数,对,反正肯定肯定是能分开,对不对,这就是老君回归和SM,但是SSVM的这个这个推导非常困难,然后呢,涉及到一些那个最优化的一些方法,所以呢,这回不会给大家说,大家如果想知道呢,可以去深入研究一下。那这部分是一个基础,具备了这两个基础的算法呢?呃,线性回归和老学习的回归呢,你可以做回归,也可以做分类,这么来说吧,就是对于你们现在假如在互联网建造的很多数据来说,你已经可以有一个基本的model了。这个工作也可以上线了,对吧,你可以做基本的预测啊验证啊和这个啊分析啊,这都是OK的是吧。
17:05
这两个model大家现在有有什么疑问吗?除了数学推导的部分需要详细详细看一下,从概念上,从这个理解上有什么问题吗?全是问题是吧,很正常很正常,第一次学是很正常。OK,那我们先休息一下。
我来说两句