七月在线公开课笔记-二十五-
七月在线公开课笔记(二十五)
人工智能—机器学习公开课(七月在线出品) - P11:机器学习项目实施方法论 - 七月在线-julyedu - BV1W5411n7fg
Okay。嗯,时间应该到了哈,那这样的话我们就正式开始好吗?没有问题的话,我们就开始,好吧。
啊,是这样,这个非常高兴啊能够有机会呃。😊,抽出一个呃一个多小时的时间,能够和大家一块讨论一下关于嗯机器学习项目实施方法论的内容。呃,关于这个话题啊,其实也是一直希望能够和呃各位专家也好啊,同学也好。
还有各个方向当中正在呃项目当中的同呃同事们也好,能够一块去聊一下的这个问题。为什么这么说呢?因为首先随着机体学习方向技术的发展。越来越成熟的一些技术,被越来越广泛的应用到了项目当中去。但是我的一个观察。
以及在项目当中实施过程的一个体会。嗯,是这种技术的应用,可能会非常随着不同的呃人员素质、项目情况以及各种各样不同的约束条件会带来非常大的差异性。嗯,直接点说就是很多的时候我们是在应用技术。
但是应用技术这种规范的方式和方法其实还是有很大讨论和提升的空间。所以呢今天能够希望能够和大家能够讨论一下关于机器学习项目,它的一个实施的步骤方法。以及整个的一个方法论的情况。嗯。
可能这些内容呢就是嗯没有直接在机器学习项目嗯当中的同学可能体会不是那么的深入啊,我举一个例子啊,就这些内容我经常会啊想到其他的方向当中的同学的一个可能接受的一个情况。比如说哈可能嗯在计算机科学方向。
或者说是软件开发方向的同学一定听说过这么一个课程叫做。啊,叫做软件工程,对吧?我相信大家一定对这个名词应该不太陌生。那我一定有一个问题啊,就是软件工程到底在干什么?
很显然是用工程化的方法对我们的软件开发项目进行一个规范化啊,就像我们盖大楼一样,我们有一个完整的图纸和蓝图,然后各个专业的啊不同方向的专家按照我们已经绘制完成的项目图纸啊开始施工就可以了。
那个时候你会发现我们一整套的工程管理的规范方法,在其中起到了非常重要的作用啊,其实软件开发在很早之前,基本上也是处在一种啊,非常盲目的,对吧?没有规划的呃,主要凭借个人经验的一种开发方法。
啊以碰到了一系列的问题,比如说需求的频繁的变更,所导致的设计的频繁的改变,啊,以及导致的比如说像开发过程当中的嗯越来越多的bug的积累,以及测试的这种越来越频繁以及越来越呃不彻底的情况。
所以慢慢的在工程侧,我们把一些经验,软件项目开发的经验不断的进行总结、提炼、消化,形成所谓的软件工程的方法论,啊以大家可能比较熟悉的传统一些的像瀑布模型,对吧?啊,现在我们更多的可能用的是敏捷方法啊啊。
甚至比如说有些scriptcr呃scribecr这种方法呃,其实在软件开发过程当中能够指导我们去使用软件技术,去解决我们的业务问题。那么同样啊我就有一个类比就在于。呃,机器学习项目呃。
其实你会发现在现在的实施过程当中,也应该有这么一套所谓的工程化的方法,对我们的机器学习项目加以指导。就像我们的软件工程,对我们的软件项目进行指导是一样的对吧?我们的软件工程对我们的软件开发进行指导。
那很显然,机器学习的。工程方法应该对我们的机器学习项目也应该有一个指导化的一个工作啊,这就是为什么今天这个题目是所谓的机器学习项目的一个实施方法论的这么一个题目。但是啊呃给大家报告一下。
就是现在这个时间点上,我们软件工程啊,随着大范围的这种软件开发的越来越深入是吧?软件工程其实已已经是一个呃非常成熟的一个内容或者方向啊,比如说我们现在可以提到的敏捷开发里面,对吧?呃。
各种各样的这种迭代流程啊,各种每一个阶段的这种输出输入以及输出,以及每一个阶段和每一个阶段不同角色的人员所承担的不同的工作内容以及之间的协调和协作。相对来说已经非常成熟的一个一一个方向。但是很遗憾的是。
在机器学习项目的实施过程当中,这样的方法论,其实。还非常非常少的被提及啊和总结。因为大家可能还处在一个相对比较前期的阶段,对吧?大家手头上有了一些技础工具。
那么忙不迭的啊把这些技础工具在不同的项目当中使用,还没顾啊,没顾得上,把这些方式和方法总结和提炼出来。但是哈但是嗯我个人感觉现在已经是一个呃越来越应该重视这方面工作的一个情况了。
因为我看到啊包括我自己呃在项目当中也深刻的体会到,如果没有一种方法论的指导啊,对整个项目的实施过程,其实是是很很有影响的。就是说嗯因为后面我们会讲到整个项目当中会涉及到不同的专家啊,不同的人员。
那怎么样以一种大家形成共识的方式向前推进整个项目,现在还很缺少。但是应该或者非常重要的是我们应该把这些方法论能够总结出来啊。所以今天呃从一方面啊是借鉴一些呃就是已经被呃总结出来的内容啊。
另外呢也结合着呃自己在工作和项目当中的一点一点算是体会吧,和大家今天聊一下关于方法论的内容,这是算是今天题目当中的一点内容,好吧。
那么我们就继续往下看一下,呃,在具体开始方法论的内容之前呢,希望先明确一点,就是关于机器学习项目的一个描述啊,这个可能会对我们就是我们把。呃,是什么先搞清楚,然后后面我们再讨论怎么去做这个事情。好吧。
首先我们看一下,就是我自己的一点体会就在于所谓的机器学习项目是在有限的资源约束之下,为了满足我们的客户业务分析需求啊,结合运用机器学习技术,分析挖掘数据当中所蕴含的规律。
为商业决策能够提供支识或者支撑啊,这是我个人的一点体会啊,回过头来看一下。首先第一个问题就是关于有限的资源约束啊,这个有限的资源约束体现在方方面面,比如说时间约束,对吧?呃,工期很工期会非常紧啊。
比如说下个月就需要完成项目,形成分析报告啊,你得构建模型呃,拿出结果啊,这时间约束,比如说人员约束,你手头上可能整个项目组就三个同时,对吧?一个一一个做需求,一个做模型,一个做。呃,应用。
那这样的话怎么去协调起来,也在有限的时间之下去完成工作。所以各种各样的资源约束条件之下,那么我们的目标是为了满足我们客户的业务分析需求。重点是我们最终的目的是为了满足客户的需求,这是最终的目标。
那么为了满足这个目标,我们使用的技术手段是综合运用机器学习的技术,分析挖掘数据当中所蕴含的规律呃。用户的这种需求可能是很多方方面面的需求。但是在这个地方,我们积极学习项目能够满足用户的需求。
是所谓的业务分析需求,或者是换句话说,我们是为用户的业务分析提供一些技术支撑手段。所以说在这个方向当中哈,我们是一种支撑啊,是一种辅助啊,是一种以技术能力来进行赋能。呃,所以这个地方的这种因和果。
所以能够能够明确的和大家有一个交流。就是我们只是为业务方的数据分析需求提供了一种技术支撑能力。呃,而这种能力现在来看是一种啊比较新颖的是吧?可能会出现很大呃可能性的一个结果。但毕竟我们还是为了。
业务分析需求所服务的啊,一定不要把因果搞混了啊啊后面我们会具体去分析这个事情啊。那么另外一点,当然,应用的技术手段主要是机器学习的技础分析方法,在数据当中去挖掘运含规律啊。
这个我觉得大家应该能够体会得到了。那么最终啊就是这个规律的目的还是为了商业决策提供支撑。当然这里的商业决策可能范围相对广一些啊,比如说在商业领域可能就是一个商业决策啊,比如说在业务领域,业务场景当中。
就是为了我们业务的下一步怎么去发展啊,提供一个所谓的一个支撑帮助的一个一个能力啊,这就是所谓的机器学习项目啊,当然。其中啊,当然我们还是以数据作为一个核心需求啊,核心目标对吧?基于数据挖掘规律。
当然使用的是机器学习项目,为我们的商业决策提供支撑啊,满足我们客户的业务分析需求。这是我对整个机器项目的一个一个个人的一个体会啊,所以说呃我说一下结论就是。在整个的。项目当中。
我们只是起到了技术能力的提供方,而不是整个项目的一个最终的。呃,怎么说呃。是。决定性的一个因素啊,呃换句话说,后面我们会讲到啊,我关于我们模型结论的一个应用,或者说一个一个理解。
一定是业务专家对它的一个接受和使用,而不是我们想当然的认为怎么怎么样。啊,这个一会我们再深入进行讨论,好吧。O这是关于项目的一个理解。那么下面呢我说一下这个本质上的一个认识。
就是积器学习项目刚才谈了很多啊,但是从现在我个人的角度去去分析这个问题的时候,我个人的理解是作为一个机极学习项目,其实我们需要解决的问题,核心的困难在于我们需要是在两个问题域当中进行工作。什么意思呢?
首先第一个问题啊,就是我因为我们的业务我们的需求来自于业务场景。那么一定是业务需求问题域是我们需要解决的目标,换句话说,你要解决一个什么问题。你需要在。问题域本身去搞清楚和搞明白。举一个例子啊。
后面后面我们会讲到一个案例,比如说我们之前在。在气象领域啊做一个延伸区的预报的工作。那么首先你需要在气象领域关于延伸区预报这个问题上搞清楚它到底业务逻辑到底是一个什么样的逻辑。
使现在已经使用到了哪些技术方法,解决了哪些问题,碰到还有哪些困难,以及。今后的发展方向。否则的话,如果你对业务问题本身没有一个很清晰的认识的话,又怎么样才能。
判断你是不是能够通过我们的技术能力能够解决呢。换句话说,就是第一个零第一个问题域就在于业务需求问题域,你需要搞明白,搞明白了以后,这只是一个开端啊,你带着问题再到我们的技术能力域去找或者去判断哪些。
技术能力是可能对我们的业务需求进行解决和支撑的。所以说哈从这个角度上分析的话,你会发现,其实从现在这个。这个这个时间点上啊,做机器学习项目,其实你碰到的困难,你是需要在两个领域当中做映射。一方面。
你需要对我们的业务问题有一个充分的理解和认识。你知道你的目标到底是什么,另外一方面才是到我们的技术能力域去判断啊,你到底我们的技术模型,我们的啊分析方法能不能解决当前这个问题。啊。
呃这个时候哈就需要有一个抽象能力。就是把我们的业O问题抽象出来,映射到我们的技术能力当中来啊。比如说O呃这个延伸期预报啊,原来其实就是个回归问题,对吧?那么既然是个回归问题。
我所有的回归模型是不是都可以进行使用啊那么当前这个回归问题当中的数据情况是怎么样,数据质量是怎么样。然后在我的回归模型当中,哪些可能在当前数据集之下起到起到作用。所以说你会发现你必须要横跨两个两个领域。
那这个时候对我们的项目同事或者项目人员的要求,其实还是非常高的。啊,我经常会看到很多的同事啊,因为是技术技术同事出发是吧?啊,对技术本身有很强的自信心啊,这是很好的一种情况。
但是我一直强调的就是这种自信心一定不要把它扩展到或者说形成一种狂妄的对问题域的一种不切实际的认识上啊,怎么说呢?就是因为我。手头上有了一些工具啊,有句俗话嘛,你手头上有了锤子,满眼都是钉子啊。
都想砸一下是吧?都想解决一下。当然对于一个探索精神来说,这是没有问题的。但是一定要对你的业务问题领域抱有足够的敬畏之心。换句话说,我们手头上的这些工具啊,其实也是非常有限的一些工具,能不能解决。
或者说是不是这个问题解决的一个方案,这其实有很大的讨论空间,所以在这个问题被搞清楚之前,就说你这个问题到底是什么?你搞清楚之前,不要做过多的一些判断和承诺,否则的话我看到太多的项目都是这样啊。
在问题都本身都没有搞清楚之前,太多的同事做了过度的承诺给甲方,对吧?这个是没问题,我可以搞定。但最后分析来分析去哦,原来这个业务问题是这么一个问题啊,这个问题我现在解决不了啊,或者不能够很好的去解决啊。
最后给甲方造成了一个一个印象就在于啊,你们是过度的。承诺对吧?这个事情本来你们解决不了,号称能解决,最后又撂挑子干不了。那这个时候啊甲方对这种技术本身的怀疑会越来越大。
对整个的技术发展会造成非常大的一个负面的影响啊,其实大家可以理解的是可能如果做软件开发很早的同事,可能这个过程是经历过的对吧?在最早的开始的时候。
软件领域的同时可能也会碰到过这种所谓的过度承诺的一种情况,对吧?这个软件没问题,这这个功能没问题,软件技术搞得定。但家会发现ok啊,还是很大的困难。所以同样啊到机器学习项目。
现在这个发展阶段也碰到了类似的一些问题啊,但是回到我们现在这个角度上来说的话,那怎么办?对吧?碰到了分析完了问题以后,怎么去做这个解决这个矛盾。
那我提出的一个方案就是需要大家在掌握了一定的技术能力的前提以下,对你在解决的问题有一个充分的认识,所谓的充分的认识就是。是。要么呃几个途径吧,要么向我们的业务专家进行一个深入的学习啊,都不是讨论啊。
因为你没有在业务问题域,你根本就没有讨论的资本啊,你你和人家一开始都不能够平等的对话。我们首先需要认识到这一点,对吧?我们是去学习啊,去了解去分析别人的工作以及他的工作价值。
试着分析我们可能最对他们的工作有促进作用的方向然后再去做实验,做做做推广,所以说一定是非常谦逊的一个态度啊,你需要充分的向业务专家进行请教啊,这是学习,这是一种途径。另外一种途径就是。
通过大量的阅读你需要待解决问题领域的一些呃资料、文献、论文啊,这个材料啊,以及以现有的成熟的解决方案。对当前这个方向的问题解决的这个啊发展程度有一个基本的认识啊,嗯两种方式吧。
一种方式比较就是呃通过啊面对面的方式,对吧?向业务专家进行请教。另外一种方式就是读大量的论文啊,读大量的文献啊,就知道这个行到底在干什么,在此基础上跳回来啊。
在判断一下我们能力域当中有没有方式方法能够解决这些内容啊,所以说哈那这个时候会发现对其实是对我们现在的同事的这个这个能力的要求啊,其实还是很高的啊,不光是要要求你有足够的技术实力。
还要求你具有快速学习掌握新的领域业务问题的这种能力啊,所以说更多的是一种。复合性人才需求啊啊说句再说往前呃,分析一下啊,就是说现在我们很多的同事可能更多的是停留在工程师的这个角色上,对吧?
我提供在技术能力的角色上,其实给大家说啊,现在的机器学习项目嗯,不缺技术能力啊,其实给实实际情况是这样啊,不缺技术能力。那缺什么?缺的是能够完成这两个问题与映射的这种能力,那这种能力是从哪儿来啊。
一方面是希望我们的技术工程师能够快速的提高啊,能够能够。😊,向我们的业务领域进行一个跨境啊,然后完成其中的这个映射。简单点说啊,就是我们缺的不缺工程师,那缺什么缺。项目经理缺产品经理啊,这是慢慢的。
当然需要有个过程是吧?也是需要一部分的基术人人才啊转化到整个的呃。管理方向也好,这种需求方向也好啊,这是今后的一个发展趋势吧。至少现在是这么一个情况,好吧,这个问题给大家多嗯分析一下OK。
那么下面一个问题啊,就是关于机器学习项目的一个利益相关方啊,很我我看到太多的工程师啊呃不能够很好的处理甲方乙方的角色问题。
不能够很好的处理项目组当中呃自己的这种技术角色和其他的技术角色之间的这种这种协调的问题,造成了。项目的推进还是有很大的问题的。所以说呢在这一页当中呢,和大家梳理一下,就是在整个的机器学习项目当中,啊。
当然其实也有一定的通用性啊,包括软件开发项目。其实大家也有类似的一些角色的定位的不同。那么这个时候呢希望和大家聊一下,就是面对。不同的角色的时候,大家怎么去啊判断和协调他们之间的这种这种沟通。好吧。
首先我们先确定一点我们是谁,对吧?这个时候呢呃假设那我们就是所谓的算法工程师。其实我对这个。嗯,这个名称啊就是应该叫做算法应用工程师,我们毕竟不是设计算法的对吧?我们是用已经设计好的很成熟的算法啊。
在业务方向进行应用的这么一个工程人员,所以我们是应用算法应用工程师。那么这是我们的定位哈,这是我们的定位。那么我们在项目组当中除了算法应用工程师之外,可能我们还子会碰到所谓的数据工程师啊。
就是我们因为知道刚才我们分析了机器学习项目本身是基于数据的规律性的挖掘和分析,为我们的业务决策提供知识。那么数据从哪来。那么呃谁去为我们的算法模型提供高质量的数据,往往会有一个所谓的数据工程师的角色。
当然这不是绝对的啊,这些这些角色之间并不都是绝对的啊,有些时候你可能是一人好几好几个角色,对吧?但是不管怎么样,总需要有这么一个角色去负责向啊我们的甲方去协调数据。对吧协调数据的时候。
可能是比如说离线的啊,你拷过来或者是在线的在系统当中去,你侵入到业务系统里面去。那这个时候这部分的同事可能更多的是关注于数据的问题,对吧?由他们来整理,提供数据。
由算法应用工程师在数据的基础上进行业务的分析,构建相应的模型,得出一定的结论。那么构建完模型以后。如果这个模型被认可了,那我们还需要进行一个开所谓的上线开发。就是我们的模型其实并不能凭空的使用。
而是需要结合着我们的比如说业务系统或者weber应用是吧,提供给我们的甲方。所以这个时候怎么样把我们的模型能够。整合到系统当中去。那么很显然可能会和我们的开发工程师进行一个协调和沟通啊。
这至少是我们在项目组当中在呃实施层面上,我们经常会碰到的不同的角色啊,那么在此之上,那么在此之上通常还会有一个所谓的数据科学家啊,一方面为我们算法应用工程师构建模型提供一些指导和和建议或者是意见,对吧?
比如说这是一个什么样的业务问题被抽象出来啊,这是需要科数据科学家在像刚才所说的啊,像我们的业务侧进行一个充分学习以后,啊业务问题抽象成我们的模型问题啊,这个模型问题可能我们面临的有好多种解决方案。
那么在这些解决方案当中,那凭借着所谓的数据科学家的专家经验去做一个预先的判断啊,这个数据这个业务问题使用这些数据啊,构建模型的时候啊,可能有5种选择。那我们。选择其中的三种模型作为一个实验。
然后看一下结果进行应用。所以说啊这个时候我们碰到的更多是数据科学家为我们制定一个方向啊,制定一个解决的一个途径。我们按照这些方向和途径开展相应的一系列的工作啊,这是数据科学家的经验。
当然再往上可能就是整个的项目经理或者产品经理的角色。他为整个项目的实施推进和落地负责任啊,去协调整个项目组当中各个不同的角色的这个呃工作啊,并且更重要的是和甲方进行进行一个充分的协调和沟通啊。
所以说项目经理的一个角色呢,更加的呃负责管理,然后呢负责协调,负责整个项目的统筹推进啊,所以这个是其实现在哈至少我个人的一个体会。在说呃。
是希望我们的算法应用工程师能够快速的演进到这个项目经理角色当中来。为什么这么说呢?现在不得不面临的一个情况,就是第一。缺机体学习项目的项目经理啊,没有啊,为什么没有呢?
因为因为这个整个的业务方向还比较啊比较早期是吧?这是面临的一个问题,在没有的基础上怎么办?两个方案,第一个方案就是原有的应用开发的项目经理啊,赶鸭子上架。做比如说做应用的同事对吧?项目。
然后这个时候他们的。他们那们那是他们的。项目经理,那没办法,你调到我们这个这个项目组当中来啊,做我们的项目经理。那这个我碰到一个很大的问题。特别是从我们这个所谓的算法,应用工程师的角度上去看的话。
来的就是个外行啊,因为实际情况也是这样,很多的这种传统应用开发项目的经理,它并没有所谓的数据科学的这种背景,或者说积极学习项目的这种背景。他对整个项目的逻辑,还可能停留在就是应用功能开发上。啊。
所以这个时候他不能够完全或者充分的体会到整个算法方向的所做的一些工作,会造成啊可能会造成一些嗯不太契合的一些判断和这种决策啊,所以这也是没办法的一种情况那更好的一个方案。
当然是我们作为一个可能的啊尽快的提升的一个途径成为这个项目当中的主导者啊,来去协调整个的应用开发方啊,所以说哈给大家说,现在。😊,这类同事的价值可能要比单纯的算法,应用工程师的价值可能还会更大一些啊。
但是同样这部分的同事面临这个问题就在于他对管理或者是项目管理的经验可能是非常欠缺的。啊,另外呢这种这种观念可能更多的还停留在工程或者技术侧,而不是停留在整个项目侧的一个管理层面上。
所以当然这两两个方向啊,两个方向可以说是各有利弊。但是不管怎么说啊,还是希望嗯有有这种啊改变想法的啊,这种同学啊,能够有一个途径啊来去改变。当然。当然这是一个很好的选择啊。
就是我从算法应用工程师能够成长为所谓的数据科学家啊,当然这个就看个人不同的选择嘛,对吧?看个人不同的选择,这是对我们乙方啊,对于我们项目承接方的一个分析,那么看一下甲方哈。
我觉得对甲方不同的这个人员的这个理解和定位,对你今后的工作也是可以带来很大帮助的。见什么人说什么话,对吧?入哪个庙,你得拜哪个拜哪个佛啊,对吧?
所以你至少知道我们甲方啊可能在这个方向当中会碰到一些不同的决策。比如说项目决策者,就是这个项目啊需求的最早的或者最意向的提出提出的人啊,一般是我们甲方的呃管理人员,或者说是甲方的领导啊。
作为整个项目的一个决策者,这个项目做不做啊,做到什么样,一般是有他来负责的。那么在此之后呢,可能就是一个所谓的业务专家啊,往往项目决策者或者项目领导呢,对一些具体的业务问题和具体的业务方。
方向啊不能够嗯完全把握啊,所以这个时候他会倚仗于所谓的业务专家啊,对我们的特别是一些业务问题和技术性的支撑问题啊提出一些呃非常重要的意见和建议。就如业务专家的一些呃这个能力啊呃换句话说哈就是。
到最后项目验收的时候,这个项目好不好啊,行不行?呃,过不过,是由我们的项目决策所者拍板。但是他在拍板之前会充分的去啊呃咨询求证啊,依赖啊业务专家的建议和意见啊。
所以这个时候嗯你会发现我们对甲方的这种啊支撑啊。当然我们最终是希望最后这个项目是成功的,是O的,但是你怎么去说服大家认同你的结果。后面我们会以讲到这也是一个很大的个困难和问题,对吧?
那你你最终目的是希望他能够认可。但是你会发现他最后所依赖的建议是由业务专家所得提供的。所以你会发现做工作还不能啊,还需要根据不同的情况来进行抉择是吧?这是一类人员。
那么另外一类人员呢就是啊到了实际工作阶段,所谓的业务工程师啊,业务工程师就是具体负责当前这个业务方向的具体业务的人员啊。很多的业务技巧和业务经验啊,可能业务专家也不掌握啊。
甚至就是停留在或者沉淀在业务工程师这个地方啊,有一些具体的细节问题,对吧?一些业务技巧啊。到底是星期三这个数据来,还是这个数据是星期五来,对吧?星期五上来的数据质量要比星期三来的数据质量好。
这个你比如说这种判断,往往甚至业务专家都不了解,就是在业务工程师那里他在掌握。那这个时候后面我们会讲到你数据提取的时候,那你提取星期三的还是星期五的。当然我们是希望提取高质量的数据。
但是如果你这个不了解的话,你很显然,这个数据质量就出有问题的。所以这是所谓的业务工程师。另外一个你会发现甲方往往也有所谓的数据工程师啊,比如说。😊,在在气象领域是吧,他们的信息各其实各个领域都差不多啊。
都有所谓的信息中心。那信息中心里面具体掌握业务系统数据组织情况的啊,那些工程师、工程人员就是所谓的数据工程师,你免不了,比如说是个业务问题。
你免不了需要从业务系统或者说已经呃落地的系统当中把数据提取出来啊,或者说在业务系统当中进行分析。那这个时候对数据最熟悉的肯定还是所谓的数据工程师。那这个时候嗯说实在的,有的时候是怎么说就要言王好见。
小鬼难缠是吧?他就不给你数,那你瞪眼也没办法是吧?所以说啊各个不同的甲方决策在整个项目当中,还是起到不同的一个呃不同的一个定位是吧?你怎么去协调,作为我们的算法应用工程师。
你不能啊你当然你不能我们说你给我数据就可以了。那你知道或者说你得理解数据工程师在项目组当中,他需要和我们的甲方的数据。工程师进行一个非常困难的协调。有的时候他不给你,那他也没办法,他不是。
我们我们自己的工程师不是不想把书给你,是因为他确实协调不到,或者很困难的协调到。这个时候还是能够充分的理解一下大家之间工作的不同,对吧?好了。
以上吧是我们可能会在项目组当中啊碰到的甲方和乙方的一种一种一种问题,对吧?一些一些决策的一些定位。啊以上哈以上至少是呃我在整个机器学习领域的一些呃个人的一些认识吧。
首先第一个就是项目机器学习项目的一个理解啊,呃,在资源有限的情况下啊,对我们的客户业务。😊,进行一个分析,满足这个需求。当然利用的是我们的技术能力啊,在数据当中挖掘规律,为我们的商业决策提供一个支撑。
然后呢。最核心的问题就在于怎么样在业务问题域以及我们的技术能力域当中进行一个映射,进行一个高效的成功的一个映射啊,这个时候需要符合性人才啊,就不再的是单纯的是一个技术能力。
而更多的是一个对业务问题的分析抽象以及应用技术解决问题的能力的一个一个考核。那么在整个项目组当中啊,有不同的角色以及不同的利益相关方,大家的大方向没问题。但是在整个的推进过程当中。
你应该能够体会得到大家应该侧重点的不同。其实呃。不同的角色吧啊,不同的角色还是有不同的工作的重心啊,特别是在现在在我们的项目经理这个定位上呃,还是非常啊啊非常缺人。
因为他必须要首先知道整个的项目组当中的逻辑,就是这个机器学习项目本身的逻辑是吧?是以数据规律的挖掘对为核心重点,应用机器学习技术,满足甲方需求,而不是单纯的做功能性开发啊,这一点的这个思想转变。嗯。
其实更好的是希望我们的算法工程师能够快速的成长起来。但是你需要补的是大量的去整个以以项目的视角啊,以以管理的视角去推进我们项目满足甲方需求的一种一种能力的提升啊,那么在不同的甲方乙方当中啊。
还是特别是在处理这种甲方关系的时候,对吧?你怎么样去控制甲方需求,对吧?呃,甲方管理嘛,对吧?或者说需求管理嘛,是吧?你不能。把自己抬的太高,最后摔的太狠,那还是自己倒霉,对吧?好了,以上是这么一些啊。
算是第一部分吧,和大家分享一下,我看看有没有问题,我们可以做一个简单的交流。😊。
Yes。嗯。OK那这样的话,或者我们先继续,好吧,继续完了以后到嗯。
后面我们可以一块有问题的话,我们一块再讨论这些问题。那好了呃回到最开始的那个疑问啊,就在于我们以一种什么样的方式去推进和组织我们的整个项目啊,那就牵扯到关于呃方法论的问题。
对以一种什么样的方法论的指导来完成我们的项目内容。呃,给大家报告一点的是嗯其实我个人也非常困惑于此。所以呢之前的时候也嗯大量的去阅读了一些之前的工作的呃,怎么说总结,呃。
试着去找到已经被很好的总结提炼出来现成的方法论,这个很很自然是吧?有现成的,当然是用现成的嘛。但是很遗憾的是,至少从我的这个渠道或者能力范围当中,还真的没有找到被广泛证明了嗯。呃。
切合实际的应可应用于机器学习项目的呃方法论。啊,比如说你像软件工程当中的瀑布模型,对吧?比如说像敏捷方法啊,这种在软件工程当中已经被广泛使用到的方法论。嗯,至少我在机器学习领域,其实还是。
没有找到现成的啊,可以这么说。那退而求其次,在这个呃搜集材料的过程当中,或者说找寻这个方法论的过程当中,嗯,也不能说是偶然。嗯,是因为之前在上学的时候,其实有过一门课程,叫做呃数据挖掘这么一门课程啊。
可能有的呃同学或者专家可能了解过所谓的数据挖掘是吧?嗯,在那个阶段的时候,其实有过一个叫做呃CRSPDM就是呃。呃叫做跨行业的数据挖掘标准过程啊。
它是应用在数据挖掘领域的一个呃呃一个一个开发过程或者一个方法论。呃,这个时候因为之前了解过啊,就是数据挖掘的内容嗯。
所以呢就觉得是不是可以把数据挖掘过数据挖掘领域当中的这一套方法论应用到整个的机器学习项目当中来。呃,最后其实发发现哈有这么一个结论啊,当然这个结论呢呃是我个人的一个发就是个人的一个理解吧。
就是可能哈就是大家如果了解过数据挖掘课程或者数据挖掘方向的这个同事或者同学,其实你会发现啊,就是如果说你看过两本或者两本以上啊,关于数据挖掘的书。呃,在看我们机器学习领域的一些一些一些资料。
其实你会体现体会得到啊,这两套材料当中80%以上的内容是差不太多的。如果说有区别,可能体会体现在以下几个方面。第一个方面,数据挖掘的课程更侧重于对业务问题的分析,以及对模型的应用。
最后对业务问题的解决啊,它其实就是重点是在商业领域的一个使用。啊,数据挖掘哈这是一点区别。那么另外一点区别。如果在基础层面上说,你会发现就是去到头,对吧?呃,分析部分呃,需求部分去到尾报告部分。
在中间的技术部分,你会发现甚至90%,甚至说95%的内容,都是相同的内容,包括你会发现有什么决策术模型是吧?有什么逻辑回归模型啊,这是在数据挖掘领域当中也会频繁的会看到的一些呃分析模型啊。
甚至还包括甚至你会发现高级一点的呃嗯数据挖掘方向的专注里面,还包括像这个SVM知识向量级,甚至都包括神经网络模型。你会发现从技术侧,你会你会发现95%的内容都是一样的,可能会有一些不同的地方。
比如说在像呃频繁向级,就是关联系统呃关联模型可能呃数据挖掘里面会有,但是机器学习领域里面会没有除了这一点技术。上的不同之外,那技础侧其实大多都是重合的啊,通过以上分析吧,我的一个个人结论就在于。
其实所谓的数据挖掘,你可以认为就是在商业领域应用机器学习模型去解决他们的业务需求的这么一个。方向。刚才其实机器学习模型其实可以应用于很多的方向,对吧?嗯,在其实在很多的传统领域,比如说像能源电力啊。
像气象啊,像通信啊呃医疗啊,像呃交通啊各个领域其实都可以使用机器学习的领机器学习的方法和模型。那么在商业领域对商业问题的分析领域,其实就是数据挖掘。所以说哈基于以上的分析。
那么在商业领域使用所谓的数据挖掘模型或者机器学习模型所总结出来的这一套所谓的跨行业数据挖掘标准过程。那么也应该可以作为我们在其他行业或者其他领域进行类似的工作的一个可参考的一个过程。
这是一个逻辑逻辑关系。就是说呃数据挖掘,是我们应用。机器学习技术在商业领域呃当中的一个使用,总结出了一个所谓的呃cdM这么一个模型。那么我们在其他行业当中去推广和使用机器学习技术的项目的过程当中。
那么当然也可以作为一个借鉴去去使用,对吧?所以这是一个逻辑关系啊,那么那么我们就回过头来看一下,考察一下这个所谓的跨行业数据挖掘标准过程,它所包含的内在的规律,以及我们今后可能会借鉴使用到的一些内容。
其实分析之后,你会发现这个模型还是嗯还是很有价值的。至少在现在这个没有的基础上,我们可以作为一个基限模型是吧?基础的一个方法论,对我们实际的项目推进有一个指导。
然后再根据项目的不同的情况进行各种的裁剪扩展和改进。好吧,那回过头来看一下这个跨行业的数据挖掘标准过程。这个模型呢,其实你你看一下资料,你才会发现它是上个世纪90年代中期。199几年啊。
好像1995年的时候,由IBM公司呃,以及还有其他几家公司所组成的一个呃所谓的一个叫什么一个小组啊,呃,在分析了呃当时呃商业领域使用所谓的数据挖掘技术,解决一些业务分析问题的项目以后。
总结和提炼出来的这么一个所谓的标准过程。嗯,他又你会发现啊,他其实是已经是。据现在大约是30多年以前的一个工作,你会发现呃那个时候的工作对现在我们的项目还是有很很很很强的指导性的一些建议。
OK那只不过这些工作呢是在商业领域啊,但是我们现在可以以它作为一个借一个借鉴啊,应用到其他行业和其他领域当中去。呃,那么几个特点吧,第一个特点叫做行业无关性啊,行业无关性。
虽然说整个标准过程的提炼是以商业项目为核心或者重要的项目域提炼出来的。但是呢整个的标准过程希望构建的是行业无关啊,就是既可以使用到商业问题当中来,也可以在其他行业当中进行一个推广。
所以它是和行业具体行业是没有具体关系的啊,并不只限于商业领域。这是第一点,行业无关性。第二点叫做工具无关性。在整个的标准过程当中,呃没有依赖于任何的呃商业工具啊,呃也没有依赖于任何的就是具体的。呃。
工具就是它是一个相对来说抽象的或者抽象层次比较高的一个过程。呃,第三个叫做应用无关。还是那样,就是嗯它和具体的应用场景是没有关系的,是一个抽象层次相对比较高的一个所谓的。标准过程啊,这是三三个特点吧。
这三个特点。那我们具体看一下右边啊,右边这是我们其实最核心的一个一个内容,就是这个图里面。描述了我们整个的一个标准过程的一个流程啊,这也是今天的一个重点内容吧,希望能够和大家一块分析一下的。首先我个人。
再次强调一下的就在于呃整个业务问题的或者整个项目的决定性的因素。第一点。叫做。商业理解这是刚才所说的啊,我们要在两个不同的领域当中进行一个映射。那么哪个领域呢?到哪个领域的映射,就是我们的业务问题域。
到我们的技术分析域。那业务里。问题域的理解是作为整个项目的一个起始性的问题。你需要对你所面临的业务问题进行一个深入的理解啊,这是一个免不了的过程啊。
我一直在给技术侧出身的同学一直在强调的在于我们的技术只是起到辅助支撑的作用啊,为我们的业务问题的解决提供技术能力,仅此而已啊,当然我们现在来看,这个技术能力还是非常重要的对吧?可能是之前的呃功能性。
项目当中所不具备的,但是也也是为我们的业务问题所服务的啊,没有什么其他的。所以说你首先解决的就是你的业务理解问题啊,之前做的一些项目当中,一开始你需要花上一些呃精力和时间,对现在业务问题的解决的方法。
以及碰到的困难进行一个深入的学习和分析啊,否则。说句不好听的啊,从业务专家的角度上,你所提出的那些解决方案,你所说的那些呃可能性的一些分析都是一些外行话啊。如果你不能够用所谓的行话去描述问题的话。
你甚至都不能够很好的去对现在业务专家所的痛点或者需求。你你根本就没有一个很好的一个把握啊,这个时候你怎么才能够。抽象成业务问题,怎么样能够才找到准确的解决方案,这都是存很大的问题。
所以第一步啊一定是深入的对你要解决的问题的一个理解。怎么理解?刚才说了,要么你对业务专家进行学习,要么去读专注读论文啊,作为一个不能说是专家吧,至少是作为这个方向的小学生啊,说的不再是外行话。
才可能才可以和我们的业务专家进行一个沟通,把业务问题正确的能够提炼出来,这是第一步。第二步啊就是数据理解。那么关于数据理解呢,回到我们整个的机器学习项目,整个机器学习项目是对业务问题的一个分析之后。
基于数据挖掘、构建模型、挖掘规律。那么数据的情况一方面很好的解释了业务问题,对吧?以数据的形式把业务问题更好的呈现出来。那么第二步呢也是作为我们后续构建模型的一个基础性工作。
所以说对数据的理解也是非常重要的。当然,这个层面的数据理解,更多的是停留在以业务侧的视角对数据的理解。比如说你拿到拿到一张业务表对吧?业务表里面的每个字段,它的业务含义到底是怎么样的?比如说是时间。
那这个时间到底是比如说这个开户时间还是个截止时间,那截止时间有没有业务上的一个截止点,是以凌晨12,以凌晨24点呃,以以凌晨0点为截止时间还是以具体的,比如凌晨3点作为业务截止时间。
这个都需要在业务侧给出明细的一个解释。你会发现,如果你对业务的理解啊,业务侧的数据理解有问题,返回头去进一步的去使业务问题本身去找到相应的答案。所以说这个过程哈就是业务问题理解了以后。
一定要落实到我的业务数据的理解上啊。换句话说,你需要对业务系统里面的每一个表啊,每一个字段明明白白的搞清楚它的具体含义才可以。为什么要这么说?那么就先入到下一步。😡,所谓的数据准备。
因为我们后面的工作是需要构建数据模型,对吧?去分析问题。如果你对业务数据不清楚,有疑问,你怎么去很好的判断哪些数据是你所需要的。而哪些数据是你所不需要的。如果你构建其他。扩展特征的话。
哪些特征是可以在业务数据当中进行排列组合得到的这都是需要在在充分的对业务数据的理解的基础上,才可以做到一个有效的正确判断啊,才可能说哎我对哪些数据进行抽取啊,才是有价值的。所以才是所谓的数据准备阶段啊。
这个时候呢这个所为第三步哈,作为第三步,这个这个数据准备,一般就是需要刚才我们所说的甲方的数据工程师和乙方的数据工程师进行一个充分的沟通和讨论啊,嗯这个时候会经常会扯皮,什么扯皮啊嗯,甲方问乙方。
你要哪些数据,乙方问甲方你有哪些数据。甲方说你要哪些数据,我给你哪些数据。嗯,乙方会说你有哪些数据,我要哪些数据,这不这不就扯吗?这很显然。😡,如果形成了这种方式哈,一定是你工作有问题了啊。
大家脑子里边清楚这一点啊,一定是工作有问题了,哪有问题,具体问题具体分析啊,你具体哪个地方出问题了啊,出现这种这种糟糕的这种局面。嗯,太正常了啊,各有各的难处是吧嗯。不管怎么说呢?
到了第三步数据准备阶段。那么在数据准备阶段的基础上,那当然就是构建模型。那这个时候好像是到了我们的几个阶段。你会发现这如果是对业务问题遇的一个分析,那下面这个工作我觉得我今天就不用多说了,是吧?
这不是这对我们来说这都不是问题了啊,你变着花的撒花的对吧?各种模型,各种试,各种各种各种用,对吧?各种各样的所谓的理论,你就这是我们的问题啊,今天就这个不是重点是吧?好了,重点在于。😊。
当我们有了模型结果以后啊,需要对模型的结果进行评估。有能说这个评估或者评价怎么单独的拿出来了。不是我们需要在建模的时候,就对当前的模型进行一个评估嘛,是吧?各种什么ACC啊UC啊,什么ROC啊是吧?
各种评估指标,你不对模型评估吗?怎么单独拿出来了,这里的评估不是我们建模之后的模型的评估那个东西。你自己需要搞得定,你需要拿出你自己信服的一个结论性的东西,对吧?你的正确率是多少啊,你的F一值是多少。
当然各种不同的指标是吧?你自己那是对你自己工作的一个结论性的东西。这里的评估是你需要把你的这个技术上的结论。😊,通过沟通和谁的沟通和业务专家的沟通,使得业务专家对你的工作有一个所谓的评价啊。
注意评价是A对B的评价。那A是谁,B是谁?如果在这个阶段的评价是你对你的模型的评价,而这个阶段的评价是甲方对乙方工作结果的一个评价。当然具体呈现上也是对模型的结果,但是你会发现两个完全不同的视角,对吧?
那你因为模型是你自己构建的,所以你有很充分的。认识会很充分的。inside是吧?一个一个一个认识程度,我这个模型哎呀包打天下,百分之百没问题。但是是你以你的视角。那么到了这个阶段。
一定是以业务专家的视角,你需要对他进行一个充分的解释你的工作价值。这个时候碰到最大麻烦就在这个地方。因为业务专家不能够理解你到底在干什么。或者说如果你前期的工作做的不够充分。
不能够使业务专家去理解你的这这个问题的这个价值的话,你这个时候你第一步就卖过这个坎啊,业务专家怎么去认识到你的工作价值。啊,怎么对你的工作有一个正确的评价啊,他到底在他到底认识到你的到底在干什么。
你搞的什么模型,什么叫模型,对吧?什么叫回归,什么叫叫叫叫拟合,什么叫过拟合。你从这个这个他根本不懂。那这个时候你怎么。把你的工作成果很好的向他进行解释,这是个非常大的一个挑战哈,非常大的一个挑战。
如这是第四步,这个第三步第四步,这都不是时间,那这是第五步,这可能是最大的一个麻烦。有的时候你会发现很很糟糕的就在于你的你的技术模型,我认为可能非常好啊,咱们都懂。所以。😊,啊,OK没问题。
但是就是因为你没没能够很好的去对业务专家解释,没有使他能够认可到你的工作价值。那这个时候结论就是负面。给大家说一下,我至少我个人的一个经验就在于有的时候我们会为了提高模型的可解释性。
可以在一定程度上去牺牲模型的精度。为什么说?比如说我们一般意义上会认为呃神经网络模型的这个能力要比比如说像数模型,像逻辑回归模型的性能要好,这是我们技术上应该是没有问题的对吧?但是上给大家说。
往往我们选择的模型恰巧是像数模型,像逻辑回归这种模型,而不会动用像神经网络模型这么一种这种东西,为什么就是因为数模型和逻辑回归模型本身的可解释性,要远远大于神经网络模型,你像甲方对吧?你像业务专家。
他搞电力的,他搞气象的,他搞能源的,他搞电信的,他搞医疗的,你给他讲什么三层网络,对吧?什么这个这个各种各样的全职参数,你疯了,你给他讲那个他听得懂吗?对吧?但是你给他说,你比如说我构建了一个数形结构。
他也听不懂,但是呢你会说哎我构有。形成了30条规则啊,每一条规则代表的是业务上的哪个情况,对吧?你这个人年龄30岁以上,家里有房产啊,身体健康,我给他贷款。哎,这个他能听懂了,对吧?你翻译成业务语言。
这是决策数嘛,形成了业务规则。另外呢你比如说哎这个明天下雨80%的概率是下雨啊,还有20%他不下雨呢,这种带着概率的性的结果也是容易被甲方所接受的。当然这都是。所以说啊刚才所说的。
就是有的时候甚至为了这种可解释性,我们会牺牲掉所有的精度。当然这个是有很大的技巧。你会发现这这已经不是技术问题了,对吧?这是更多的是充分的沟通,你获得甲方信任的一种能力和问题啊。
这个你不通过几个项目啊锻炼啊,不通过几个这种项目的这种这种坑的这种这种这种解决啊,问题的解决,你你还是体会不那么深啊,今天说到这里,那么很遗憾的,如果这个项目的评价是负面的怎么办,对吧?
甲方你啥你这是做了一个这不不行,这个东西,那没办法,这个时候返回到业务理解啊,继续对业务进行学习啊,这个是跑不了的,然后再对数据进行理解抽象数据构建模型进行解释啊,再不行,你就再回来呗。
直到什么时候直到你能够充分的把你的工作价值,是甲方进行有有一个正确性的判断啊,这个时候。才是所谓的部署。那当然就刚才所说的应用开发工程师的工作了是吧?把你的模型在业务系统当中进行一个集成上线使用。
甲方哎觉得OK没问题,你会发现这还是个圈儿啊,所以发现这个模型可能比如说一开始。精度不是很高,但是上线以后发现哎甲方用的还行啊,后面慢慢的说你这个模型越来越差了。
这个时候他因为他他只能够通过第一次的迭代,知道你在干什么,内部逻辑知道了。那个时候他在追求所谓的精度的问题。那个时候你慢慢的可以把之前的模型进行一个重新的一个迭代升级,更新掉啊。
所以说你会发现有的时候呃项目的推进,也不是说是呃怎么说他他有内部的规律性的是吧?所以说哈回归回来我们在。😊,回顾一下啊,简单的回顾一下。Yeah。这明面样吧。第一步,商业理解对你的业务问题充分的沟通啊。
充分的学习,充分的理解啊,至少不再是个外行。第二步,对业务系统里面的数据进行理解。每一个表,每一个字段的含义,业务上怎么解释,充分的进行理解,理解不了,反回去找专家。
所以说你会发现这个地方是双向箭头是吧?出具数据啊,这个地方的瓶颈在于你要什么,你有什么,你要什么,你有什么啊,这个地方扯来皮,那就自己想办法怎么解决,好吧,构建模型这都问题不大。
核心关键点在于对模型的解释,解释不通,有个头径,从头再来解释通了,上线部署实施,接代下一轮的工作啊,整个的所谓的跨行业。数据挖掘标准过程差不多就是这么一些核心内容啊。
这也是其实作为一个今天的重点的一个内容吧啊,想和大家进行沟通的地方,看看还有什么问题吗?我们可以交流一下。
啊。算法工程师对一些开发要了解多少呢?嗯,是这样啊,就是一般情况下分这么几种情况啊,就是一般我们作为算法应用工程师的话,嗯,可能会是比如说做做软件开发出身的同事。那这个时候你本身对软件开发的这个。
理解应该就本身就很深刻,对吧?那这个时候我觉得问题不大。另外一些同学可能是学,比如说像统计数学甚至是做呃物理啊,可能也会有些转行的同事。那这个时候呢。
其实我非常建议这些同事呢能够能够对开发侧的工作能够有一个掌握啊,甚至你说说今后算法工程师干不成了,你还可以做开发嘛,哼是吧?这是所以说要了解多少,这个当然是多多益善。但是很显然,时间成本和精力成本。
你怎么去平衡和协调啊,这个可能需要个人的情况来不同的总结。嗯,才能承担项目经理的职责。其实我觉得没有一定的一个标准。这个一方面看技础能力。其实我个人更多的是觉得可能是根据你个人的这种情商啊。
说实在的就是怎么样去。呃,去去推去统筹管理这个项目。你当然你需要有一定的这个这个技术能力啊,你就否则的话,你在本身我们这个方向说的都是外行话,你怎么去。嗯,咱比如说指导了,就说你怎么去协调之间的工作。
有的时候你你会发现那个时候就就成了外行领导内行了,对吧?这个时候还是个人的这种综合素质的提升。一方面理想情况下,当然是一方面技术技术hold住,对吧?协调协调没问题,这个就别人也就没话说了,是吧?
算法工程师上的项目经理需要掌握哪些嗯,哪些?嗯,还是那样,我觉得就是综合能力的提升吧,一方面技术你hold得住,另外一方面就是管理的能力。而管理能力呢一方面这很难说你从书课本上能够找得到。所以还是那样。
就是你在项目组当中完成自己工作的。基础上,如果能够多做一点其他的工作,比如说协调的工作,对吧?比如说你你自己的基础背景出发,做一些协调侧的工作。这个协调侧的工作一方面可以是项目组内的协调。方方面面。
另外一方面也可以是项目组间的协调,甲方乙方的这种协调和沟通。所以说有的时候啊。做工作不是说你活多了,就是个就是个就是个坏事情。当然看你怎么去定义啊。有的时候如果说是有我看过很多的工程师啊。
如果你让他去哎给甲方做个什么事情,很很抵触是吧?这东西就不是我干的,你谁爱干谁干,但是我觉得这确实有的时候就是机会,对吧?你对甲方的了解了,甲方对你的工作的态度和能力认可了。
这个时候你也是对自己能力的一个提升,你后面真的进化到这个这个项目经理,但不能用进化,就是就是呃推进到项目经理这个角色也不是不可能的一个事情。做算法,应届的硕士多少这个不一样吧,这个看你能力吧。
我觉得应届硕士的现在的水平也是千差万别的,好吧。😊,嗯哪里出问题啊?更多的是协调的问题。不是说你就是说白了就是甲方不给你数啊,就是问你你要什么数据库里边你都是这样,甲方的潜台词势。😊。
你连我数据库里面有那些数据,你都不知道,你有张口给我要数据,那我肯定问你要什么,这不这不很显然的个问题吗?那你怎么办?一方面还是那样虚心一点,谦虚一点像。即使是数据甲方的数据工程师。
你也得他好好的去沟通这个事情是吧?当然有的时候。嗯,还是有些方法,比如说你可以他实在难为你是吧?你你你往他的领导那里给他沟通一下是吧?公司数据没有标签,还叫我们建模咋整这。你领导有问题吗?还是怎么办?
你他说啊,你说领导这个没标签干不了,他如果认为能干,你就让他谁能干谁干呗,是吧?😊,真有把决策书转换成规则式,当然会有啊。而且我觉得这个很有价值啊。嗯,你真的是在业务数据当中。
业务数据上面构建了一个业务分析模型,对吧?然后形成了业务规则,而且而且这个业务规则被甲方认可了,那很显然是很有价值的东西。请吃饭,这这肯这必须的,好吧,同学。
这个这种对吧?这种事情还用沟通吗?好吧,OK嗯。是吧。😊,呃,这是呃基本的一个流程哈。除了流程之外呢,我们其实不光是流程流程很重要。那么具体支撑这个流程呢,还有一些具体的事情要做,就是具体的商业理解。
你要干什么?比如说确定商业目标,对吧?这个商业目标的确定一定不是你拍脑拍脑门,不是你拍脑门能够做的,一定是。😊,Oh。和甲方好好的开会啊,让甲方能够确定他的商业目标是什么,你别给他定义你的商业目标。
你根本让他自己把他自己的问题想清楚。当然你可以协助他,但是你一定别替他去做这个工作,让他自己想明白了,否则的话,他这个问题一旦定义不清楚,你后面改需求,那是太经常了。所以说有的时候你也不能怪甲方改需求。
因为甲方本身他改需求,对甲方来说改需求,这不是天经地义的事情嘛。如果你不能够很好的去固定和解决他这个需求困惑的问题的话,我觉得那只能是你自己的工作做不到位,需求管理啊。
就是对甲方的需求管理也是一个非常重要的内容,什么意思啊?啊,很多的技巧啊,就他提需求,他甲方的嘴对吧?当然包括咱们乙方项目经理的嘴,那都是嘴,对吧?说说而已,你怎么让他去控制他的需求内容,我觉得还是。
还是有很多工作需要做啊。环境评估,你哎有的时候啊领导对领导说这个拍板这个事情可以做啊,到咱们具体实施层面上了,你需要对整个的项目进行一个详细的评估,有没有资源时间对吧?人员嗯技术能力啊,这都是你的。
资源的问题。需求假设约束风险啊,特别是风险啊,技术风险是一方面,业务风险啊,组织风险各种各样的不确定性是吧?你都需要对整个的项目有一个嗯项目价值的一个判断。就是所谓的项目经理为什么要求很高啊?
就是他不光是一个。啊,基础上的事儿了是吧?另外一方面就是哎你看这是对我们整个的环境的一个判断。你到了甲方,你可会发现哎,这个甲方到底靠不靠谱,有没有钱啊,这个。😊。
另外你比如说甲方的这个这个甲方领导有没有在他们单位的话语权,话语权怎么样?业务专家到底是谁?业务专家的这种能力或者他的强势地位到底是什么样的?你自己有一个判断,对吧?你做工作还是那样资源有限。
你在有限的资源投入到哪些关键的工作当中去去做谁的工作才能产生更大的价值,这都是。进行一个判断的。另外一个对你自己的最自己能力的一个判断,对吧?你自己整个项目组的两把刷子是怎么样的。
能不能hold得住业务需求的这个问题在解决。这都是我们的项目经理或者产品经理能够提出的一个很大的一个挑战啊,制定整个的项目计划。如果你觉得O这个事可以干啊,那制定计划只是商业理解部分。那么数据理解。
数据源始数据收集描述探索以及质量的检和。嗯,嗯,给大家说一下,现在有的时候就是理想很丰满,现实很果敢。你到了数据层面上,你会发现各种各样的业务数据,那都是千奇百怪,离奇。嗯,不确定的事情。
那这个时候你怎么去衡量这个。这个时候啊这个业务数据理解完了以后,一定要让甲方能够充分的意识到他自己的这个数据情况,你自己心里没点数嘛,你那业务系统都乱成什么样子了,那数据质量都扎成什么样了。
你要求我后面干干什么干什么,对吧?你得让他自己当然需要技巧啊,你不能这么直接说,但是你还是比如说在项目到了这个阶段开评审会的时候,对吧?我列出来当前业务系统当中,对吧?有什么样的数据表。
数据表里面有多少字段,具体的数据质量是怎么样的。我通过数据集合查核,嗯,对吧?你你你你得你写的清清楚楚明明白白的,甲方觉得啊也是没问题,那这个时候你在这么一个渣数据上还能让我做出什么样的结果来。
所以说为什么叫做需求管理啊,就是这样你你一定要控制住甲方的这种冲动是吧?他能上说上天,你得把它拽回来,否则的话,你跟着他一块飞,他反正没问题,你怎么把它。把这个项目完成。数据准备上,这都是。啊。
我觉得这个应该是没什么太大问题了。建模我觉得这都不是事情了,是吧?最后的评估还是刚才所说的啊,评估不是不是你想当然的认为,不是你自自嗨啊,你一定和甲方进行沟通啊,这个时候。啊。
各种各样的这种实际的问题哈,还是那样,你怎么去解释这个模型才是最大的一个挑战,最后的上线实施。那么嗯刚才所说了啊,阶段有阶段性的工作,工作每一个阶段都有它的输入和输出,形成文档化。我一提到这个地方。
有的时候可能很多的这个年轻的同事哈,就就就就皱眉头是吧?啊,又是让我写文档。是这样啊,同学们不是说就还是那这是个工程上的事,这其实已经不是个技术上的事儿了。
我一我一直是希望能够啊年轻的同事们能够快速的认识到这个问题啊,不是个纯技术上的事,因为纯技术上或者纯问题的解决。有同学我你给我数据,我给你构建模型就完了,这是我的活就干完了。是可能是你的活干完了。
但是给大家说整个项目的活谁干,我整个项目的需求怎么去解决啊,你的活你你是能够理解别人能不能理解,就项目组里面的其他同事能不能理解项目组外的利益,相关方能不能理解这个可能是更大的问题。
那怎么让别人理解文档化啊,在需求理解在商业理解部分啊,把各种各样的问题明确下来啊,需求固定下来,让甲方能够理解签字确认,有同说啊一看见你就没干过项目,甲方签字字了说不算不就不算嘛?是啊。
但是你可以作为后面讨价还价。😊,大的一个依据对吧?甲方主任,你看这是我们开需求调研会的时候啊,对吧?列如三个需求ABC我们当时觉得也没问题啊,但是咱们也确认了,你还签了字是吧?
现在又提出了DEF3个需求,我们确实是能力有限,达不到,对吧?这你讨价还价的一个依据呢,不是说不让不是说不改,肯定甲方需求提出来了,你能不改吗?改没问题啊,你看是不是费用上我们调整调整是吧。
是不是时间上我们调整调整。这都是沟通上的一些依据。那有方说你这一开始就说你这东西假如签了字和不签没问题是啊,但是你总手上有东西了,对吧?啊,这是业务理解。那么数据理解部分,各种各样的数据报告。
刚才已经说了啊,特别是在数据理解部分。数据报告完成以后,一定要和甲方进行确认啊,开个项目项目阶段的一个数据分析会是吧?现在业务系统里面,我分析了三个业务系统,这三个业务系统里面有有4个库。
四个库里边有20张表,每个表是什么样的,数据质量是怎么样的。甲方我们的业务专家对。😊,对他的一个解释说明情况是怎么样的,数据质量啊,让甲方也心里有个数啊,后面还是那个问题,他。
自己的对自己的数据的情况还能没数吗?但是。把它表面化啊,让大家有一个沟通的一个渠道。那后面关于数据准备和建模,我觉得这个啊这个我觉得是咱们自己的事情是吧?各种各样的参数调优,把这个形成文档化的一个结果。
就是使甲方能够认识到,我们工作了,并且有成果啊,开后面的项目评审会的时候,把这些东西作为文档的东西拿出来,对吧?我们基于什么样的数据构建了哪些模型得到了哪些结果,基于这些结果的分析,我们做了哪些调参。
调餐的结果是啊我们我们构建了8个模型,这个8个模型通过调参比较之后,我们最后生成三个这三个模型,两个可解释,一个不能解,不太好解释,我给你分别解释一下。你看看咱能接受哪个模型。
最后说哎这三个模型两个解释不了,接受不了,就一个可以解释。那O就是你的结论性的东西嘛。所以说还是两个文档化。另外一个是评评估开评审会。给大家说一下,在评审会的时候谁做决策,当然是甲方领导做决策。
还是那个问题。你要做的工作核心对象是谁?甲方领导吗?你向甲方领导解释,你构建了什么决策书模型,疯了,你给他讲那个那那是谁?😊,不要忘了,刚才说过,甲方那里也有所有的业务专家是吧。
一定是向他进行充分的交流沟通,使他能够理解咱们的工作。让他去说服领导拍板说哎,这个事情可以,那OK没问题了吧。哪怕你最后就部署实施阶段,那是开发的工作,那个也不是太大的重点,好吧。嗯,文档化哈。
那么一些常见的业务问题啊,你就是说经常会提出一些问题,你你你得很好的能够把甲方的甲方提出来的需求映射到。这些里面去啊,这样的话我们解决起来应该问题就不是特别大了。比如说一类问题啊。
这个数据描述或者数据总结。什么意思呢?就是使用基本的统计方法,对我们已有的数据啊进行一个描述。使用的基本的工具呢,比如说同比环比百分比啊,我总结就是3笔啊,同比环比百分比。
这是在大量的数据分析报告当中使用的基本的数据分析技巧。嗯,怎么说呢呃。很多的业务分析系项目啊很多的所谓的机器学习项目,甚至所谓的人工智能项目啊,最后停留的的结果就是提供一些数据的同比的分析,环比的分析。
百分比的分析。我就说是挂羊头卖狗肉啊,这东西。初中以上学历水平是不是就解决得了了?但是呢不得不承认还有很多的项目停留在这个阶段。但是呢另外一个一个一个一个角度去认识这个问题呢,就在于。
因为毕竟同比换比百分比是能够使得甲方理解和接受的一个结果,对吧?甚至有的时候你勾建的那个模型不能解释,甲方认识不到价值,那还不如同比换比百分比呢,是吧?同学们。
所以这个问题啊就是第一有一类问题就做数据描述和总结性问题。那么另外一点呢就是所谓的细分啊,这个所谓的细分呢嗯就是所谓的将数据啊划分为业务上相关的子类或者子集。这其实我们认为它是个所谓的聚类问题。
或者一个聚类分析,这个所谓的细分问题和下面的分类问题啊,是经常甲方会自己搞不清楚的问题啊,嗯,比如说电信那边它就有一个问题,对我们的用户进行分类啊,如果弄不清楚的时候啊,分类问题啊。
按照我们的分类模型构建,就会碰到刚才那个同学碰到的哎,没标签啊,我怎么做分类,但是你会发现这是个分类问题吗?甲方提出来的分类,但是我们能够正应该能够正确的映射成这不是个分类问题,这是个聚类问题。
至于他已有的用户的行为的一个聚类分成了若干个类别。甲方不懂所谓的聚类,它它就是个分类,对吧?这就是刚才所说的,甲方的视角和。业务模型域的问题,你需要在充分的理解业务问题的基础上。
把它能够正确的抽象成我们的技术问题。你会发现这个时候你的价值就体现在okK这不是个分类问题,这其实是个聚类问题。那后面我给我的小伙伴说的时候,哎,我们使用的是所谓的聚类模型。那后面什么普聚类啊。
什么层次聚类啊,什么最简单的com是吧?这个时候。各种各样的具例方法,那就不是问题了。所以说啊这个很重要。另外一个预测问题就是回归问题了,是吧?你对业务发展的一个预测,对吧?对天气预报的一个预测。
这都是回归嘛,你可以用都用大量的这种回归模型可以做。啊,依赖性分析。这个时候呢就所谓的关联规则。这个地方刚才也给大家说了啊,这个这类模型呢一般是在机器学习书里面是没讲到的。
其实我也非常建议同学们能够找一本数据挖掘书啊,数据挖掘的书把其中的所谓的关联规则这一章能够单独的看一下,其实也是非常有用的。特别是。😊,你像做推荐的同学啊,当然现在这种推荐模型也很多啊。
基于深度学习的推荐模型。但是它的根儿其实是在关联规则上啊,怎么建立频繁相机,其实有有的时候还是有一定作用的。另外一个就是概念描述,特别是构建这种决对数模型,对我们的每一个呃规则进行一个描述。
也是非常重要的内容。但是不管怎么样啊,大体上大体上是能够把我们的业务场景当中所所有的问题,能够映射成我们的技术侧问题,大概是这些找到找到不同的模型进行解决也就可以了。好吧。😊,嗯。
以上吧以上是我们对整个的二DM的一个简单的流程分析,以及各个阶段的主要内容。还有呢就是我们的业务问题的一个抽象以及文档的一个生成啊,这是我们今天的第二大内容吧,看看有什么问题吧。
Okay。嗯,我看看。别人觉得需求只改了一点点,但这边实际情况可能从底层架构就全部改,互相不能理解,对吧?那不理解也太正常了,甲方管你什么。底层架构改不改?但是你这个的时候你就需要。
让他能够认识到怎么认识到,那就做工作呗,请客吃饭是一个对吧?你不断的。嗯,你的态度怎么样,是不是你让他能够信任你,能够理解你。这个有的时候是原则方向性的,具体实施起来只能是因人而异了,是吧?
数据中台啊嗯这个话题我很少讨论啊,就因为数据中台可能更多的我不太好判断,因为我确实不是这方面的一些工作,确实没有做,所以我不太好说,好吧。呃,这个PPT看情况吧,然后这个能不能放到群里去和大家分享一下。
我不听我不听,我就要分类,不能用局里,不用分类就终止合同,那就是分类啊。嗯你什么聚类,我觉得这个聚类这个词就不应该给甲方说,能明白什么意思吗?在甲方和甲方沟通的时候,那就是分类,就是把他的用户进行分类。
只是你自己清晰的知道这在技术测是个聚类问题,使用的是聚类方法。你是啊这个。还是那个问题啊,你根本就不应该向甲方去说什么所谓的分类。但是这个意识和这根弦儿你自己要清楚。在甲方沟通完成以后。
回到组里面和咱们的。算法应用工程师沟通的时候,你知道这是个聚类问题,能明白什么意思吗?就在甲方那里就特别是这样,甲方跟本说什么什么聚类,什么分类不懂啊,确实是不懂,人家应该懂吗?
人家人家没有义务去懂我觉得是个是讲理,对吧?什么什么聚类分类,你们的问题,我就要分类,我就要把我的用户进行分类。😡,所以说你看这就是这就是刚才我们所说的怎么去。使甲方。认识到你的工作。
这个时候一定不是把责任放到甲方那里,对吧?而是你的态度做一个转变。嗯,就是分类好吧。嗯,其实是大多数互联网公司开放项目的一个普遍过程。对,因为是这样啊,就是嗯本身这个过程就是这个流程就是具有普遍意义的。
所以。在。上个世纪90年代才被分析出来嘛,就它内部逻辑是有价值的。只不过呢就是这个内部的逻辑,在不同的项目当中的实施里面。有些项目可能符合了这个内部逻辑,有些项目可能没有符合这个内部逻辑。
我觉得这不冲突,也不矛盾。比如说。就像。各自有各自的进化途径一样,对吧?可能几十年以前已经有项目进化到这个阶段了,可能有些最近的项目才开始向前进化。
可能有些像互联网公司的项目也已经开始已经完成了这个进化过程。对吧所以说我觉得今天这个内容呢可能是一个具有一定普遍或者通用价值的内容。所以才和大家有一个分享。这不妨碍啊。
它到底是不是在呃哪些领域或者哪些公司当中使用过,我觉得这不冲突和矛盾,对吧?
ok那下面呢。嗯。OK那举一个例子吧,就是之前做的一个项目和大家分析一下吧。OK就是嗯一个延伸期降水的一个项目啊,你你不需要对业务有个理解,我只说明一下,你看什么是延伸期降水。
我也当时也是第一次听说这么一个概念,那怎么办?没什么办法啊,到人家甲方的图书馆啊,接上几本专注啊,好好的花上时间去学习请教啊,这个时候你就向业务专家请教,向书本请教。
你最后才搞懂了什么叫做什么什么他妈的叫延伸期降水,对吧?知道了这个问题以后,你才能从大量的论文里面找到一个就这么个东西啊,别人已经做完了一个工作啊,你对这个工作的分析之后。😊。
你发现O还是还是有可改进的啊。这个你分析完了结果,你会发现嗯整个的项目是在江南啊江南省份在气象台站上啊做了一个延伸期降水的预报工作,它构建的模型呢,就是所谓的基于主成分分析的啊。
基于主成分分析的一个多元实质回归模型啊,通过这个阶段这个问题,你会发现O这已经到了我们这个啊可以理解的范围当中了,是吧?主成分析降维完成以后,构建一个多元实质线性回归模型。
其实最本质的啊实质线性回归还就是个回归。你不管你实质不实质,你反正就是个回归模型,而且是个线性回归模型。前面加上个实质,只不过是做了一个周期性的一个岩时。但是你会发现O。😊,做一个线性回归模型。
降降维就能发论文啊。我觉得这时候你对业务有一个有一个相对比较成熟的认识了,是吧?最后看结果啊,结果也好不到哪儿去。所以这个时候发现O那我们用一些非线性的更高拟合能力的模型。
是不是也可以作为当前问题的解决的模型之一啊,你心里不就有数了吗?换模型呗,说实在的,你陷性回归模型,这对咱来说还是是么,是吧?再往后啊,其实我们做了几个问题梳解啊,分析啊。
第一个多线性回归模型的拟合能力,非线性拟合能力将对比较低。因为它本身就是线性模型嘛。第二个它采用的还是主点预报,并没有你和所谓的空间特征。第三个呢就是只使用到了850百万的基面镜象风作为一个主成分特征。
其他的特征有很多,它没用到。那这样的话,解决方案就出来了。第一个我用1个RSSTM,对吧?这个东西我很很很正常嘛?我用1个循环神经网络做时间特征维度的提取。另外一个我是不是可以使用所谓的卷积操作。
把空间特征提取出来。那第三个我综合多个气象特征。😊,对于我们来说,神经网络里面的各个特征越多。那还是是问题嘛,对吧?那可能之前。这三个不足对我们来说,这不技术方案就有了嘛?用循环网络提取时间特征。
用CNN提取空间特征用。申经网络提取整个的多维特征。那后面的工作就是数据数据准备嘛。就业务理解完了以后,对业务有了理解以后,你大体上有了一个判断,对吧?有了有了对业务的理解,发现哎。
这个问题的解决是有可改进的地方了,那你的业务解决方案不就出来了吗。那么对数据的理解。那当时我们对整个的这个省份的气象站进行了个打点。打点发现以后,哎,它的站点的分布还是相对比较有规律性的对吧?
空间分布特征还是比较均匀的那也就为我们后面。😊,进行这个空间特征提取带来了一定的准备。那对数据的情况的准备。除了刚才我们所说的,用了空间特征时间特征之外,还有们一些其他的数据特征。
对业务系统里面的数据的分析发现,还有很多的业务特征。这些业务特征在之前的工作当中是没有使用到的那我们就拿出来用嘛,这对我们说技术上还不是问题了,是吧?那后面反而下了第嘎。卷积网络提取空间特征。第二个。
使用循环网络提取时间特征。第三个,融合综合的气象特征,构建全链接的神经网络,最后多模性的进行一个学习融合。第4个进行一个已构计算。那我们我们的技术方案啊。
就是刚才所说的打点完了以后的这个气象台站进行一个山格化,山格化之后进行一个。因为有了山格化以后,其实就是有了经纬度了嘛,就是根着经纬度进行山格化嘛。山格化以后,其实我们不就把想就把它想象成一张图片。
对吧?有了图片CN上做特征空间特征提取不就完了嘛。所以说你会发现我们第一步哈做的是空间维度上的特征提取。由CN嘛,然后呢,有了CN特征提取完成以后,剩下的就是RN的一个时间维度上特征提取。
当然这时候我们可以做空间时间上的一个维度上的切片。比如说近期的中期的和远期的。因为我们分析下这个这个降水其实还是有包括就是近期规律就是你今天如果下雨了,你明天下雨的概率其实还是蛮高的对吧?
降水也是个过程嘛,周期性的可能比如说以周为力度的啊,后面趋势的,比如说以以季为力度的。你们有些降雨季,它可能下降水的概率有很多呃,旱季可能降水的概率就相对比较少,对吧?
所以我们会发现在不同的时间尺度上进行一个切片,然后训练不同的模型。这后面我们再做一个呃这个特征融合,那再往后呢就是这样,刚才所说的嘛,就外部特征,我们扔到一个全链接里面去。
这样的话四个模型一块训练最终我们做一个其实还是做了一个加线平均,对吧?从不同的模型上提出不同提取出不同的数据来,最后做一个融合后面的这个。损失定义其实就是回归问题嘛,然后做不断的迭代循环嗯。模型出来了。
然后最后面我们还是有点设计的,当时是。项目里面我们其实就用了刀cker做了一个就是云化。然后不同的刀块当中跑不同的这个呃,因为我们是四个模型嘛,然后跑不同的模型,最后做了一个模型融合。
最后我们的方案出来以后,其实还是那样,就是我们把这个方案。呃,向我们的甲方的业务专家进行充分的沟通,获取到认可以后,虽然我们的结果不不是特别好啊,但是业务专家认为按照这个思路去做啊。
一定会今后对我们的业务问题的解决有很大的帮助的。那这个时候开项目评审会,基本上就是业务专家再向他们的领导做工作汇报。我们基本上就辅助支撑一下就可以了。对吧?
这个时候才能达到我们去解决这个业务问题的一个目的。好吧,这是我们之前做的一个工作的一个一个一个回顾吧。算是啊像这种问题呢,其实也是你做你只有一个个的去做啊,最后才能解才能起到这个解决问题的一个目的。
那么今天啊今天我们就再简单回顾一下,就是还是一样,希望能够。
根据之前的工作的一些情况呢,嗯总结出一个方法论啊,虽然不成熟啊,虽然不成熟,也是希望就是大家呢如够结合着自己的实际工作经验啊,总结成自己的一套方法。当然就刚才那个。这DM呢也是有有不同的意见是吧?
那还是还是有很多改进的地方。首先是我们是项目项目器学习项目的一个定义啊,还是那样不要把自己。
嗯,定义的多么的高啊,一定要低调啊,这个时候。越高越危险啊。另外呢是两个问题域的映射,现在是所谓的符合人才的一个需求啊,就是项目经理或者产品经理这个定位,也是希望同学们能够有一个快速的一个演进。
另外一个就是甲方乙方的这个人员哈有其实还是挺复杂的,不管是你项目组类面,还是项目组和甲方的这种关系,一定。找好了自己的定位,把自己的工作完成以后,试着能够协调。比如横向在项目组里面的协调。
纵向在项目组里面协调,跨项目组的工作协调,这都是非常有意义的事情啊,千万不要说我就管我那一摊啊,我就管我这自己的事,干完了我就不管了,一瞪员嗯什么也不管。嗯,也不是不行,对吧?个人有个人的这种这种取舍。
但是呢我觉着。嗯,还是有更多有价值的事情可以做。另外一个就是关于整个的风行论。当然这只是一个可借鉴的模型之一,你可以在实际工作当中,对整个的模型的各个步骤进行不断的协调改进,对吧?这都是很正常的。
但是不管怎么样,我觉得整个的模型在逻辑上还是没有问题的对吧?商务商业理解、数据理解数据准备建模评价部署实施。当然,中间的呃回还和迭代还是非常重要的。基于数据本身的价值规律挖掘。
每一个过程哈都有每一个过程的侧重点,以及每一个过程都会形成自己的项目文档啊,把业务问题进行准确的抽象,在基础侧找到相应问题的解决啊,后面举了个简单的例子吧。
O。😊,那今天的主要内容呢大约okK嗯。也就是这么多内容。当然嗯这些内容啊是个人的一些总结,肯定会有嗯。嗯,不对的地方啊,实实事求是说是这样,就是肯定会有甚至是错误的地方。
也希望能够大家呢就是批评指正吧。好吧,我看看有什么问题吗?这个做算法有职业发展的凭颈吗?收您我还是那样,就是呃一方面如果是。你从年龄这个角度上说的话,我觉得还是一方面你可以进化成所谓的数据科学家,对吧?
是在建模整个的。这个决策上能够有一个。高建立的认识。比如说这个问题抽象出来以后,那你的判断比如说是个。嗯,是个什么样的模型可能更好的去解决。当然这个东西所谓的好和不好,这完全就是个人经验了,对吧?
在有限的资源下,比如说你后面的算法工程师有3个人,那你判断三个业务模型和三个算法模型都可以很好的解决问题。但是哪一个你不能确定,那好了,你就是三个一人一个嘛。如果你觉得有一个挺好,那怎么去协调这些资源。
我觉得这个时候数据科学家对内是需要。把你的这种技术设想能够落地实施的这么一个角色。另外一个角色就在于以你作为一个技术专家的一个背景,向甲方去解释你的工作价值,这可能也是数据科学家需要做的工作。
因为你你你指望项目经理去做。有的时候首先项目经理不一定hold得住啊,他的技术背景和技术能力不一定被认可啊,这个时候你还是需要呃数据科学家做一些工作。当然这个时候就一方面要么你的你需要有些title。
或者有一些说到出出去的东西,对吧?要么你在哪个大厂里面做过多少年的业务分析,对吧?要么你是个某一个方向的什么什么专家是吧?这个时候甲方才认可你的结论啊,才能接受你的结论,这是一方面吧。
另外一方面呢就是做管理嘛,做项目管理,对吧?在整个项目组当中起到一个领导和协调的一个角色,并且呢向甲方进行一个。沟通啊,这个我觉得还是就是职业发展,特别是随着年龄的增加哈。
可能会不断的希望能够往不同的方向发展。其实还是两个条路,一条是做业务专家,一条是做就是一一条是做技术专家,一条是做管理专家嘛。嗯。对啊,基础就是协助,就是支撑,就是辅助,千万不要把自己抬的太高。
之前说句不好听了。有的时候有一个项目前期做销售的同学在沟通,做销售啊,大家都都懂是吧?那嘴去了以后就说我们这个模型部署上线以后啊,咱们所有的这个业务专家都就都可以回家下下岗了,我扯嘛。
你这你后面把你这话一说一表态,你后面的工作怎么做,我去了以后。花了多大的成本才把这个事情能够啊啊等能说扭转吧,至少是一定程度上减弱这个糟糕的影响。你去之前,你说你哦,你一来我就回家了,那你还来干啥?
你先走的是你对吧?滚蛋的是你,所以一定把自己这个放的低调一点,好吧。嗯。Yeah。数学差怎么办?这个我觉得是这样,就是怎么说呢?😊,嗯。补吧,数学差,谁谁天生数学也不好,对吧?你你。😡,学嘛。
这还有什么问题吗?嗯, ok 。嗯。好吧,今天我们也大约是从嗯8点钟开始,我们正好用了一个半小时的时间。嗯。我们就暂时和同学们交流到这儿,好吧,当然还有很多的内容啊。
也不是说一个半小时就能充分的沟通的了的。嗯,看情况吧嗯。那这样今天也非常感谢同学们能够抽出时间来和一块儿和大家也是学习一下。好吧?有什么问题的话,我们可以在群里也可以讨论一下好吗?OK啊。
也谢谢各位同学们。那这样的话我们再见,好吧。😊。
人工智能—机器学习公开课(七月在线出品) - P12:机器学习中的贝叶斯方法——以曲线拟合为例 - 七月在线-julyedu - BV1W5411n7fg
🎼。OK嗯,按照我们之前的这个安排啊,今天晚上呃抽一时间和大家一块儿去学习一下机器学习当中的BS方法。那我们呢以这个曲线拟合的这个。
例子啊介绍一下怎么样把概率里面非常重要的BS方法能够引入到我们机器学习领域。那么先讲一下这个目的啊,就是为什么要讲这个题目。首先第一个嗯原因呢就是因为以这个列字方法为代表的概率方法。其实在机器学习领域。
本身就占有着非常重要的一个地位。举一个例子,可能大家也都比较熟悉,像朴素贝尔斯模型。本身就是直接引自BS定理啊,这个应该大家都很熟悉。其实更重要的是,像尼马尔可夫模型。像条件随机场模型。
这种在传统的机器学习领域啊一直是起着非常重要作用的模型。其方法本身的原理也是基于概率的BS方法。啊,也就是说在机器学习领域里面一大类都是使用的概率方法来构建我们的模型。
所以呢今天啊和大家聊一下这个嗯概率概率方面的方法,这是一个原因。那第二个原因呢是从应用的角度上去说明。因为我们现在呃随着技术的发展越来越成熟,模型的使用,特别是结合着业务问题的使用,越来越紧密。
这个时候其实我们碰到一个非常重要的问题,就是关于模型的可解释性。也就是说,当我们基于数据构建出一个预测模型以后,当我们使用这个预测模型得到一个结果的时候。
我们需要让我们的业务专家或者使用方能够接受这个结果。而在这个时候,传统的机器学习模型给出的结果往往是一个确切的结论啊,ys no啊,数值的话是几几点几。这个时候对于。结果的解释是非常嗯。生硬的啊。
或者说是非常机械的,或者说是嗯。非常非常精准。当然这个精准在这个时候好像显得不那么的合适。因为毕竟我们做的是一个预测性工作,对吧?所以这个时候如果我们能在模型的结论上加上一个概率性的解释。
对我们的模型的接受和使用是带来很大帮助的。举一个例子,比如说我们在医疗行业。对吧当我们做出了一个。疾病的判断的时候。
非概率模型给出的就是yes or no的结论和这个人患病或者这个人不患病的一个精准的结论。但是你会发现呃再精确的模型,我们也知道它也是可能会出现偏差的。那么在如此关乎到呃生命健康的重要的领域当中。
很显然这个结论就不是那么的合适。如果这个时候我们在结论的基础上给出这个结论的一个概率描述,比如说在85%的概率上啊,这个病人是患病的啊,这个人是患病的。那么还有25%、15%可能是健康的。
所以这个时候对于呃业务领域来说,接受这个结论的可能性就会更大。对我们做这个工作嗯,也留有很大的余地。也就是说在应用的过程当中啊,概率模型也是非常能够被各方面所接受的一个模型。所以这是从两个方面。
一个方面是从经济学习模型领域本身的发展啊,它具有占有非常重要的一席之地。第二个就是在我们实际应用过程当中,也是在这里给大家报告一下。特别推荐使用这类带有概率结果的模型,这两个方面。
其实还有更重要的第三个方面在于,随着。经济学习的发展,特别是深度学习。方面的工作越来越突出。这个时候。一个非常重要的嗯,可能会取得非常大进展的一个方向,就是将我们的概率工作概率。
方法和我们的深度学习方法进行一个融合啊,这方面的工作啊其实已经越来越多的被呃注重啊,也可能会取得越来越重要的成果啊,因为深度学习本身可能就是一个很新的方向,是吧?嗯。
还没有太多的啊考虑到和这种概率方法之间的融合。那么这就是我们在这方面可能会取得很好工作结果的一个机会啊,所以基于以上三点吧,第一个就是模型本身很重要。第二个就是应用场景很重要。
第三个就是和深度学习的结合可能会取得非常好的成果。所以基于以上几个方面啊,今天呢和大家。讲一下,那么通过一个例子啊,就是通过一个曲线,你和这个例子看一下怎么样能够在传统的机器学习方法本身。
将我们的呃AS方法啊或者概率方法能够进行一个结合和融合啊,对于我们今后啊特别是在深度学习方向上对于一些各种各样的神经模型啊,其实都可以做这种类似的一些工作啊,把它们进行一个概率化啊。
这也是很重要的一个方向。那么主要分为这个几个方面啊。第一个方面呢就是介绍一下概率的基本规则,以及这个BS定理。嗯,在很长一段时间哈,这个有些同学问我,就是概率模型。
特别是一些复杂模型的推论非常非常的复杂,也不能非常复杂吧,就是呃冗长啊,证明过程非常的冗长,嗯,有的时候就会没有一个。信心对吧?其实呢在我看来,呃,你只要抓住它的最本质的地方,就是它的一个基本定理。
整个的其实呃现代数学的是一套公理体系,对吧?其实公理本身就那么几条啊,你掌握它的含义,其实就可以自己构建整个的理论体系的架构,而在概率方面其实就是两条定理啊,一个是加法定理,一个是乘法规则,对吧?
掌握这条后,这两条规则以后,再复杂的模型,即使诸如复杂项HMMCRF对吧?他们也是在反复的不断的使用这两条定理。所以说一开始呢我今天和大家聊一下,就它的基本规则,把这个认识越来越深刻,对后面的工作。
你才会觉得啊无非就是什么几条公理使过来呃,换过来使不去,对吧?这是第一个第一部分,那么第二部分呢介绍一下这个多项式曲线拟合的机济学习方法啊,这个不是重点。我我也相信啊很多同学对这个都已经很好的。找过了。
比如说结构风险最角化是吧?经验风险最角化。那么呢讲第二介绍第二部分分的目的在于看一下。我们怎么样把我们在第一部分当中的基本概念和基本定理结合着。多项式曲线拟和这么一个题目改造成我们的BS方法。
那么在改造的过程当中,你会提你能会能感感受得到。在保留着原来的机器学习模型本身的特点的基础上。呃,附加了贝尔斯方法以后,它会得来一些更优的一些特性。而这些更优的特性为我们啊模型的解释。
模型的推广带来了很大的一些功呃这个便利。那么最后呢结合这个例子给它代码化一下啊,就是这么准备了这么四个方面啊,参考资料呢先说明一下,今天的主要内容主要参考的就是PRML。그。
我相信哈可能大家也都比较熟悉了是吧?模式识别和机器学习啊,非常有名的一本书。在这个地方呢也给大家说明一下PRM这本书呢。整本书都是用BS斯定理去解释和说明机器学习模型。所以在读起来的时候啊。
很多同学都反馈这本书读不大懂,或者读起来有困难,其原因就在这个地方,它和大多数机器学习教材不同之处,就在于它几乎用BS斯方法,重构了整个的计算呃机器学习领域。
所以如果你不能够掌握B这种啊以概率的角度去重新认识机器学习方面的这种。呃,学习的这种经历的时候,直接去读这本书,其实非常困难啊。在此呢也给大家提个醒。那么结合这个例子吧啊结合这个例子吧。
我们感受一下BS方法和传统机器学习之间的一个关联性。好吧啊,拍个头这个内容啊,关于这部分看看有什么问题问大家。OK那咱们继续啊。对好,那我们就继续开始。那么首先第一部分呢,就像刚才我们所说的呃。
介绍一下概率的基本规则与贝S斯定理。啊,其实贝S斯定理呢一会儿我们会看到,直接就是通过我们的概率基本规则所以直接推导得到的概率的基本规则呢,一共就两条,刚才也介绍了一条叫做加法规则,一条叫做乘法规则。
好者叫个乘积规则都无所谓啊。首先我们看第一条啊叫做PX加法规则啊,加法PX等于西格马YPXY呃。关于这条规则的证明哈,通过引入集合,对吧?我们可以通过交集和并级的引入可以进行一个证明。啊。
在此呢我不想把它的证明展开,我只是想通过这条规则本身哈给大家做一个介绍啊,就它的证明有有兴趣的同学可以。看一下这个证明过程,你怎么去看看这条规则,或者说你怎么今后基于复杂的呃概率模型。
你怎么去读它的含义。首学规则其实有的时候就是一条公式,但是公式本身所蕴含的规律,是通过这些符号能够表示,必须要表示出来的啊,这个希望还能够有一个认识。首先我们看一下这个这个等号啊。
说的是左边等于右边是吧?那左边是个什么东西,是PX它说的是随机变量X的概率值啊,或者是随机变量X的概率分布啊,那这个时候呢我们把这个东西啊,就是看到一个数学符号。
你把它的含义能够想清楚它就是随机变量X取到某一个特定值的时候的概率。那么呢我们再给它起另外一个名额啊,这个时候把PX这个边缘分布。这个边缘分布为什么起这个名呢?有兴趣的同学也可以看一下。但是不管怎么样。
就是关于一个随机变量的呃概率分布,我们把它称之为是边缘分布。那么它是这是左边啊,这负这是等号的左边,看一下等号的右边,等号的右边呢,你会发现PXY我们知道这是个联合分布是吧?PXY啊PXY是个联合分布。
既然是个联合分布,那么它就有两个随机变量,一个X一个Y,换句话说,加法规则建立的是一个随机变量X的边缘分布和两个随机变量XY的联合分布之间的关系啊,这就是这条加法规则本身的含义。它再重复一遍。
它建立的是一个随机变量和两个随机变量之间的概率分布之间的关联。那么原来本身只有一个随机变量X,现在有两个随机变量的联合分布PXY那这个时候很显然它们是不相等的对吧?很显然,单独的一个随机变量。
你这不是两个随机变量的联合分布,很显然是不相等。那怎么样才能让它相等。那么很显然就在于我只需要使其中的一个。随机变量不起作用就可以了。那么怎么样才不起作用?那其实我们可以这样理解。
当其中的在联合概率XY当中,其中的一个随机变量。当取到所有的可能取值的时候,我们知道你可以这样想,我们知道呃。随机变量的概率和是一对吧?换句话说。
当我把其中的一个随据变量所有的可能取值都取掉的时候进行一个累加。那么它在联合。分布当中的作用就不再起到了。也就是说联合概率,当其中的一个随机变量取到所有取值可能的时候,它就退化成了一个边缘概率,对吧?
通过这个认识呢,你会发现通过22。刚才所说过,其中的一个随机变量所有的情况都取道,并且进行了累加。两个随机变量就的联合概率就退换成一个随机变量的边缘分布。那这个时候你会发现,通过加法规则的含义啊。
就是加法规则本身的含义建立的是一个随机变量和两个随机变量的联合概率之间的这种关联关系啊,就是这么就是这样的一个意思。好吧,那我们看看乘绩规则啊,乘绩规则说的是这样。
乘绩规则说的是本身是PXY是两个随机变量的联合概率。然后呢,它等于P在X条件之下Y的概率。我们把这个东西就是称之为条件概率。或者条件分布是吧?然后呢,PX刚才说了是边缘边缘分布是吧,边缘分布。
那联合概率呢?两个随机变量的联合概率可以拆成条件概率和边缘概率的乘积的形式。换句话说。等号的左边是两个随机变路的联合。本来是XY的概率,然后呢,它可以拆成两部分,哪两部分呢?一个是条件。
谁的条件在已知X之下的Y的概率乘以PX的概率。其实你感感受一下,其实也是蛮有道理的。什么道理呢?两个两个随机变量,我对它的。认识是不清楚的对吧?它可以取任意的值XY也可以取任意的值。
那这个时候我能把它拆成两步去做哪两步呢?就是当固定一个随移变量X以后,或者说我认为它已知的情况下,PY的概率。那很显然这两部分是不相等的。本来所为XY我都不知。现在呢你知道了X,然后Y的概率。
很显然不相等,那怎么相等,再把另外一个变量X的概率值乘进去,就保证了有这个条件概率乘以边缘概率的结果等于两个随移变量的联合概率。那你会发现乘积规则建立的是联合概率和条件概率和边缘概率之间的关系。
而加法规则建立的是边缘概率和联合概率之间的关系。那后面啊就是这个或者说你死记硬背,你要把它记住,那用怎么用,对吧?我们记规则不是为了记规则,而是为了用规则,那怎么用?
那剩下的工作就是当啊你想把一个边缘概率,就是PX或者说PACPD是吧?一个关于一个变量的概率。你觉得它不好用的时候,你完全可以把它拆开,怎么拆,拆成联合概率的累加的形式,这是一种方式是吧?那么进进而啊。
你会发现既然是联合概率。进而我可以用乘积规则,再把它拆成边缘概率和条件概率的乘积的形式。这是一一个方向,就是拆开。另外一个使用呢就是合并什么合并呢?当你看到若干个概率的累加的时候。
你看一下是不是可以通过对吧?通过一个随机变量,是不是它的值全取到了,把它还原回一个随机变量的。边缘概率的形式。同样的道理。所以说啊这两条规则啊。这两道规则。反复的使用就可以推断出呃非常非常复杂的模型啊。
这是关于这个加法规则和乘法规则。后面我们也是这样来用。最直接的一个使用啊,就是它可以直接退出贝尔斯定理。啊,直接推导出BS定理,我们看看怎么用啊,是这么说的。😊,有乘绩规则啊,就是成绩规则,就这条规则。
有成绩规则。然后呢,以及对称性。什么叫对称性呢?是PXY等于PYX。你细心的同学可能看到了PXY等于PX已知的情况下,Y的条件概率乘以PX。那么同样PXY呢是符合这种对称性的。换句话说。
我们换换一个这个称为我们说它符合交换率交换率,就是PXY等于PYX嘛。换句话说,在联合概率上XY是没有顺序的是吧?X在前Y的钱是一样的。那既然这样。
我除了可以把它写成X条件之下的Y的条件概率乘以PX的形式。那么同样我还可以把它写成。PXY等于P在已知Y条件之下,X的条。边缘概率呃条件概率乘以PY的形式。啊,这就是有成绩规则以及它的对称性。
我们可以得到这两个式子。这两个式子我们知道左边是相等的,那么右边那肯定也是相等的那换句话说,右边这两个乘两组乘积PX条件之下,Y的条件概率乘以PX就等于PY条件之下X的条件概率乘以PY,这是显而易见的。
那么这个时候就有个很好的问题哈,就是既然左边等于右边,对吧?既然这两个式子相等,那么很显然我可以通过等式的。不断的这种。交换对吧?不断的替换,可以在得到很多的。等式。因为可以把PX除过去是吧?
把PPXY的条件概率除过去或者怎么样,可以得到很多的。等式。那这个时候就有一个问题,为什么BS定理得到下面这个式子。很多的时候啊给大家说一下,当们看到BS定理的时候,除了这种描述之外。
因为这里的XY没有任何的怎么说,没有任何的呃约束。所以有的时候的BS定理用XY来表示,而是用AB。给大家说一下啊,但凡是看到这个时候啊,你一定试着把它换成XY的符号的形式,就做个符号替换就可以了。
为什么这么说呢?因为一旦你把它退化成AB的表示形式,你就更不知道AB到底在讲什么了。嗯,为什么要这么说呢?看下面啊就是说。为什么一定要得到下面这个用XY的表示的形式。
或者说这个形式对你来说是一种更容易理解的形式。我们先看一下左边啊,我们先看一下等号左边这个式,这个式子说的是什么?是在四个式四个子表达式当中的一个哪个是这个P在已知X条件之下,Y的条件概率。
我们把PX可以除过去,因为这是个等式是吧?除过去作为分母,作为右边那个式子分母,就直接得到下面这个式子。这个式子很显然是个贝S斯定理的一个公式。那这个式子到底在。再说一些什么内容啊。
这个我觉得才是最重要的。当然,BS定理从纯数学的角度上去讲的话,它就是一个定理。就是我就得到的是一个条件概率,在X已知。条件之下,Y的条件概率等于右边这一坨是吧?这个时候啊嗯。在初学的时候。
特别是很多的同学就说哎这个定理我我记住了啊,怎么背我也背住了啊,还是那个问题,怎么用是吧?我们问题不是为了背公式,我这是怎么用的那这个时候啊对于我们来说。
我们就需要结合着我们的在机器学习领域当中怎么去使用这个公式去做一些描述,怎么使用,看一下等式左边这个式子到底在讲什么。这个式子在说我已知X条件值下的一个Y的条件概率是吧?我已知了XY的一个概率值是多少。
然后它等于右边这一大坨,我们先不管它右边到底是等于多少。就这个式子本身给我们一个什么样的一个理解。呃,读过呃李航老师统计学习方法那本书的时候,的同学可能会直接有一个印象,或者直接有一个认识。
这其实就是我们所说的机济学习的模型。这被称之为是概率模型。当然还有一还有一类,我们称之为是函数模型。为什么可以把条件概率认为是模型?就在于当我们把这个X认为是输入数据的时候。
那么整个Y认为是相应的输出数据的时候,条件概率就变成了具有。我们积极学习领域含义的一个表达式,就在于当我已知了输入X以后的条件之下的输出Y的概率值,这不就是模型吗?我们的呃函数模型是一个很直接的模型。
给我一个X,我给你一个Y的值,对吧?通过F映射,我得到一个相对应的Y值。那么概率模型。同样你给我X以后,我虽然不是直接给出你的Y的值,我给出的你Y取到某一个随机变量值的时候的一个概率。
那么当我进行推断的时候,或者进行推理的时候,我当然是取取那个使这个概率最大的Y值,作为我的当前预测值,这是很自然的一个逻辑,那也达到了你给我一个X,我得到一个Y的目标,这就是模型嘛。
所以说BS定理当我们认识到了这个。形式的时候,你会发现哎它对我们来说是非常非常有价值和意义的。因为你给我一个X,我得到。Y的一个概率值就为我们构建出了一个非常。直接的一个模型的概念。
那么这个时候我们在讨论右边这个式子就很有意义了。就是说我左边反正是个模型,对吧?模型呢嗯具体怎么去计算,那么当然是通过右边来得到的。那么右边呢我们看一下。几部分、三部分,分别是PY。已知条件之下。
X的条件概率乘以PY,然后再比上1个PX。那么这几个符号和右边这个呃和左边这个符号怎怎么去一块儿去理解?通过我们左边的分析,我们知道P在X已知条件下,Y的条件概率是在X已知下Y的概率。所以我们。
把这一部分给他一个起个名字。叫个后延概率。后验概率什么叫后验概率?是已知X以后Y的概率就是后验后验概率。后验概率说的是已知X以后Y的概率。那么很显然,YPYPY是在未知X的时候。
或者说我什么都不知道的时候,Y的概率值。那么很显然,我们把可以结合着后验概率给它起一个名字,叫做。先验概率这个先和后说的是谁?是说的是X已知还是未知。如果X已知的条件之后。
那么Y的概率就是一个所谓的后验概率。如果X是之前或者是未知,我们把PY的概率称之为是先验概率。这两个如果能够认识以后呢,我们再回过头来看这个式子啊,就非常有意思了。我们先不管中间这个东西啊。
先不管这一部分。他说的是什么呃。😡,我们看一下啊,这两边。这个等号左右两边。PXY是X已知之下Y的概率。我们称之为是后验概率,我知道了XY的概率值PY呢是先验概率,我不知道X有没有X,我压根儿都不知道。
它是多少,我更不知道你会发现列斯定理所建立的关系在于我建立的一个关于X已知还是未知有没有X的一个关联性的问题。换句话说,右边告诉我们啊,右边告诉我们,我不知道X的时候的概率值。
和左边已知X以后的概率值是有一个数值上的相等的关系的。这个相等的关系在于什么呢?在于我乘以中间这一块。是这样吧,换句话说啊,你可以把这个BS定理啊认为是一个动态过程。什么叫动态过程?一开始的时候。
我对PY仅仅是知道它是等于PY。呃,我不知道X存在不存在。那这个时候通过右边的计算,我可以得到一个已知X以后Y的概率值。那大家想一下,换句话说,通过右边的计算,我得到了一个哎,有了一个已知量以后。
关于PY的未知量的概率。那大家想一想,我们是不是可以把这个后验概率,又重新作为一个新的显眼。重新计算新的X。对于PY的一个影响。那么同样这个过程就可以反复起来反复起来。
那么这个时候你就发现一开始的初始PY就可以通过这么一个动态的过程,不断的进行调整和优化,得到进一步的关于Y的一个更精确的一个结论。所以我们再看这两个是这两部分啊。
这两部分其中的PX它被称之为是证据因子或者叫做规划因子。换句话说,PX嘛,就是我知不知道X。所造成的影响对PY的一个影响。我知道。X那我得到的是PX已知之后,PY的值,我不知道X我就是一个PY。
所以它被称之为正据因子啊,有没有你这个证据来修正我PY的概率值。而上面这部分啊上面这部分我们称之为是自然函数。呃,关于自然函数哈,可能同学有的同学特别是。有学习的同学哈。
就有的时候哎经常在我们概率方法当中有最大自然是吧?很多的时候我们通过最大自然的这种策略去求到我们的模型,称每经常会碰到自然函数自然函数。这个时候我就会问一个同学,自然函数啊不是一个。一个一个一个怎么说。
没有先决条件的名称,它是谁是谁的自然函数,或者说它是谁的自然函数。你会发现啊自然函数一定是在BS定律当中PX呃PY已知条件之下X的函数或者是概率值。你注意啊,你一定要明确。后验给后验概率的形式以后。
它所对应的自然函数的形式。一会儿哈我们一会儿会特别是一会儿通过我们例子当中啊去看一下,即使是最大自然自然函数的定义,其实也是需要在BS定理当中,你明确的找到它们之间的对应关系。好吧。好了。
通过BS定理啊,想说明的一点是什么?就是我们需要建立的,其实是关于这个证据X。存在或者不存在是多少来动态修正。我PY概率值的这么一条公式。好吧,当然。啊,有的西说哎呀。
这个公式我在普苏毕斯里面就用过没那么复杂啊,是为什么呢?是因为普苏毕耶斯用的使用的模型使用的时候,其实呃是用它的最原始的一个就是最基础处的一种工作。就是我给你右边给我左边值。那这个时候没有问题啊。
也没问题。我就是通过右边的计算得到左边概率的情况啊,这也是一种使用方式,但是啊其实毕斯定理在后面我们使用过程当中,一个非常重要的使用过程,就是我们把它动态,让它能够不断的进行自我的一个修正过程,好吧。
继续往下哈,但后面这一点就是一个说明了。既然我们PX作为证据因子啊,PX啊,看上面有对吧?它有加法规则,但既然作为一个证据因子,我们可以通过加加法规则。
把它展成联合概率外取所有值的情况的一个累加和的形式。而我们得知道联合概率,又通过乘积规则展成条件概率和边缘概率乘积的形式。所以后所以通过这种替换,你会发现。BS定理更常见的一种形式是右边这个形式啊。
右边这个形式,这个形式完全是通过中间的这个形式再替换得到的。为什么要把它展开看一下两个目的啊,两个目的,我们再体会一下,为什么除了它叫证据因子以外,还叫做规划因子的一个原因就在于我们把它展开以后。
你会发现分子和分母部分啊,分子和分母部分,除了这个西格玛累加和之外是相同的。仔细看一下是吧,这是分子。换句话说,你把分子部分关于随机变量Y的所有情况进行累加以后,就是它的分母部分。所以说大家想一下啊。
是不是可以这么去考虑,既然分母是所有情况的一个累加,那么分子占所有情况的一个比例,就可以认为是这一部分,它占整个部分的一个。频率我们一般用频率。频率派的那个思维的话,这其实就是这个概率值嘛。
你看这是其中的一部分,这是整个所有的整体,你占所有整个整体的。部分的一个百分比就是它的一个概率值嘛。所以呢它被称之为是规划因子。为什么要规化因子呢?我们知道当你把这些所有的情况进行累下以后。
他们的概率值一定是等于多少?一定是一。换句话说,我们在这个地方加上一个西格马,在外面啊再加上一个西格马到外去所有的值的时候,这个式子一定是一的。所以说啊就我把整个的所有情况,一个全级。
你可以认为是一个全局部的全集放到分母部分。那么分子部分占全级的百分比就是我的一个概率值。当我把所有的。子集都考虑到的时候,它在整个全集当中的和不就是累加为一嘛。
所以它被称之为是规化因子得到的左边哈使得左边这个条件概率是个概率值啊,这是一个需要解释的部分。第二个部分呢,我们顺着往下看。Yeah。🤧ふ。换一个角度,我不管你分子到底是多少,我分母的这个。
局部全局其实是是形式是一样的。啊,对于你这个概率值,我的分母是这样计算。对于其他的概率值,我的分母也是这样计算。换句话说。我进行左边计算的时候,会发现你分母的这个值到底是多少。
其实对我来说没有太大的关心。换说我只是看你分子的大小,就可以决定我PXPX条件下,Y的条件概率的值的是多少了。我因为分子是一样,大家分大家的分母都是相同的那谁的分子大,那我左边就大谁的分子小。
我左边就小。所以这个时候我们得到另外一种表示形式啊,就是PX条件下Y的概率正比于这个符号啊,这个符号的含义是正比。正比于右边这个式什么意思呢?其实就是分子嘛?就是你分子大。
我左边大分子小或一分我左边小分母其实是不起到作用的啊,正比于这个式。所以说通过以上啊,你会发现BSS定理完全就是加法规则和乘积规则的。使用对吧?这首先。通过乘积规则以及对称性得到一个表达式。
把表达式中的一部分进行一个调整,得到整个的BS定理的形式,其中的分母部分是个边缘概率。边缘概率通过加法规则拆成联合概率的累加的形式。然后再把联合概率拆成条件概率和边缘概率的形式。那么进一步的去分析。
发现,得到一个式子就在于左边的后验概率等于自然函数和线验概率的。成绩。有一个正比关系,这就是BS定理啊,关于这一部分,看看有什么问题吗?我们可以讨论一下。哎,有同学提到了这个证券市场啊。
我我后面会举这个例子,好吧,一定会举这个例子啊,后面一会儿我们再说。代码实现哈啊这些也是个好问题,毕竟我们需要做是吧?代码实现其实我们有很多的库啊,特别在pyython家里面是吧?有很多的免费的库。
像z派是吧?这种优化优化库,我们可以啊,甚至包括numb派里面这个。一会儿我们看到啊,就是把这个。把它变形成一个多元线性方程的形式,好吧。好了,我们继续往下吧,好吧。😊,那这一部分完了以后。
我们看第二部分,第二部分应该大家都很熟悉了啊,就多样式训练几合的经济学习方法。这个我觉得应该问题不大。好吧。首先我们看一下我们已知训练集X啊,它的N次观察啊是X1X2一直到大XN啊,就是我们的输入啊。
这里的XN个输入啊大N个输入以及对应的标记T的观察T1到T大N这个时候呢说明一点啊,说明一点,有这这个时候就是Y啊,这个T就是Y啊。
这里的T1TN就是Y1YN为什么要用T呢是为了保证和PRM2那本书里面的符号保持一致啊。同学们看书的时候比混淆掉。这里的T就是我们的实际的。标签值啊,实际的标签外值。那这个时候呢,我们的多项式函数。
定义为YXWW0W1XW2WX呃W2X的平方加一直加到WMXM次方,等于西格马这从一到大MWJX的J次方啊,其实你会发现就是一个多项式,对吧?这个多项式呢随着M的值的。取值啊,它的幂次越来越大。
然后呢把它们进行一个累加,就得到了我们的YXW这个模型模型定义其实没什么可解释的,是吧?那么注意一下的是在于我们。把W从W01直到WM定义为是多样式的系数向量,系数向量这个向量有。
M加一个元素构成了一个向量,这就是我们的模型。那么这个时候我有个问题在于,在这个多项式函数或者多项式模型里面,哪些是已知的,哪些是未知的啊。这个有没有同学能够有印象或者明确啊,哪些是已知啊。
X和T是已知的,谁未知W是未知的。所以我们是已知XT求W啊,这个问题先搞清楚啊,特别是我们。啊,不管是什么样的算法啊,后面就是我们在集训营和就业班里面,很多的同学都会有这种问题。
一问在哪个算法讲的很清楚,对吧?第一步干什么,第二步干什么,第三步干什么,我有一个问题就在于,你到底已知什么,求什么,有的同学就不能够直接反映的出来。其实给大家说一下啊,讲到算法的时候。
先不要告诉我他的算法过程啊,我知道你会这个肯定你会。你先告诉我你已知什么,求什么,你在哪儿,你是谁,你要去哪儿,你要干什么,然后你再告诉我你怎么干。好吧,有的时为什么要这样强调。
因为很多的时候啊同学就是搞不清楚,因为特别是有些算法很复杂的时候,有的同学就搞不清楚到底。😡,太抠细节,就不知道自己在干什么,搞了半天,我我从第三步到第四步,从第四步到第五步,从从第八步到第十步,哎。
我到底在干什么?你是在已知X和T以后求W的值,这是你要干的。你要最终把W求出来,是你是为了求W,你才搞这么复杂的一个模型和算法,不是为了别的东西啊,不是为了求T,因为T是已知的。很多同学最会发现哎。
我为什么要干这一步啊,是当然你你奔着W使劲。对吧所以这个地方多说一点,一定要搞清楚啊,以知什么求什么。😡,继续往下,有了这个模型以后,很显然W是未知的那这个时候我们只需要把所谓的CUW求出来就可以了。
那么下面一个问题就是怎么样定义所谓的损失函数和代价函数的形式。再强调一点,损失函数平方损失这个没什么可可可说明的是吧?那代价函数或者就我们的风险函数,平方损失进行一个数据集上的一个累加,然后2分之1。
为了后面求导方便。这个时候再给大家提个型,一定要区分开你的损失函数和代价函数的区别,或者是损失函数和风险函数的区别。啊,怎么区别?其实很简单,损失函数是一次损失,风险函数是数据集上的风险损失的累加。
对吧这个嗯这个这个有什么区别吗?当然还是有区别的啊。乜嘢咯。代价函数以后或者风险函数以后,我们的优化目标就是使风险最小嘛,风险最小化。注意这里是什么风险。
这里是是的一个所谓的经验风险在数据集上的风险是吧?经验风险最小化是我们常用的。当然,经验风险最小化呢可能会陷入到过拟合。所以我们就把它进一步的加上一个正策画项,把它。
从经验风险转化为所谓的什么结构风险是吧?结构风险,这样的话可能会好一点。对我们的预测的这个泛换能力可能有更多的提升。我觉得这一部分没什么可介绍的吧。再回过头来看一下,我们就是要构建一个。多样式函数对吧?
然后呢去拟合XT这一堆数据,我们策略就是所谓的经验风经验风险或者结构风险的最小化。定义完损失函数以后,进行一个数据集上的累加,使所有的风险取的最小。那这条曲线就是应该是最好。所谓的最优曲线。
这个没什么问题吧,这一部分。损失函数是一次损失是什么意思是吗?你看一下损失函数的定义就明白什么意思了。损失函数就是定义的是一个数据上的。损失就是一个X输入进去,它和Y的损失的大小的一次值,这叫损失函数。
什么叫风险函数?风险函数一定是定义在数据集上的函数,它是在整个数据集上所有数据集上面所有数据上的损失的累加和,这是两个不同的概念。很多的同学就会混着用,一会儿讲风险函数,一会儿讲损失函数。
自己都没搞清楚讲的是什么?你怎么去在摸心在算法里面把它。嗯,对,这还没讨论到代码部分是吧?你怎么在代码里面,你怎么去把它分的更清楚。😡,啊啊如果不卡,我们继续好吧。那好了,下面的问题就在于啊好了。
现在我们基本上这个前面的准备工作的内容差不多都有了。就是说现在我们有了一个模型啊,就是就是这就是这个模型,对吧?就是这个模型,然后呢,我们上面还有一堆的。概率公式啊比一堆的概率公式。
下面我们的任务就在于我们怎么把这一堆概率公式。应用到我们这个多样式曲线拟合的问题当中去啊,怎么去改造这个模型啊,怎么对它进行一个改造。嗯,我们先从问题入手,对吧?
就是说看一下嗯多项式曲线拟合模型的求解本身有什么问题。结合这个问题,我们提出它的改进策略也就很清楚了。那么就第三部分多样式曲线拟合的BS方法。那么改进呢有两步啊,改进呢有两步。
第一步呢就是所谓的多样式曲和拟曲线拟合的最大自然方法。它什么意思呢?就回过头大家看一下。😡,🤧这个图。这个图中是这么说的啊,横坐标是X啊,横坐标是X。纵坐标是T啊纵坐标是T啊,再给大家说一下,以后呢。
我们的模型学习过程当中,图形的结合是非常重要的一个。呃,一个方面是吧,图嘛图形结合嘛啊,图片是和代码结合起来。看图的时候啊,给大家一个经验吧,一定把坐标系先看清楚啊。有的同学上来之后什么也不管啊。
什么也不顾啊,上来就是一顿操作啊,一顿猛操作。最后一发现哎,不对,这个坐标系不对。换句话说你看了一个东西以后,哎,怎么分析怎么不对?是啊,你坐标系看清楚到底长什么样了吗?
我先看坐标系到底是说的说的是什么,横坐标是X,坐标是纵坐标是T,很显然,建立的是X和T之间的。映射关系对吧?那这个映射关系呢是通过我们在数据集上的这些采样点得到的啊,这些蓝色的点是数据采样点。
那么刚才我们按照不管是按照风险最小最经验风险最小化,还是说结果风险最小化,我们得到了一条曲线拟拟合的曲线啊,这条红线。你况下这条红线其实已经呃还不错,能够把所有的蓝点的这个啊。
数据规律能够学习到了啊学习到了。那么曲线拟和这个模型一个很大的问题在于,当我一个新的元素X0来了以后,按照我们的模型Y我们可以得到一个非常准确的YX0。这是我们。嗯,很自然的一个结果,对吧?
你给我一个X0,我通过模型就可以得到一个对应的值,这有什么问题吗?问题就在于还是刚像刚才所说的,你这个结论太准确,也不是一个好的情况,对吧?比如说举一个例子,那当然这是个这是个回归问题啊。
这是个回归问题。啊,我测了一下你的脉搏,哎,你你你这个人。就可以得到你的体温。假设是这么一个模型概率,你会发现这个因为这个回归问题,你这个结论就非常的。呃,怎么说呢?就非常的严苛是吧?
因为你本身就是一个回归模型。本身就告诉我这么一个结论。那这个时候。我们怎么办?我们把换一个视角啊换一个概率的视角,什么视角呢?当我得到X以后啊,当我得到一个新的X0以后,我得到一个值。
得到一个模型的预测值。但是呢我告诉你,它不光可能得到模型的这个预测值,它还可能得到模型的。这个预测值也可能得到模型的这个位置的预测值,也可能得到模型的这个位置的预测值都有可能取到啊。
就是整个的坐标轴上所有的值我都可能取到。唯一不同的就在于当取到这个点的值的时候,它所对应的概率值是最大的。那能有没有可能取到其他的点,也有,只不过那些概率值非常非常的小。那这个时候你得到的结论就在于。
当我已知X0以后,我得到了一个映射值YX0。那么我还顺便告诉你,得到YX0它的概率是多少,你信不信?那是由你作为专家进行判断,这样的话对我们来说,余地就很大是吧?那怎么去做这个问题。
那关于这部分能不能理解同学们。😡,啊,PDF会整理一下,发到群里好。Yeah。嗯,我们继续啊。Yeah。那怎么去做这个问题?那好了,往下看一下啊,我们设。给定输入X值啊给定输入一个X的值。
它所对应的标记T就是我给我一个X以后。他呢得到的不是一个具体的预测输出值。而是得到一个分布。当然这个分布我们可以假设它服从一个高斯分布是吧?因为这个假设应该是嗯想当然了是吧?我就认为它服从高斯分布。
这也有没什么没什么没没什么原因。这个时候呢分布的均值为我们刚才的实际预测值YX我。就是YX,但是呢YX是我的均值啊,它所对应的那个。概率可能性最大,但是呢它还服从一个以贝塔负一为方差的一个。告斯分布。
换句话说,它还可能取到其还可能取到其他的值,只不过取到其他的值就受到我们方差的一个控制。它可能隔着一个方差,两个方差或者N个方差。那么当然我们的概率值是越来越小,甚至可能趋近于0。那可不能可能取到可能。
但是概率非常小。所以这个时候看下面这个式子啊,就是假设。我们的模型不再是一个准确的数值模型,而变成了一个概率模型。概率模型说的是对于任意的输入X,我的标记T不再是一个具体的值,而服从一个所谓的告斯分布。
这个告斯分布也不是一个普通的告斯分布,它是以YX实际预测值为均值,然后呢以一个贝塔负一作为方差的一个告斯分布。那么很显然在这个模型,这也是个模型啊,刚才我们所说了,条件很显然左边是个条件概率。
我们前面和我们前面那个条件概率就联系起来了。条件概率本身也是一个模型,你给我一个X,我不是直接给出你T的取值,而是给你取某一个T值。它所对应的概率值。那这个时候我们当然取的是那个概率最大的那个模型的。
对应的输出。所以我们经过这样的改造以后,我们只需要把后面这个高斯分布能够求出来就可以了。后面这个高斯分布很显然,我们需要求什么,把均值求出来,把它的方差求出来就可以了。对吧好了。
我们这个就是把高斯分布啊一般形式放在先放在这儿。一般形式上均值是缪,方差是西格马的平方。这个地方用贝塔的含义呢是它取的一个倒数啊,是取的方差的一个倒数。啊。
这个时候呢主要是为了我们把这个东西重新定义成之为精度,主要是为了习惯啊,就是搞该对定那帮同学的一个习惯。那我们继续往下好了,再往下。数据集,那么有了这个。模型定义以后。
我们只需要把均值和方差求出来就可以了。那这个时候我们定义它的自然函数,注意啊,自然函数出来了。自然函数下面这个式子。下面有一个问题,为什么PXW贝塔条件之间的T,这个式子是四然函数。往前找。
还是那个问题啊,自然函数不能是随便定义的,你得看到到底谁是谁的。胡岩他的私然号数是多少?我想找白斯定理啊。电子定理在这儿,很显然我们刚才说过。这是自然函数,对吧?这是自然函数。那么很显然。
X输入Y是我们要求的东西。在刚才那个式子看看看看是不是这么说的。在这儿这是那个自然函数。谁是输?谁是我们要求的?很显然,T是我们要求的。X是我们的输入。哦,这个地方是这样啊。不是这个X啊。哎。
T是我们要求。W是我们要求的是吧?W刚刚一直在强调啊,W是我们要求的T是我们已知的,所以啊是对应对应到前面是我们的自然函数。那这个自然函数是我们一个里程值啊,在数据集上的一个里成。
所以呢是我们既然每一个都是一个高斯分布,我们只需要把这个高斯分布进行一个里成,就得到了我们的自然函数啊。再强调一下,这个地方W是我们要求的。T是我们已知的,所以这是一个自然函数的定义过程是吧?
自然恒这的定义。W要求的放在条件上,T已知的放在我们的。条件前面啊,然后呢每一个都是一个数据点上的一个高斯分布,然后把这些高斯分布进行一个垒成。这样的话自然函数的形式也就有了。有了自然函数的形式以后。
我们求解它的对数。因为它这个里长不太好求,所以我们通过。对数啊,我们可以把它从累乘变成累加,这是一个很很常见的一种方式,是吧?把从累乘变成累加。
那么我们的优化目标就变成了最大自然求这个自然函数最大的可能性。那么当然等价的可以转换成求这个自然函数和对数自然函数的最小。我们一般情况下积极学习领域,一般情况下都是取某一个函数的最小值,对吧?
那这个时候。自然函数的最大就它所对应的。负的。对数函数的最小。那这个时候哎这个时候啊也就是说我们要求的是。负的这一部分的。最小值。那我们看一下这个式子啊,负得正这就变成正的了,我们就不管了。
注意我们是要求的是W最小的后面这个表达式的最小看一下后面这个表达式当中关于W的部分。这一部分有。W看一下这个部分有没有W没有这部分有没有W也没有。换句话说,后面的这两部分在求关于W的最小值的时候。
都是作为常量。既然是常量,我们就可以不考虑。就是说你比如说后面加上一个三,那么你会发现这个三对于W来说是个常量值,那么在使W最小的时候,这个过程计算当中,这个三有没有其实是不起作用的,对吧?
同样同样的道理啊,这一部分就不要了。那么再仔细的看一下,你会发现。我们就得到了所谓的W的最小值,就是使得2分之1西格马YXN减去TN的平方。这个式子有新的同学,你会发现这个式子和哪个式子是完全等价的。
喺没看到。和我们经验风险最角化的式子是等完全一致的。就是使我们的经验风险最小的那个W的值。也是使我们的自然函数最大的那个W值。换句话说。在平方损失定义之下。在平方损失定义之下,经验风险最角化就等价于。
负的对数损失的最小吧,这两个式子是一样的。我们既然这样的话,就可以通过同样的方法把所谓的最优的W求出来。那么这个W。就是称之为最大自然解啊最大自然解。那么有的同学就会问哎。
这这这和前面的工作不是一样的工作吗?有什么好处吗?不要忘了,这个时候当我们有了这个WML最大自然解以后,我们可以把贝塔ML求出来。这个贝塔M2是什么?😡。
往上看这个贝塔ML是我们在定义的那个高斯分布里面的方差的倒数。那么也就是说。当我有了W,根据W求出贝塔来以后,我们就可以得到一个概率模型。当你给我一个X以后,我可以计算出它为T的概率值是多少。
通过YXW是均值,通过贝塔负一得到我们的方差。那这个时候也就是说我给你这个值的同时,还给出了这个值的方差是多少?那至于这个你怎么去解释和使用,那就是专家经验得到的。换句话说。
我不再是仅仅给出你一个具体值,而是给出你这个值,它的一个概率值以及这个概率分布的一个方差大小,你自己去解释这个结果就可以了。好了,关于这一部分,看看有什么问题吗?对。嗯,贝塔是自定义的啊。
贝塔是自定义的,换句话说它它是它也是一个。嗯,贝塔不是自定义的,贝塔是自己求出来的啊,贝塔是求出来的。刚刚才看到了。卡了,现在现在可以吗?贝塔的这个地方不是自定义的,贝塔是求出来的。嗯,看一下啊。
还是在这个式子里面,刚才我们求的是关于W的最大值。同样我们也可以求一下关于贝塔的最大值。那么贝塔的最大值还是那样,还是一个方法,我们只需要对贝塔求一接导出就可以了。没问题吧。
这个时候只有这一个式子是带贝塔的,它的系数就是这一部分。也就是候贝塔值就等于它的。把贝塔除过去,不就贝塔分之一等于右边这个式子嘛,对吧?那得到这个结论啊。
得到式子贝塔的最大自然解的倒数是等于右边这个式子。而右边这个式子里面所有的,你像WML是已知的XN是已知的TN也是已知的,可以把贝塔ML求出来,这是个求出来的结果求出来的结果。
这样的话我们就可以得到在经验风险最小化,或者说在最大自然。要求约束之下啊所谓的一个最优解啊所谓的最优解。那么我们继续往下啊,还没完,还可以进行进一步的改造,改改造在哪儿呢?改造在这儿。
现在我们已经做了一点改进,就在于当我给出一个X0来以后,我得到的是均值以及方差。对吧均值以及方差。那这个时候你会发现我们再看看这个W,哎,再看一下在所有的。量里面这个W现在还是一个具体的值。
因为我们通过看一下啊。你可发现在这个地方,我们的W还是一个具体的数值,对吧?通过这个式子使这个式子最小的那个W值是几,那WM2就是几。那。这个时候好像我们碰到了一个同样类似的问题,什么问题啊?
就像刚才那样。刚才我们是给出了答X0,你。Y零是个具体值,通过引入。高斯分布以后,把Y0不再是一个具体值,而是一个高斯分布。那么同样我们知道啊我们我们我们要得到的是个W0,呃,我们知要得到的是个W系数。
还是我们能不能同样按照刚才的方式把这个W也进行一个改造,也得到一个关于W的一个概率分布的形式。有同学就会提出一个问题在于它有什么意义吗?就是为什么要这样做,回过头来看一下啊,回过头来看一下这个模型。
举一个例子啊举个例子,比如说我们现在这个模型是对当前这个。疑似病人的一个医疗判判断。它不仅仅是根据某一个特定指标,而是根据若干个指标生理指标去最大进行判断。比如说现在的。呃,现在的新冠肺炎是吧?
细心的同学你会发现呃,随着诊疗手册的不断的改进,诊疗方案当中的方法其实是动态变化的。我记得你比如说一开始的时候,我们是通过测体温,但是很显然测体温这个。手段是不太靠谱的。所以我们又引入了所谓的核酸检测。
但是你会发现仅仅是通过核酸检测,我们也不一定是能够百分之百准确的得到一个准确结论。因为核酸检测本身的采样是吧?数据采样的问题。呃,检测手段的问题,检检测有效性的问题。所以后面我们又加入了什么。
加入了肺部的影像判断。所以你会发现我们构建一个多因素模型的时候。因素是很多的,有N多个因素可能会影响到结论。那这个时候你会发现你你你看一下你前面这个系数它起到的作用是什么?
前面这个系数系数起到的是解释了当前这个因子,它的重要程度的一个度量,能明白什么意思吧?比如说。在一开始的时候,我们仅仅只有一个测体温的手段,所以你会发现这里的W一就是一。换句话说,它只有他自己嘛。
就它起到的作用是决定性的作用。后来当我们引入了,比如说核酸检测以后,那么核酸检测的因子W2和我们的体温W1之间的因子的重要程度肯定是不一样的。通过数据的模型学习,我们就可以判断出来,比如说举个例子啊。
W1等于3W2等于100。那么很显然,核酸检测的重要性程度要远远的大于体温的。重要性程度。那么同样后面我们再引入其他的。模型因子的时候,前面的系数就解释了这个因子的重要性的程度。
而这个因子的重要性程度在我们进行模型解释的时候,也是非常非常重要的一个指标。啊,之前你比如说我们构建天气预报对吧?延伸期降水预测那个模型可能有几十个因子,几个有的时候可能上百个因子。
那这上百个因子当中到底哪些因子起到了决定性的工作,那么当然是通过前面的系数来进行表证的,或者度量的。那你会发现前面这个系数是非常非常在业务上是非常有价值的。
那么这个时候如果按照我们的单纯的多样式序线几何,我们得到的这些系数就是一些具体的值,三也好,4也好,5。65。6也好,7点8也好,那么很显然还是那样,在使用过程当中又太精确了,是吧?
所以啊基于以上的原因,我们除了要对我们的预测结果进行一个概率化。而且还需要对整个模型当中的。因子进行概流化,我在得到的不再是一个具体的值,而是。使得当前这个。概率最大的那个因子值是多少?
所以说这种时候你会发现你的结果是在概率分布的啊,你的影响因子也是在概率云分布的啊,这是目的啊是非常有价值的,也是非常有意义的。好吧,那么下面看怎么干这个事儿。好啦。
那么就是所谓的多样式曲线拟合的最最大候选方法。最大后验方法说的是这样,首先。还重要。呃,既然你W不再是个绝对数值,那把它改造成一个概率分布,那怎么办呢?
我先假设我设多项式系数W的先验分布为PW在阿尔法条件之下的条件概率。呃,它是什么?叫做先验分布啊,我们先看它的分布。一开始的时候,假设它是负也是个高斯分布,只不过这个高速分布呢是均值为0啊。
方差为阿尔法负一的这么一个高速分布。这个时候呢有一个问题,第一个问题解释一下,既然是个先验分布,在我们高斯定理,有在我们前面那个讲到的那个B斯定理当中,鲜艳分布是个条件,是鲜艳分布是个边缘分布。
你这个地方是个条件分布,有同学这个时候就就弄不清楚了,看一下什么问题啊,有有细心的同学你们会发现这个问题。在哪?在这儿嗯。回到我们的BS定理啊,这个时候已经我们得用它了。我们刚才说吧,假设。
P阿尔法条件之下,W的条件概率是所谓的先艳分布,就这个先验分布。有同学马上就懵了,哪哪有问题呢?当然有问题啊,你的B定理当中PY是线线分布,PY是个边缘分布,就只有一个数据变量的它是个边缘分布。
你你P阿尔法条件之下,W是个条件分布,那它怎么是个先线分布?注意一下这里的先艳分布PY指的是在X条件之下的Y的。边缘分布X是我们的输入,Y是我们要求的。在这个。后面这个问题当中。谁是我们要求的。
就到哪儿就在这儿。😡,是不W是我们要求的,而这个R嘛是我们为了描述这个W引入了高斯分布以后的一个参数。所以这个时候它虽然形式上是条件概率啊,虽然形式上确实是个条件概率。
但是它是一个关于我们的输入XT的一个先艳分布,这是不矛盾,或者是不冲突的,能明白什么意思吗?还是那样,你要搞清楚到底哪些是已知的,已知的是XT未知的是W。所以这个地方啊所以这个地方。X是X是X是W。
不长。Y是我们的W。X是我们的X和T已知XT的时候,我们要求的是W。所以你会发现这个地方的PW很显然还是一个线线分布。阿尔法只是它的一个参数啊,这个地方有的时候需要解释一下,好吧。
OK我们继续它的数值上是一个零均值啊,零均值。然后呢,阿尔法负一次幂一个方差。有同学马上又会有问题,什么问题,为什么是个零均值,对吧?很显然,W不是一个零均值的一个分布,或者说这是很显然的。
因为如果它是个零均值的分布的话,我们压根就没有必要求没有必要去求它了。那均值是零,我们只需要把阿尔法,而而且阿尔法是个残数给出来不就完了吗?还是回到刚才那个地方的BS定理那个地方。
我们说过BS定理一定要把它认识成是一个动态调整的过程,是吧?动态调整的过程。什么叫动态调整过程,我先给出你一个先验分布PY这个地方的P阿尔法W。它可能是很不准的一个概率分布。
或者它就是不准的一个概率分布。但是呢我通过前面求乘以它的自然函数值,通过乘以。比上他的这个。证据因子我可以不断的去调整。它在X条件之下的新的Y值,而把这个新的Y值又作为新的边缘分布,再进行上升过程。
从而不断的收敛到一个在不断的提供证据的前提之下,Y的一个更可靠的值,这是BS斯定理的一个使用过程。所以基于以上我们。在这个地方。先上来把边缘把边缘分布给出你一个形式。虽然你不转,你是个零均值。
方差为阿尔法负一次幂和,方阿尔法负1次幂对吧?这个不准不准就不准。我把它在此基础上不断的进行调整就可以了。那么我继续往下看,根据贝斯定理多项式系数W的后验概率啊,这是那个后验概率。
正比于先验概率与我们自然函数的乘积。这个我前面我们讲到过了,后验概率正比于自然函数和先验概率的乘积。先应概率在这儿,就是刚才我们定义的这个高速分布,自然函数在这儿啊,回去。对吧。对应一下谁是输入。
谁是我们要求的。然后呢,这是我们的后验概率。刚才也看到了,是已知XT要求W,这是我们的后验概率,正比于自然函数和我们先验分布的乘积。那我似然函数前面刚才有定义,似然函数啊。
就是刚才我们前面那个自然函数定义。先验概率已经给出来了,那把它乘起来吧,你会发现后应该呃自然函数乘以鲜验分布,然后就是累乘再乘以我们的。现在概率。同样垒成不太好求,加上一个。对数把它变成累加。
所以呢外边加上个对数,这两部分的累乘变成这两部分的累加,前面这一部分的累乘再进行展开,就是下面这个式子。下面。最优化的目标使我们的后验概率最大啊,不再是自然函似然函数最大了,而是我们的后验概率最大。
在后验概率最大的这个策略之下,我们同样使我们的负对数最小,负对数最小,还是那样针对W求最小值。看看上面这个式子啊,上面这个式子里面这个不带W,这个也不带W,这个不带W,这个也不带W。
剩下只有这两项是带着W的值,把这两项拼一块,就这个式子。看一下使这个式子最小等价于什么,往前倒。等价于在多样式曲线拟合当中的这一部分结构风险最角化。而且我们的正策画像都是一致的,都是形式上都是一致的啊。
形式上都是一致的。这个地方呢L的二函数的平方就是我们的W和W自己的内积是一数值上是完全相等的对吧?所以也就是说。结构风险最角化就等价于我们的后验概率最大化。经验风险的小化等价于我们的自然函数最大化啊。
这都是一样的结论。而且。既然这样的话,我们可以通过最优化方法把W的后验概率最大值求出来,求出来同时可以把。维塔值求出来,而且更重要的是哈,而且更重要的是这个时候看一下,我们不光是得到了一个模型啊。
不光是得到了一个模型,不光是得到一个带概率解释的模型,而且还得到了一个。带概率解释的系数的一个模型。你给我一个当前。W的最大后验。我就可以得到当前W的一个概率分布。这个概率分布一定是以你最大猴眼为均值。
阿尔法为方差的一个分布值。比如说我可以。不仅仅给出W这个系数的重要性因子,而且可以给出你的方差是多少。你自己去解释这个方差的可能性。好吧,那关于这一部分,看看有什么我们再回过头来看一下啊。😊。
这其实是今天最重要的部分,就是最大后验方法。它是在我们的最大自然方法的基础上,对我们的先艳分布进行了一个假设。假设它为。一个高斯分布,这个高斯分布它的均值是一个非常。嗯。因为没有因为它是有先验分布嘛。
就说你也不知道它到底是多少。所以这个时候你不妨就假设它为一个零均值,阿尔法的负一次幂的一个告斯分布。有了这个假设以后,我们知道后验概率正比于自然函数和先验。概率的冲积。
那这个时候西验分布已经放在这个地方了,和自然函数进行相乘。乘起来之后,因为它正比于后验分布,所以使后验分布最大化。通过。取对数取负值。举积小就可以解出所谓的后验最大化策略之下的W值,同样把贝塔值求出来。
那这个时候。我们得到了一个副产品,就是关于系数的解释,在最大后验的情况之下的一个系数解释。而这个系数解释在业务上是非常有价值。这么一个逻辑关系,好吧,看看有什么问题吗?哎,这个时候的阿尔法是视线给触的。
嗯,刚才已解释了W为什么是临均值?因为在鲜艳的情况,什么叫先艳啊?就是你没有任何可借鉴的。这个呃措施有同学说我不是零均值,我是1个100均值,行不行?没问题,也可以啊,这个可以。这这是没问题的。
因为先验经验嘛,但是很显然,零均值要比你那个100均值。显得好像更合理一些,这个合理当然是加引号的。因为我们有一个所谓的叫什么叫。哇。奥卡姆提刀原理,我不知道同学们有没有听听说过是吧?
当我们没有任何先艳知识的时候,简单的模型就是所谓的最好模型是吧?阿尔法是什么?刚才说过,阿尔法是我们在高斯分布假设之下的一个。一个一个参数对吧?这个参数是吧人工设定的,好吧。
阿尔法始终都是设定个固定值嘛嗯嗯。在一次模型的训练过程当中,它肯定是固定的。当然你可以通过调整不同的阿尔法值,可以得到不同的模型。那么在这些得到的不同模型当中,再通过调叉验证的方法。
你再可以选出一个最好的模型,这也是可行的一个过程。Yeah。那两个概率相乘则似然函数是怎么来的?嗯,BS定理啊,看看啊。可能同学们对这个贝尔斯定理可能还是了解的或者认识的不是那么的深刻,是吧?
刚才说到过啊,贝尔斯定理得到的不光是个数值上的一个。啊,不光是数值上的一个等式,其实更重要的是得到的是一个正比关系。就是说我只需要。因为我们知道最优化过程其实是一个是个最大值的过程的求解过程。
我只需要把最大值能够求出来就可以了。所以我不需要得到一个。It。使得最大值得到的那个表达式的值。其实我不关心我只关心的使只关心的是这个。最大值是多少?所以我只需要使你的分子取到最大就可以了。
所以你会发现我是正比喻分子的,而分子的表达式这不就是自然函数吗?这不就是新验概率嘛?所以在这个地方。😡,所以在。所以在这个地方,我们就说后验概率正比于自然函数和迁验分布的一个乘积。我们要使后验最大。
我们只需要使这个乘积最大就可以了。所以这个乘积迁验概率刚才已经给出了自然函数在上面那个例子里面有咱俩拿过来乘一块,就是下面这个式子后验概率最大,我们取对数取负值变成负对数最小,在这个过程当中。
这里没有W,没有W,没有W,没有W,只有两项带W,这两项一拼接这个式子,就是我们前面说的经验结构风险最小化等。策略是一样的。O。看一下最由的实现啊,看一下实现。嗯,刚才有同学也提到了啊,实间在这儿。
我们去举个例子啊,首先我们看一下我们要拟合的函数是一个正弦函数啊,sine2派X你给我一个X,我给你个正弦值啊,这是我们要学习的规律。嗯,但是呢我们的数据呢通因为采样过程当中可能有误差。
所以呢是在正弦函数的基础上加上的一个随机找动啊,加上一个随机值。🤧嗯。就说不是那么的精准数据。那这个时候呢我们要产生10个数据啊,产生10个数据。然后呢,这个测试呢,我们要产生100个测试的事啊。
这是这一部分再往下呢,因为我们是一个多项式函数,多项式函数当中呢有W0加上WEX1呃,不是。그。W2X平方加上一个WMXM次方。所以呢这个地方你很显然和miss相关。
所以我们先设计一个这个多项式特征的一个处理函数。我们假设最高次幂是2。当然这个地方你可以一会我们可以改修改它。那么这个时候呢,下面我们把每一个因为我们知道数据集的前面已经有了是吧?
你的X和Y都是已经有了的,把每一个X都带进去,求它的一次幂2次幂,一直到M次幂,就是它次幂,先把它求出来做一个预处理,有了预处理过程以后,看下面就是我们要设计一个9次幂的一个曲线啊,9次幂的一个曲线。
因为正弦波还是挺复杂的是吧?然后呢继续往下。哎,看一下我们所有的。BS回归当中所有的参数包括这么几个阿尔法,就是刚才我们所说过新概率的那个高斯分布的阿尔法值贝塔就是我们要求的Y的高斯分布的。放开。
的倒数啊其实是个精度啊,这里W的均值,W的精度其实就是方差的平方,哎,方差的方差的相反数方差的。分之1啊放差分之1。然后呢,继续往下,我们要看一下啊,看一下迁线分布,这其实有线验分布嘛。
得到迁验迁线分布是一个零均值,看到了吗?还是那样零均值,然后呢,阿尔法乘以单位矩阵构成的一个方差矩阵。零均值阿尔法的一个高速分布啊,这是我们的先验。然后呢,拟合过程当中啊是这样,呃。
拟合过程当中主要使用的是我们npi里面的线性模型里面的最优化方法,它是把它转换成了一个多元方程组的形式。所以这个时候呢我们要嗯和我们直接的这个求解不太一样,它是把它变成了个多元线性方程组啊。
但是呢在数值上再计算,是和我们直接的公式计算是相同的啊,有兴趣的同学为什么这样设计啊,你需要看一下那个多元线性方程组当中,它的。参数设置啊参数设置其实就是把我们的这个矩阵啊,就是把我们的。
输入矩阵和我们的这个。标记矩阵,还有我们的鲜艳分布进行了一个。转正之后的成绩。然后呢,就可以得到所谓的最优解最优解的均值,最优解的。方差啊,这个时候我们在进行预测的时候,不光是可以得到一个相应的Y啊。
你可以发现我们就是最优解的均值就在这儿,我们你输入那个X就在这儿X和均值一乘得到的就是它所对应的那个Y。当然这个Y。是在最优参数均值之下的那个Y,除了得到这个值之外。
我还可以得到你得到这个Y的那个方差值是多少。比如说我不光是给出你的个Y值,还可以得到你的那个方差是多少。所以你会发现我们把它。我们把这个结果进行一个图质化啊,也就是说你看一下绿色的线是我们的政权曲线。
绿色的是我们的政权曲线要学习的规律。蓝色的点是我们的带有随机。误差的数据值。我们红色的曲线就是在这些带有随机误差的数据值上的一个9次。密的多项式曲线来学习到的一个数据规律。
你会发现这个规律性还是能够学习到的啊,还是能够学习到的。当然。很明显的是在这个地方的误差还是很大的。大不要紧,会就像刚才我们所说的,比如说在0。8。的时候我的实际值。应该是这个值。
但是我得到的预测值是这个值。很显然,中间这个误差还是比较大的,很明显,至少是很明显。但是不要紧啊,为什么?因为很显然它还在方差以内呢?比如说我得到这个预测值的时候,我不光是给出了这个具体值。
还给出了这个方差,对吧?也就是说这个值还不一定准确,它也可能落到一个方差里面,两个方差,也有可能。是这样吧,所以这个结论就更加的具有一个伸缩性是吧?更加的有个伸缩性。
这个例子啊呃回去以后有兴趣的同学可以自己跑一下,感受一下。其实最核心的地方就是在。在这个地方可能稍微会麻烦一点啊,你需要查一下n派的线性方程组的最化函数的参数的设置,你就能够理解为什么这样来使用了。
好吧。啊,最终呢参考文献呢就是PIM2它的第10页到第28页啊,前两章的内容大约是前两章的内容。如果同学们能够把前两章的内容读懂理解了,其实整本PML对大家的学习的障碍也就不那么的大了。好了,回过头来。
我们做一个简单的总结哈。今天呢结合着曲线几合的这个例子,和大家介绍了一下BS方法的一个使用。呃,最基本的就是加法规则和乘法规则。那两条规则的基本使用。就是你会发现就是那两条规则。
我们从那两条规则引出了贝叶斯定理。在贝耶斯定理当中,最核心的地方就是在于。它的一个动态调整的这么一个认识,就不要把它认成认为是一个死的定理。它其实是在我们先验的基础上。
通过不断的计算去调整后验的一个动态性过程。有了这个认识以后,我们在多项式曲线几何的例子里面,通过最大死然的方法调整了我们的预测输出,给出了一个概率分布值。同样的。同样的思路。
我们不光是在预测上给出了概率分布,还在我们的参数解释上也引入了概率分布。而这个过程就是使用了我们的贝尔斯定理的动态那个思想是吧?先给出一个不太靠谱的假设值,假设分布零均值假设,然后在贝尔斯的基础上。
通过不断的X的输入去调整我这个。均均值的大小从而得到一个。相对比较合适的一个均值,并且可以计算出它所对应的方差啊,这个时候就可以会发现更具有解释性。好吧。嗯。嗯,OK嗯,这是个好问题啊。
就是这个这个同学提到的啊,就有些同学有的数上是这个式子是吧?对,这两个式子是一样的,为什么说这两个式子是一样的?先说后面这个式子啊,后面这个式子里面它用的是这种分号的形式。
分号的形式说明的是分号之前是随机变量,分号之后是参数。他说的就是在当前这个参数之下,这个随机变量的概率值,它的含义和这个形式的含义是一样的。这个形式是个条件概率,是已知阿尔法之后的条件之下,W的概率值。
其实你会发现这两个式这两个式子的数据含义是一样的,只是表示形式不太一样。其实在我个人看来啊,更好的一种表示形式是这种形式。就是说把不相干的所有的参数以分号的形式隔开扔到后边去。
那么至少分号之前在形式上还保留的是个边缘概率的形式,这是一种很好的一种方式。但是这两种方式是常见的,都可以用啊都可以。可以啊,你会发现啊。
这可能你会发现先验概率就是一个其实你会发现先艳概率就是一个说句不好听的就是一个蒙的一个数值。你给的因为先验嘛,你没有任何的先验经验,你就你随便蒙呗。但是你有了一个改进以后,你会发现哎后验调整了一下。
其实有改进,但是也不见得有多好,你当然也可以把它作为一个新的先验,对吧?那再有新的证据来了以后,再从你调整这个先验值,你会发现随着不断的调整以后。他因为总是改进一点,改进一点,随着你的数据越来越多。
你这个先验会越来越靠谱,从而导致的这个后验也越来越靠谱是吧?这是没问题的。这是notebook。notebook是我们现在。经常会用的一种一种表示方式,可以把我们的代码,可以把我们的。呃。
笔记放到一块儿,C还能买得了python。视频有回放吗?这个看工这个我们的安排吧。不像是。多到多少啊,对,这很显然啊很显然会过拟合嘛。所以我们再加上整个画像,使它不是那么的复杂嘛,是吧?嗯。
趋势值的填充,我觉得主要矛盾不在这吧。我觉得这个案例当中所有的数据都是假设已经处理过的数据。嗯,加群的话可以问一下其他同事,好吧。刚才已经说了啊这个问题。对,是这样,刚才已经解释了,好吧。对。
在X轴上嗯不是在X轴上,是在每一个具体值上,它的方差是同样的方差。因为。这个方差只有一个嘛,我们只是统计出来的一个方差值符在我们的高斯分布当中。嗯,这确实数据的修复不是我们今天所讨论的主要目的。
我我认为这个这一部分应该是数据特征工程之前就已经处理完成的部分,好吧?OK看看大家还有什么问题吗?如果没有问题的话,我们呃今天就就到这儿。当然如果有问题的话,可以在我们群里呃,随时提出来,我们看一下呃。
再进行一个解释和说明,好吧。呃,还是那样亮光不统一肯定不行的对吧?你肯定需要统一亮高嘛。这肯定的数据你数据肯定需要同一两个。PDF啊可没问题,在群里我会整理整理一下。明天发出来好吧。
OK那我们大约用了一个半小时的时间和大家一块讨论了呃BS方法。在我们传统机器学习当中的使用,还是记住记住那一点啊,加法规则和乘绩规则你就你你你先别管看上它半个小时啊,然后再结合着复杂的模型。
比如说像HMM你再看那个公式推导,你会发现啊就是这两套规则,你脑子里边。看久了就是那啥东西,好吧。那好,也谢谢同学们。如果没什么问题的话,我们今天的直播就到此结束,有什么问题我们在群里再聊,好不好?好。
谢谢同学们。😊。
人工智能—机器学习公开课(七月在线出品) - P13:极大似然估计 - 七月在线-julyedu - BV1W5411n7fg
🎼。现在呢我们把举估计先撂一边哈,我们把上次跟人家谈到过的贝斯公式再去给出一个说法。啊,给定样本D这个时候。在给定样本D的前提之下,A这个结论发生的概率其实可以写成这一坨,对吧?这个就是贝斯公式。
当然你可以把PD打开了,对吧?呃,这样子的话,我们如果给定了某些样本D这个D表示是X1X2的XNN个样本哈,对吧?反正总之给了一1一组样本,然后呢,在这个样本中。
我们可以计算结论A1计算A2计算AN对吧?这个所谓的A1A2的AN其实就是呃参数是塔一的时候,它是这种情况。所以在二时那种情况是在那种情况,对吧?总之它有各种各种可能情况,对吧?
我就可以计算在数据样本给定的情况之下,AI的概率值,对吧?而这个东西根据它是写成它嘛,对吧?而这个PD这个样本已经给定了,都处以同样值,所以PD这个值可以扔掉的,不要了,它是规划因子。
所以就是它和它对吧?而这里边如果我们大体上认为PAI的这个鲜验概率是相等或者近似的时候啊PAI把它扔了,就变成这个东西了。对吧所以说这个东西大体上可以用这个东西来做近似。换句话说哈。
咱想去做的事是什么呢?是给定这组样本之后,A1A2AN出现了哪个概率值最大,我们就取谁,对吧?而这个东西其实我们可以反过来想,就是。A一给定的时候,有可能出现这个D的概率是多大。A2给定的时候。
这个概率是多大。那么说哪组参数给定的时候,这个数据出现的概率值最大。我就认为那种情况是最有可能得到我的数据D的,我的样本D的。对吧所以说这是这样一个解释哈,这个解释非常重要哈。
O我们先来看看大家的问题啊,就是为什么会有去掉PAI呢?PA啊就说我们有时候哈会把这个呃先艳条件认为是相等的,差不多的。先艳分布。就是说呃比如说抛硬币吧,我可能认为这个概那个朝上的概率是0。1。
朝上概率是0。2到场的概率是0。9,就九种可能大体是差不多。我们就认为它鲜艳概率都是10分之1,就这意思啊。所以呃我们就把它。扔了不要了。事实事实上哈大家如果觉得这样理解不方便的话。
我们就先不这么思考啊。总之我们。说另外一个想法。我们说另外想法啊,就是说我们如果说拿到了一组样本,如何去估计这个样本背后,它的总体的参数呢?我们这么来想,就是总体的那些参数,它可能取西塔一这个参数。
可能以知塔二的个参数,可能到西塔N这N个参数都有可能取,那么说可能西塔I那个参数的时候,得到这个数据的概率是最大的。OK我就把那个西塔I认为是你这个总体的参数。对吧我让你出现这个数据的概率值最大。呃。
出现这种情况这种出现这种情况,这个这这这个这个现代汉语哈。像这种情况在文言文中叫似然,就是像那个样子。像那个样子的情况最大,我们把这个东西文言文中把它叫做似然最大让这个似然的东西起极大值。
这种方案的估计就是极大的似然估计。自然啊像那个样子,像在那种情况下,数据是最有可能取到的,就这玩意儿哈。所以这个词的呃概率论里面这两个举估计和其他自然估计的这个。词语本身还是比较。无语化的哈是吧?
应该是呃很早之前就翻译过来了,对吧?事实上我们有时候把这个PD叫做自然哈,这里咱就不再具体解释这个事情了哈。OK不行,大家对这个问题我好像疑问很多,我们看看啊。😊,嗯。
会糊涂说maxPAI这个东西这个表达是不明白什么意思。哦,先说这个东西啊,PAI givenD哦。我把竖线图的基本没问题吧,对吧?就是给定的情况下,就是在AIgivenD对吧?
然后表示是在给定数据D的时候,A一出现的概率,A2转个来到AN出现的概率,哪个值最大,我就取谁取max,对吧?因为这个AI是变化的嘛,A1到AN嘛,对吧?这个意思啊。啊。
后面就是一些只是对他做了推导了哈,然后似然和概率有什么区别?啊,两码事对吧?自然我们认为是这个数据出现的可能性。自然嘛就是嗯这种。情况它能够出现的那种概率。4。呃。
然我觉得应该就是什么什么的样子的意思哈。四就是什么什么这个数据出现的那个情况,对吧?所以似然就是这个数据能够发生的概率,对吧?是这个东西哈呃。概率就是短公解释了,对吧?呃,似然相当于求这个东西吗?嗯。
O哈,我可能加上这些之后,把人家讲糊涂了,咱不这么讲了哈。😊,咱们可以不用这么去这么严格的去考察这个事情哈。其实我们就认为哪个参数的时候能够使得这个数据最有可能发生。我们就认为那个数据是最好的。
对吧就是我们设总体分布是一个F这个分布我们这个X是我们的一些的。那个这个研究变量C塔呢是我们的未知,但是存在的参数,对吧?任何分母总会写着这种形式嘛,对吧?
比方说不管是坡松分布还是高斯分布还是一个什么分布,还是二元分布,对吧?我们认为X1X2的XN是这个总体采样得到的一些样本。因为这里面X1X2的XN是独立总分布的。那么说我们就可以计算出来它的联合概率。
呃,联合的那个概率密度函数对吧?X1X2的XNC代一4。2的4代K对吧?这里面就可以把这个东西写成这样一个形式,对吧?就是X一这个样本之下,它C代一4。2在给定的时候,这个值对吧?C塔二的时候。
这个这个值多少?C塔三的时候多少?把它这个值都乘起来,这不就是所谓的。X1出现了X2也出现了,XN也出现了,因为我们这为是独立的嘛,所以他们乘起来就可以。这一步用的东西哈,其实就是它。
就是我们要向求PXYZ这个联合概率哈,我们怎么算?如果XYZ是独立的那就可以写成PX乘以PY乘以PZ,对吧?这里面一样,我们这里面只是把XYZ换成X1X2的XN嘛。
那么说只是把这些值分别去乘以它的那个概率,然后乘起来不就可以了嘛,对吧?这里是XPXPYPZ乘3个,这个里面就成N个嘛,无非是这玩意儿嘛,对吧?这个我们就认为是我们的似然函数,对吧?因为是关于样本的嘛。
然后这里面啊我们如果把这个。正常来讲哈,这个西塔是固定的对吧?未知的一些参数和X是我们来抽取出来的。反过来看这个问题,样本其实是给定了的。西塔是我们未知的东西。对吧那这样的话。
这个东西就可以看作是关于西塔的函数。这种关于西塔函数是关于样本相关的西塔,所以我们叫做似然函数。所以这个函数哈。未知量只有西塔X是已知。那么说我们总能通过一。各种各样的办法。求这个函数的极大值。
求出了那个极大值是几那个西塔能够取几O我就把那个西塔带进去。我就认为这种方式求出那个西塔值来了,这种方法就是所谓的极大的似然估计。对吧。呃,这是我们的一个重要概念哈。
事实上大家不要觉得吉大师战估计这个内容非常的古老哈。这套思路的提出离咱的生活非常近,大概也就是100年的时间。就是人类认识这个东西时间并不长哈,100年比那个什么微积分要晚的多哈。
那种它大概跟就是跟光电效应啊,跟跟那个终止原子发现哈,那个是同时期的,就就那玩意儿跟集合论啊,跟那个是同时期的一套思维习题哈。所以是个很近的概念,其实本质上。呃呃,刘超说,从已知数据抽取数学模型。
可以怎么认为哈,对吧?抽取一个数学模出来,但这个模型这个模型太简单了而已是吧?这N个西塔失取不同的值,然后看哪个西塔哪个值能够使得40函数有最大,就选用哪一个值作为最终的西塔值吗?是的。没错哈。
这个这种理解没有问题哈,我们给个具体例子好了哈。我们给个具体例子哈,当然这里面这个咱就不讲了,这个这个咱就。咱回头来再看就好了哈。就是说其实咱实践当中不是。直接去算自然函数的极值。
是取对数之后得到所谓的对数自然函数,取对数自然函数的导数,然后得到注点,然后分析这个注点是极大值或者极小值等那些东西哈。对吧然后呢,我们给个具体例子哈,对对看这个那老师老师混是吧?看这个。这个呢比方说。
加三估计,我们目的就是找出和样本的分布最接近的那个概率分布模型,对吧?比方说举个例子,比方说十字方用币,我们得到结果,正正反正正正反反正正。那么十字方用币哈得到这个结果。
OK我们假定这个P这个小P哈是每次抛用币结果为正的概率。这个P是未知的哈。我们要算的就是这个P。对吧我们不知道抛M币得到剩的概率是多少吗?不知道这个P是多少,我们要算的就是这个东西。
O我们就得到它的自然函数,这个大P,它是第一个得到的正,它的发生概率是P。第二组得到正发生概率是P,第三次是反,它的发生概率是一减P,这个是正是P这都都都都写成10次,对吧?
大家很显然发现这个东西可以化化简一下,得到P的7次幂,一减P的3次幂。对吧。问题来了。我们现在其实得到一个什么东西呢?我们如果大家看这个觉得不熟哈,但是我这么写。给定一个函数FX。
它等于X的7次方乘以1减X的3次方,并且X是从0到1的。对吧这是咱的那个定义域,对吧?X是有0到1的。然后你算一下这安F这个函数的极值。X的7次幂乘以1减X3次幂它的极值。不是这个问题吗?嘿,合算了吧。
😊,这个函数求吉,这还不容易。😡,对吧所以他求极制怎么做呀?我现在没有给哈,总么做这个函数求集值。我这里敲了一瞧。给单敲一下哈。呃,直接求导搞不定哈。直接球他搞不定。
就说还记得咱在第一次跟大家说的取对数那种方式吗?FX取6之后就变成了7倍的Lin,加上3倍的Lin1减X。对于这个函数两边再求导,就是X分之7。OhX。逾期加上。单倍的1减X,然后他取个负号。
对吧就这玩意儿嘛,你让它取等于0,我不就求出来了吗?这样的话X就能求出来等于0。7,对吧?就是这里面的这个东西嘛。这套思路就是极大市场估计的思路。OK了吗?就是你给定这种样本,给定这个样本。
我去求这个函数的极值。我求完极值之后,那个值就是认为是这个。在这种极制之下的这种自然情况的一个估计。对吧事实上你如果真要是较真的话,你要取它的二阶导,看它是最小值还是极大值,事实上是个极大值,对吧?呃。
我这样哈,就是说小小江朋友说了一个,说这是极值还是最值呢呃。这样哈就是说在教科书中这两种说法都存在,有人把它叫做最大自产估计,有人把它叫做极极大自然估计呃。嗯。可能可能叫最大自然估计,也许是更合理。
为什么呢?因为我们想求的是全聚大嘛,但是事实上咱的实际的做法上哈,实际的这个呃做法上其实都是直接对它求注点得到的。而你求注点本质是求的极大值。对吧所以说你的做的内容其实是极大自场估计的过程。
所以我有时候会更倾向于把它叫做极大自场估计,这是一个说法而已哈,对吧?好了,这是关于这个问题哈,下面呢。呃,也就是对于西塔不需要预先。那当然了,就说这套理论是非常完备的。
不需要说西塔预先取几几几几几张得到的啊,咱就上来就算就行了。对吧。是吧这所以说这套理论。嗯,咱现在看起来是一个呃很简单的思路哈,但是人类发现它其实很漫长,是吧?你想从。呃。
从地摩佛到拉普拉斯到包括到欧拉,对吧?包括到高斯都没有。把这个东西完整提出来是吧?这是很漫长的一个东西,对吧?啊,这没准,有可能有可能是极部最优解哈。但是在指数足这套框架下。极值就是最大值。
它只有一个极值。所以说大家放心用就是了哈。呃,是的哈,就是刚才咱用的是西塔。其实咱习惯上用西塔。比方说这里面如果二项分布的话,其实就是这个概率P嘛。咱就举个例子,正态分布的话。
其实那个西塔就是缪和西ig玛。对吧然后啊指数族的话,大家看看咱第一次可跟大家最后谈的过指数组哈,其实简单的提了提,就大家知道这个理论就好了哈,是个严格意义性的一个数学理论哈。指数族分布。
比方说正态分布脱层分布,高速分那个像什么呃两点分布,二项分布呃,均指这这就均匀分布,这就都都属于指数组分布哈,都是那个族的,他们是一家的哈,其实。呃,一个一个大奖还没出五福。是吧O哈。
我今天可能又要需要拖堂,大概十0分钟吧。咱啊最后这条讲完哈,因为这个例子还很重要,非常非常重要,就是正态分布的极大自然估计是多少。我们现在给定一组样本,就是结论很重要,它的推导过程更重要。看一下哈。
就是给定样本N1X2的XN。并且我们知道它是来自于高斯分布的,来自于某一高分布,均值是缪方差是西igma,但是不知道缪和西igma,你来估计一下缪西ma是多少,条件是XGI到XN是一致的。
这N个样本是一致的缪和西ma位置去估算这个东西。利用刚才那套分析的思路MRE哈及他自产估计。首先我们写出高斯分布的概率密度函数是长这个样子的。对吧包我可能用不了10分钟哈。然后。但里面还是长这样子的。
然后呢,这个XI这个样本它对应的值是小XI,对吧?把它带到这里面去,对吧?那我说在XI的时候,它其实就是把这个X写成XI嘛,对吧?那这样的话,我们写出自然函数来,就是这X这N个自然的概率密度值相乘。
对吧?iphone1到N这N个值相乘,是它这是我们的自然函数,对吧?对这个自然函数显然。这里面XI已知哈这个拍我这这这个常数了嗯。缪和西igma是未知的。我们其实想求的是这个函数的极值。
大家如果是直接去看这个东西,如果大一让大家看的话,就觉得会非常复杂,这是什么玩意儿?让我求极值,事上很简单是吧?我们先对它起对手。这个东西呢取对数就得到所谓的小L,就是我们一般把它叫做对数自然函数。
既然这是一个对乘积的取对数,那么说就把它可以写成对数乘这个乘积的对数嘛,就可以写成对数的加和,对吧?这是对数本身的性质嘛,然后这是一个嗯这个数和这个数又是两个数的乘积取对数嘛,因此就是前边这个数。
和后面这个数取对数,对吧?而这个是这个数取指数再取对数,所以说就光剩下这小部分了,光剩下它了,对吧?而这个东西是个常数啊,这是埃1到N这几个数加起来嘛,对吧?所以说这个log这个数有N个而已,对吧?
我们把这个2分之1次方,那个2分之1提过来,就变成2分之N,这是负的嘛,对吧?这是把这个符号体也提出来了,就变成2派西方了,对吧?因为这是在这其实是二派西格马。呃,方它的负1次方嘛,对吧?
所以那个负一提出来是个一个负号,对吧?变成这个东西。右边这个这个符号拿过来,放到这儿2sigma方拿出来,放到这儿里边这个东西就是它。对吧所以说这个对数自然函数就把它化简成了这样一个形式。
对吧让这个东西在对里面的。缪和西ig玛分别求偏导,然后让它等于0,最终对这个式子我就不算了哈,分别求偏导,然后让等于零就能算出来你的缪是等于这个的。sigma方是等于这个的。但是简单就能发现,其实你。
这样就好了好的吧。这个就是通过极大自然估计去估算的正态分布的参数的最终结果,对吧?这个东西我们看一下哈,其实这个结论跟我们的取估计的结果其实是一致的。对吧并且它的意义也是非常直观的。
样本的均值就是高斯分布的均值。样本的尾方差就是高斯分布的方差。再次强调哈,经典一的方差是分布式减一。提亚斯然估计的时候,它的求的这个方差是N,对吧?这里面其实除了是N哈。
而这个东西真的是符合我们的直观想象的对吧?这个东西哈,咱其实在。在那个线性回归里面,还会或多或少看到这样子一个变化的影子。然后呢,这套东西咱在后面讲到EM算法的时候,讲到高斯混合模型的时候。
也会再次去看到啊。但是那个不管哈,咱今天先把高斯分布的极大自然估计的算法,把它搞清楚,就这么算了。给定了样本我就可以上。算的方式就加算。OK有问题吗?没有问题啊。OK okK那今天咱主要内容就讲完了。
对吧?这就是咱今天要探讨的重要的话题哈,吉大自然估计来去解释这个事情哈。😊,啊,因为这段最重要了,对吧?最重要了哈,就是吉大三5计估计哈。呃。就是我所感觉到的是什么呢?就是极大自然估计这个东西啊。
它其实没有大家想象的那么难。问题是什么呢?问题只是大家时间长了,忘了咱把它回忆起来。几估计呢只是为了引出极大自然估计跟它做个对比。我想告诉大家的就是说除了极大自然估计,还有别的方式去做。
但是呢几估计其实应用并不多。对吧并不多了哈,然后这段呢我这个又给它切到这儿了,大家呃还是看下就好了哈。小谭又谈到了高斯温模型哈,高斯温模型里面每一个观测者XI就是说只来自于某一个高斯模型。
还有这么理解吗?不可以。就是小谭说这个问题不可以这么理解,可能大家。呃,我们在谈到高斯混合模型的时候,再回去跟大家解释这个问题啊,那这不可以这么来理解,我们只能理解成XI是这N个高斯模型混合得到的。
它可能80%来自于第一个高斯分布,10%来自于第二高斯分布,5%来自于三个分布或者5%来自另外分布,对吧?不能认为是某一高斯分布价。OK这个咱上面讲过了,也不说了啊,这是先艳后艳和自然哈。咱今天。
不谈这个事情了哈。呃,这里边呢给大家留一道思考题作业哈这么来说的。😊,抽样我们随机抽样发现哈,7月提供APP的用户实际年龄发现。他的年龄的均值是25,他的标准差是2。我们已经得到这种信息了。请问。
这些用户实际年龄,他位于21到29岁的概率至少是多少?这个题目应该怎么算?这个题目是一个实际的一个笔试题哈,只是我把它。偷梁换柱,把这个题目变成企业7果APP哈。企月75app。
这个题目我要问一下大家怎么算呢?我想强调一点呢,就是说我这里没有。没有给定。我没有给定这个。分布是什么分布,我不知道它是高速分布还是坡速分布,还是乱七八糟呃不可能坡速分布哈,还是比方说它是坡速分布。
还是它是高速分布还是均域分布,当然不可能碰能均匀分布了,对吧?是这么分布,对吧?事实上这里边用lois说的是对的哈。刘易斯说是对的,那个这个东西它其实应该是用J不等式来做的。
对吧因为我没有说它是正态分布,我们只能把它认为是切不缺,不能是严格那那种。那种标准那种那种一般意义下的那个分布,对吧?大家带一去算一下就好了哈,这是第一个思考题哈。
第二就是咱刚才谈到这个刚才小谭朋友说那个事情了,就是说如果说我们的随机变量无法完全得到,大家思考一个题目怎么做哈。就是说我们随机挑1万个志愿者测量他们的身高,这个身高哈,它可能存在男性和女性。
假定男性的身高是高斯分布的,miV sig一女性的是那个分布也是高斯分布的。显然这是有两个高斯分布混合得到的这些样本。这个样本其实我没有踩全,我应该踩全的话。
应该是采到呃身高性别、身高性别、身高、性别这样一些东西我们就可以正常去用高斯分布去做。用那个加酸估计用那个去做了。但是呢这里边这是一个呃部分样本得到的。所以说这个事情这是一个混合高斯分布。
混合高斯分布的话。最方便的解法就是EM算法。就是期望最大化算法EM算法,这个是一个非常重要的算法哈,咱后面会拿出一次课的时间来跟大家探讨这个问题。当然这个东西可以积烈的去做哈。就是这个问题。
另外呢别忘了,就是说咱刚才跟大家前三个问题是跟大家在咱PPT里面讲的过程之中提到过的。对吧另外呢再来说一个问题哈,就是说。嗯,我们可以仿照指数分布的那个概率密度函数,大家还记得吧?
指数分布概率密度大体上可以写成它,对吧?这指数分布联系分布嘛,对吧?既然有指数分布,那么我们就可以指有指数函数。我们有一个幂函数,那么是我们就可以通过指数函数来去指数分布来去猜一个幂分布。密分布的好听。
我这叫幂律分布,对吧?密律分布这个X负S嘛,当然可能有个系数,A,对吧?保证它规划了嘛,大家查一下文献,找找关于密律分布的有趣的东西。常尾分布哈密率分布。是。呃,咱一般的教科书不太介绍的。
但是呢在实践里面有趣的一个东西啊,常尾分布。大家可以看看这个相关的内容哈。并且密率分布常尾分布,它的期望它的方差是什么呢?大家琢磨琢磨啊,这是一个很重要的话题哈。好了。
这个文献呢就大家实验找一本关于概率论收通知书,打开都能找到这种那种东西哈。是的,K荐系统里面会设到涉及到这个事情哈。好了,那今天呢咱就主要的话题就这些哈。然后呢咱可以在咱的呃大家可以上点题。
然后呢也可以这个看看咱的那个官网啊以及微博微信呢,我们共同来探讨今天内容哈。好的,这个等会儿呢会把PPT放到咱的这个群里面哈,这个没有问题。然后呢,今天咱就先到这哈。
咱明天继续关于关于积极学习的这个下面的内容的探讨哈。好好好好好,谢谢大家啊。
人工智能—机器学习公开课(七月在线出品) - P14:来自工业界的经验分享:机器学习基本流程 - 七月在线-julyedu - BV1W5411n7fg
好,咱们开始了啊啊兄弟们啊。😊,O嘞好。😊,哎,我先问一下,就是你们这个这个对这个基学习的这个之前有做过吗?还是说没没做过?😡,啊,因为我们今天主要是就是跟大家一起这个过一段这个基学习的这个整体流程。
然后包括一些基本的分类啊,回归模型,然后还会讲一些京东的京东的一些case啊。今天的这个比赛的这个case啊啊你们有是有多少是非资算机专业的,有吗啊。😡,就不能相机啊。不是计算机专业,转专业的。😡。
扣一啊。okK啊,好好好,那那咱们就这个咱们就先开始吧啊。😊,统计专业的统计专业可以,统计专业的呃跟我们这计算机专业还是比较像的啊。😡,Yes。还有学农药的啊,好吧,咱们先言规正道吧啊。
先说一下这个今天这个几个就是三趴啊,第一趴是这个第一趴这个是呃机忆学习一个张术啊啊,基本上大家做机忆学习的人这个呃入门的啊都知道啊,就是首先是有两个,一个是这个非非监督学习,还有一个是这个监督学习。😊。
啊啊,我是老家是东北的啊,我家是东北的啊。😡,把家弄北了呃。啊,开始了啊已经开始了。😊,呃,然后我们今天是这样啊,就是我们今天因为我看到这个打字还是这个挺多的啊,我还是尽量这个尽量先说这事儿呃。😊,呃。
尽量先说这事吧,好吧,这个因为这个如果是挨个F徽肯定是聊聊不过来嘛,对吧?😊,我回答这个学生的,这个也能后也呃呃回答不了那个学生的。呃,我是应该说是一个这个互联网的这个资深的这个老兵吧,好吧。
资深的老兵吧,就是这干过很多很多活啊啊从这个最经典的这个CTR预估,就是广告点击预估,包括这个啊re system啊,然后再包括这个啊比如说这个b data一些大数据,然后dataman啊。
包括这个啊compilation图像这个图像视频这些事我都做过。😊,应该算是在这行业应该就是待了差不多也快也有这个也有十来年了啊。啊啊就是这些事基本上都都见过,也都做过嗯。嗯。All。这个集训人这块呢。
主要还是先这个给大家一个这个整体的一个呃对这个我们这个就是做算法的一个框架啊,一个框架嗯。啊,这块在机一般来讲啊,做算法,一般大家都想是说是这个陌身 learning领嘛,对吧?
先做机学习OK那这个呃最开始在这个啊16年之前啊,大家基本上做这个机学习,一般都分2块啊,一块是这个啊叫阿斯和外界 learning领,就是非监督学习,一块是监督学习OK啊。😊。
其实在企业的就是在企业内部啊,这里写的是两个,但企业内部大家基本上大部分人其实都是会去做这个supervis learning啊,就是很少会有这un superervis learning啊。
我不知道这个我说的话这个。你们能不能理理解啊,为什么说在企业内部大部分的人都在做这个supervis的啊,但是昂 superervis呢基本上啊没有没有什么很少人做啊呃。
如果说有这个能理解这个话的这个呃同学可以在里面说一下嗯。😡,啊,就是我们这个大部分的基本上进这个。正当是,比如说你。你你要进这个进BOT对吧?这个这个百度啊啊对吧?阿里腾讯,然后现在包括头条啊。
包括头条对吧?现在这个这个头条起来了呃,包括还有美团,对吧?啊,这些公司其实大部分都是这个有lago的数据啊,有lago的数据啊,其实你们说的对啊,一个是无监督,就unurize的难做啊。
这这一这是一个这是一个这是一个技术问题啊。但是这个实际上问题是其实在公司里面我们都是能拿到有lago的。😡,有来弱的数据。啊。啊。就是公司里面大量的都是这个。都是有lo默的有lo默的。
比如说这个广告的点击率,对吧?然后你比如说这个那是广告系统,做推荐系统啊OK我肯定能拿到这个用户的这个反馈的这个信息,对吧?各种反馈信息都有,对吧?Yes。啊啊你比如说这个呃。你比如说你这个用户。
你点了这个广告,对吧?他的这个数据会被你的这个点击行为会被这个啊label下来啊,通过这个这个客户端对吧?然后再返回到这个ser端,然后通过这个啊log再进到这个比如说进到我们这个大数据集群。
然后作为一个这个样本的这个label,对吧?OK这就是这个其实其实将来你们这个进融这些企业来工作的话,其实大部分呢还是会去专注在搜当中啊。OK这是在1万年之前。😡,啊,但是也有啊,比如说这个聚类对吧?
就是这个就没有没有logo了,就你你实在弄不到logo了。OK你就去给他这个一般来讲,包括聚类就分三种嘛,一种是强制聚类对吧?对吧?还有一种软剧类就是高斯高斯模型啊啊,但是这个呢这部分工作呢。
这部分的工作呢,其实大家将来如果说进入到互联网工作,对吧?这个做算法ok我告诉你基本上你不会碰啊。😡,Okay。啊,大部分都是还是在这个专注在ser rights当面啊。比如说用这个用数模型。
用这个深度深度学习模型对吧?包括这个buting,对吧?然后包括这个啊啊现在这个比较流行的什么叉B boost的对吧?啊,都是在这个都是有lolo的啊,就是大家会接触到大量的有lalo的这个这个工作嗯。
啊,这是16年之前,那OK那16年之后呢,又出来一个东西叫做这个强化学习啊,这是一个比较新的啊啊,然后呢这个门槛也会比较高啊,它是通过这个人呢在这个环境当中的交互啊,就是你给这个呃环境一个激励啊。
一个交互一个激励啊,他通过你这个人的这个激励呢,然后呢不断的去学习你的行为啊,不断的去进行这个对你的行为呢进行不断的一个强化啊,这块是强化学习啊,但是我觉得就是对这个对对咱们来讲啊,可能大部分的工作啊。
就是大部分的这个包括你的这个学习的内容啊,可能都会集中在这个绿绿色的这一块。😊,啊,就聚焦在这个绿色的这一块,就这个监督学习啊。那我举个例子啊,我再问一问,就是有多少人做过这个点击率预户模型,有没有?
啊,有接触过吗?或者听到过啊。O。啊,好,那我就简单介绍一下这这一类模型。比如说这一类模型是比如说根据这个通过你的这个大量的这个用户行为。啊啊用大量的这个用户行为啊,比如说这个用户对广告的这个点击。
对吧?比如说曝光未点击这个行为啊,得到这些海量的这些样本,然后拿这个比如说现在是最流行的什拿深度学习模型,对吧?比如说像NR这个包括之前我看有学员说这个这个相呃这个相像机对吧?啊后DFM啊这些模型。
然后对这个用户的这个海量的行为进行学习,能够去啊在这个推荐系统里面,就在这个广告系统里面能够去预估准确这个广告对这个用户点击这个概率啊,根据这个概率值呢,然后会排个序。
然后把这个根据这个排序后的这个广告的这个清单啊会啊展现给用户啊,就展现给你。啊。🤢,就这个过程啊,而说这个点击预估呢呃,这个基本上所有的对于你们像入门的这个同学来讲,应该是。都要去这个经历的啊。
就是啊啊都要去做这样一件事情啊,因为做这件事情呢,可能对你们这个啊一为这个事情是所有的公司啊,基本上这个啊所有的不管是大大小小的公司啊,他基本上只要他投广告,对吧?做广告做平台啊。
都会有这样的一个都会有这样的一个一个工种啊。对吧他这个功能呢它都有需求啊,基本上呢这个需求呢可能会啊包括了很多,比如说这个会有数据组,对吧?这个呃这个数据组做啥呢?
就比如说这个在所有的这个海上这个点击里面,对吧?有很多是作弊的,对吧?有那种刷单的。😊,对吧然后包括有这个。啊呃。就是用户这个无法判断的这个误点击,对吧?有这种噪音的啊。
他可能会去专门去做这个做这个处理处理数据,专门去清洗这个数据啊。呃,然后这个。然后还有这模型组啊,模型的话就会去呃大量的这个优化这个model啊,大量的优化model。啊。
比如说这个设计就是设计一些这个针对这个业务的这个模型。啊,针对业务的这个模型啊。这个啊这个这方面的这个工作呢,可能你们将来这个进入这行啊,可能都会去遇到。因为这方面的这个缺口呢。
其实这个呃这个招聘的这个缺口呢也很大啊也很大。啊,点击预估呢是这个是这个 superupervis money里面的其中的一项啊,只是一个小项啊,当然还有很多这个很多的模型。
比如说这个啊很多supervis,比如商品预测啊,预估这个商品啊,会不会这个被这个用户购买啊,包括这个比如说啊在这个广告再深了一层,就是这些用户点了这个广告,我们去预估准了,他们点了这个广告。啊。
点了这个广告之后,然后这个用户会不会下单,对吧?啊,这个事情其实也是一个可监督的一个一个model,对吧?就是可监督的一个一个学习。我们除了这个预估这个就是广告的这个点击率之后啊。
然后啊同时还要去预估这个。这个广告点击了之后呢,这个用用户是不是被转化了,对吧?是不是在这个商家啊进行了这个购买这个商家的这个商品,或者是购买它的这个对他进行下单啊。
这个可能啊就是类似于转化率模型的那这个也是一个这是可能是对于这个呃商家来讲,可能是最这个。就是最关心的啊,那这部分呢其实也可以去猫叨啊。😡,啊,我不知道大家听明白没?我刚刚说了两个事儿,一个是点击率。
对吧?一个是这个转化率的一个这个转化率的一个模型。这两件事儿大家听明白了吗?有不明白了吗?😡,啊,OK啊,扣一就明白啊。OK那我再问一下,你们说这两件事哪件事更更难一些。就这两件事。
假如说现在我有两个任务啊,一个是点击率model,然后还有一个转换的模型,谁更难啊。😡,啊。啊,对对对对对对,没错。ok ok。😊,OK啊。O。啊,转化率是更难做了啊,包括它的特征设计。
包括它的这个啊这个label的获取啊,这都是这个数据都是呃更稀疏的啊,就是比这个点击率更稀疏的那对于这个。对于这个呃大规模的积极学习来讲,它肯定是数据是越稠密啊,越丰富是越好的啊,那么okK。
那我再问大家一个问题,就是其实真我们现在在讲这个机学习啊,这个是通过这个海量的数据去学习的。但是但是还有一个问题,大家思考一下,就是咱们自己平常是怎么学习的。比如说一个小孩,对吧?
他从这个呃就是人脑真的我们在做这个很多都说这个现在做各种这个深度的学习网络,比如说转辑网络啊,什么RN啊STM啊这些东西,那然后就拿这个很多的这个很多这个数据,然后很多的图片,对吧?
视频拿去喂为什么mod着把它串出来。那我的我的一个问题就是我们想想我们从小到大,就这个人脑是怎么去学习的。😡,是我们去针对这个是给这个小孩看很多的这个看很很多的东西呢,他去学习呢,还是他看到一个。
然后就联想到另外一个一件事儿。我举个例子,比如说我们会去。😡,给比如说我们会去给一个小孩看1000张1万张老虎的图片嘛,然后再教会他这个是老虎,或者再给他看这个1000张1万张这个猫的吗?
或者是这个1111条广告扔给他,对吧?这个是不可这个是不会的对吧?😡,也就是说其实啊对吧?这个肯定不会,这样这个大家都清楚,对吧?OK那OK由此继续学习呢这个监督学习可技这个大规模数据监督学习啊。
最近呢还有个是比较这个。😡,你说来一个比较火的这个。这个研究方向也叫st learning啊,我不知道大家有没有听过这个自 short learning啊,fe short learning。
就是呢这个是小样本学习。😡,有没人听到嗯。😡,有没有思考过这个问题,就是我们今天拿这个机器来学习,对吧?OK好,有人听得不错啊。😡,我们拿这个拿这个这么多的数据来学习啊,拿这个这个神经网络,对吧?
我们设计des这个。😡,呃,design的这个这个很复复杂的模型波FFM对吧?DFM对吧?这个加深网络层数层述,对吧?然后这个加呃改更改更多的这个机构函数。啊。改更多的这个激活函数OK。啊。
然后来学这再然后再这个花了一个很长的很长的时间来学这个学这个点击率模型,对吧?或者说学一个认知一个一个图片,对吧啊。啊,但是真正呢其实真对我们这个人脑的这个学习呢,其实非常类似的,还是也不算是强化学习。
还是一个小样本学习。也就是给你一堆小的很小的样本。比如说就只有一张图,对吧?或者是一条样本,然后你能够通过这一条样本来学出啊学出它的这个让这个模型具备放化能力啊,OK那这是一个纵生啊,众生啊。
我这个今天是给大家这个啊说一下啊,其实说一下啊,那后面不会提到这个社的表面啊。😊,啊,这是一个众生啊。啊,主动学习,我不知道你说的是什么叫主动学习啊,没有听说过啊。😡,没听说过主动学习啊。啊。啊。
IT观念啊IT观念经过啊。😡,啊。对。但是啊但是我告诉大家啊,其实在企业里面啊,就是啊比如说啊比如说这个像小二本学习,对吧?像trans learning啊,包括这个sivervis learning。
我告诉大家,其实最好最最容易做的是supervis learning啊。😊,就你们将来挑工作对吧?对吧?老板告诉你们说有A任务A任务B任务C对吧?任务A是一个这个大规模的数据。
然后点击率模型任务B是一个什么t runningning对吧?任务C是受到ningO我告诉你,你就选A好吧,A是你你是压力最小的。然后你能最能够这个最容易的去拿到成绩啊。
比如说这个我们在这个监督学习里面啊,去看AC对吧?去去看这个点击率,不管是广告点击率也好,商品点击率也好。😊,啊,对吧。O。啊,这些都是呃这些都是你们将来可能会遇到的问题啊啊那我告诉你。
你们就选A选这个这个svis啊。因为为什么呢啊,那我们告诉你为什么呢?除了他这个这个数据丰富以外啊,这个一个是研究的人也多,对吧?然后呢,我们针对这个svis learning啊。
我们是在这个企业里面是总结出了一整套这个怎么去把这个model给它做好的1一个类似于这个流程化的这个一个工具。也就是说我会给你一个老板给我们一个任务,对吧?😊,okK我有这个就是我有套路啊。
我会去有套路啊,就我们今天讲的这个啊继续学习的这个基本流程啊。啊,有这个套路啊,去这个啊去不断的去把这个指标做高,对吧?比如说我们很多这个人参加竞赛,对吧?怎么去做高指标。
然后这个model的问题出现在哪,对吧?是这个啊overfi啊,还是underfitting啊,这些呢啊你们都是就是就是我们都会有这个。啊,就是一个这个比较这个模式化的东西啊。
就类似于八股文来讲去把它解决掉。啊,我希望这个啊然后呢,我我其实还是讲综述啊,还还是会过一遍啊。因为这个啊大部分还是这个啊韩老师的这个啊啊照着他的过啊。
但是呢这个我还是会去说一些这个呃就是说一些啊一些我的这个这个这个理解和经验吧,就告诉你们将来怎么去避过障碍,对吧?咱们这个。😊,对吧就有些事就别干,对吧?有些事儿这个就得干是吧?😊。
比如说这个min face learning啊,那我告诉你这个我们的看法是什么?就我们对这个这个model的看法是这这个算法的看法是什么?就是啊这个算法比较比较复杂啊比较复杂。然后呢好落地啊。
就是特别不好落地OK啊。😡,就特别不好落地啊,所以这个将来你们要是呃比如说在这个对吧?在在什么大公司对吧?AATM上还是BAT还是还有比如说拼多多对吧?然后这个去头条,然后这个。啊。
一些小公司啊啊老板说做一个强化学习啊,要小心一点啊。好吧,就是我就这个啊有我的这个我不是呃就说不是咱们不是说不做这个挑战性,这个更更大的东西啊,不是说避开这个挑战性啊,我的意思是啊大家先做保底的啊。
就是先拿到自己的creddit啊,然后再去做那些新的东西。😊,啊。啊,不是说不做啊OK然后这个说到这个。😡,这个监选也除了这个点击率预估里面啊啊,然后这个在这个搜索推荐啊。
我们这个其实大部分啊就是加到你们这个找工作啊,这个这个这个往这个行转啊,大部分啊可能都会做这个搜索和推荐啊。所以我推荐里面呢有一个model叫做相关性模型啊,我不知道有多少人听过reS modelel。
😡,也就是说这个。啊,用户分了个qury对吧?就就比如说这个这个。啊,说了一个que儡啊,这个que儡叫7月在线,对吧?然后呢,这个啊这个这个索引呢对吧?咱们这个广告库呢。
这个网页库呢就会从这个索引里面拉出一堆关于这个啊7月对吧?还有在线,对吧?7月在线对吧?然后还有什么光线在线对吧?各种在线啊,然后各种7月对吧?😊,对吧甚至把五月天都给拉出来,对吧?
那okK那这些海量的这个候选呢可能会有一个model啊,然后会去校验就是把这个海量的这个网页啊,海量的这个海量这个网页这个特征啊和这个用户搜的这个 queryry去计算这个。😊,相信啊。
通过这个相信呢先过一道,也就是。啊,让这个比如说我有这个一万个候选,都是关于企业在线的,或者都有7月啊,都有在线啊LRP里面的对吧?那OK那O那么问题来了,那那这么多候选对吧?扔给这个。😡。
给你的这个线上部署的这个点击率预估,你的这个预估model,对吧?你去infence对吧?你这个性能肯定是扛不住了。所以这个在这个最终的这个ro model之前呢,对吧?
咱们这个排序呢点击率预估排序这个模型之前呢,可能会有一道卡。这个卡叫有一个阀值,这个阀值叫相关性的阀值。我们内部叫quality啊re qualityalityQ啊,简称reQ。
这个呢是会去呃有监督的啊,去计算这个出来的候选和这个和这个用户搜的这个quire的这个相关性。OK那这也是一个supervis learning。但是我要告诉大家是为什么说这个事呢?
就是对于这个监督模型,这个相关性的这个监督模型啊和这个点击模型的不同点在哪里?OK那点击的模型呢可以通过这个用户的这个点击你去取道,对吧?你这个所有的用户的点击我们都可以啊落下来,对吧?
通过这个fu对吧?然后拖到对吧?再拖到再拖到spark对吧?然后ok这个la的数据有了,你就开始了,对吧?😊,O跟消息模型。😡,那我想问一下大家。那么这个query7月在线对吧?
和这个7月的一个一个派偶队,对吧?跨尔队,然后和这个在线啊,和比如说这个5月在线对吧?6月在线对吧?这个相关性相关性的这个modgo啊,从哪获取,这个有谁知道嗯。😊,有人知道可以在这个在这个群里说一下。
😡,啊。明白我的意思吗?就是兄弟们听明白了吗?😡,就是你这个像你这个各种点击率,对吧?商品一波什么的,你这个可以通过这个用户的行为拿到这个label。但是我们在里面做,比如说做一个相关性模型。😡。
要去计算这个网页或者计算这个商品和用户搜的这个快的这个相关线。兄弟们。😡,你们知道这个label是怎么获取的吗?肖关。😡,啊,相关系数对相关系数怎么得到?就这个这个比如说这个这个网页对吧?
网页的内容或者是这个商品的内容和这个用户做的query是不相关。😡,啊,这个nbe怎么得到,大家想一想啊,考虑一下。😡,啊,咱们今天就互动啊,咱们今天就是各种实实战的问题互动啊,就玩这个。啊。
是怎么得到啊,就是这个问题啊,这是一个问题。就你你从哪里去拿到这个相关的数据啊,这个是就这个label怎么拿到,对吧?你的确有不多不不不多这个这个这个很多的这个候选啊。
就但是这个query和那个query啊是不是相关?我举个例子。😡,比如。no no no啊,我举个例子啊啊,有一个叫做这个有一个叫词叫做巧克力,对吧?有一个词叫做巧克力蛋糕。😡,这两件事是一件事吗?😡。
不是吧,巧克力和巧克力蛋糕对吧?要是搜了个巧克力,我给他出了一个巧克力蛋糕,对吧?这肯定不对,对吧?就不是要他想要的。😡,啊。啊,那这个label是啊这个label对吧?这是没有的,你你是拿不到的对吧?
啊,比如说这个巧克力和巧克力量,但是这两个宽ry呢,这两个词很像对吧?里面你比如说你算这个长度啊,匹配度啊,很像,但是他说的呢语义不是一件事,对吧?那好吧,这个讲了很多这个通用用务行为来来来获取的啊。
那我告你这获取不到的啊,因为你不知道它是不是相关的不相关的啊,词销量是你对它进行这个特征抽取啊,但是我问的是lago怎么得到那其实在企业里面,就是大家将来这个进了这个百度啊,进了这个阿里啊,对吧?
腾讯啊对吧?这些google啊对吧?微软啊对吧都会遇到这样一个问题,就是O它是这个监督问题,但是呢你要拿不到这个solo的label,那我告诉你。😡,这个label是通过众包PK下来的。
也就是众包评测的okK也就是什么意思呢?就是说可能是有一波专业的这个做这个相关性做搜索的。😡,他会去对这个整个的训练的这个语料进行一个label的评估啊,这个时候会拿到一个就你会有一段时间空仓期。
也就是会等这个label。听明白了吗?也就是说你将来要准备的数据,对,已经是人工标注了啊,他跟这个普通的点击率对人类的,没错。😡,Yes。啊,有一个同学是看不到那个那个有没有助理助理老师帮忙看一下。
Okay。okK那我告诉你,你会准备这个派对啊,准备出来这个冲越抽样来准备配对,然后呢拿这个派队去提供给这个比如说我们的产品啊,然后还有这个这个外包人们去评估啊。😡,啊,比如说这个B加的啊。
我我将来我说我后面说这个呃这BAT就是百度就不直行百度啊,就是B加啊。咱这个B加呢就是这个评出来的啊,搜索啊,就是它这个大搜啊大搜里面就是评出来的评估的啊。
也就是你们会有这个会有一段时间会去等待这个label数据。包括你的model拿出来之后呢,你要看case,对吧?😡,啊,就是你在做就是咱们在做这个机器学习的时候啊呃。😡,就不仅仅只是看IUC啊。
宣不转啊。😡,可能我们在参加竞赛的时候,可能就是以指标为论,对吧?为指标论。比如说AOC对吧RSMSE对吧?这是指标论。但是我告诉你。😡,在指没指标链在公司里面是会有问题的啊,仅仅是没指标链啊。
咱们会被老板给。😡,啊,老板给这个b掉。😡,就是为指标链绝对不是一个这个合理的方式啊,就是大家需要在这个将来需要在这个指标和cases之间去进行一个balance。啊,你可以这么理解。
也就是互联网的这个公司啊,有各种这个各种办法去收集label数据啊,收集label数据啊,其实就是通过这个人来标的啊人来标用的。😡,嗯。啊。OK啊。😊。
也就是不仅仅是okK你你你将来你这个比如说这个消息模型,对吧?你训练出来之后。😡,啊,你的UC是吧,是0。8对吧?0。9啊,或者是多少,对吧?你这个这个指标已经很高了啊,但是我们经常会遇到一个问题。
就是啊我们看case发现啊。😊,其实推的很慢,你知道吧?其实出的很烂啊,出的很垃圾啊。😡,啊,这个时候呢说明什么呢?😡,啊,就说明这个你的这个你在这个设计这个整个的这个流程当中啊,可能有一部分的样本。
你的feature没有看不到。啊,这是兄弟们要记住的问题,就你你要做完UC其实很容易啊,我后面会讲这个怎么去做完UC啊,有N种办法把这些指标做好做的很漂亮。但是你要把用务体验做好,这个不容易啊。
也就是你你在每天。😡,再看这个自己的模型工作做的好不好,一定是要看两头,一头是看指标啊,就是看你这个lo方式乐啊。然后还有一头,你一定要去看什么,看case,看这些难的case,你就没解掉,对吧?
我举个例子,比如说一个用户搜了天天向上。😡,对吧。那你觉得他是这个你你是你是觉得出这个天天向上的这个这个综艺,就是湖南台这个综艺节目好呢,还是给他出好好学习了?你觉得哪个消耗性高呢?😡,兄弟们。😡。
对吧这就是一实际问题。我看到有一个有一有一个同学这个说上午天天向上,对吧?咱们拿这个天天向上举例。对吧你是出哪个好,对吧?这就是个问题对吧?对吧?很多时候model会把天天向上学成了这个和这个好好学习。
比较这个比较这个这个这个这个这个相似啊,兄弟们。😡,Yes。对吧你要去看caseokK然后你怎么看case呢?对吧?对,这个同学说的很对,结合用户画像,对吧?
okK那你就会你就会发现你这个model是不是能学出你想要的,是不是跟这个用户。😡,呃,这个真正的兴趣是匹配的对吧?😡,啊,比如说这个用户可能他是一个这个小孩的家长,对吧?天天搜什么这个学英语啊。
学什么,他可能都天天向上可能就是要学习了。我们这个用户呢可能就是因为这个对吧?小年圈对吧?天天看这个各种卫视的OK。😡,啊,他可能也就是你你可能就给他出这个快浪的音,可能他就会很开心啊。
他觉得你这个搜索引擎,你这个40引擎是是。😊,🤧不错了。O。啊。啊,兄弟们啊。啊,这是我要说的啊。😡,啊。对,也就是将来大家这个从事从事这个工作啊,都集中在这个绿块啊,然后这个绿块里面就分两波。
一波是你很容易拿到label,还有一波是你不能够拿到label的。😡,啊,但是呢我告诉你,大家这些事吧,你在这个比赛里面你是。😡,你是获取不到的啊,兄弟们,我说这些事儿,你在这个竞赛啊。
什么这个天池啊什么这这些啊什么卡go啊,这些比赛里面获取不到的都接受不到的啊。他是拿这个像类似于cargo啊和天池啊,这些网络竞赛啊,都是这个。😡,但是把这个数据都洗好了,然后脱敏了。
然后丢给你OK一个标准的这个bench mark在。😡,O。啊,标准的bonch mark,然后你去刷那个分对吧?你竞赛这个一直刷到这个他这个对吧,刷到天昏地暗,对吧?一直刷到他截制的那日期为止。
O你能不能刷出这个结果来啊?😡,啊,那我告诉你这个。这跟你参加竞赛和在这个公司的这个工作也是不一样的。啊,然后我再告诉你大家一些兄弟们一件事儿,就是咱们呢做这个机器学习啊,其实最核心的能力是什么?😡。
啊。很多人会说这个呃设计出一个这个复杂的一个算法,对吧?然后解出一个这个。解除一个什么这个这个设计一个什么落方式。😡,啊呃然后这个比如说包括什么呃,我们这个新手首推这个叉GB啊。
包括这个就哥们说的这个调餐啊,各种调餐,调的的时候好餐,对吧?这个在12年的时候很流行的一句话。😡,兄弟们。啊,我告诉你不对啊不对啊,这个这个都比较偏差啊,不是说你能推动式你就很牛逼啊。
因为这个有时候我也带一代线下课嘛,对吧?就带代线下课嘛,然后呢。😡,我告诉你兄弟的不是啊,把业务稳定呢也不是我告诉你大家锻炼的是什么能力,是定义问题的能力。😡,啊,是理解问题的能力啊,兄弟们。
就你怎么去定义这个问题?比如说这个相关性,你怎么去定义相关性,对吧?😡,举一个很简单的例子。😡,啊,非常非常简单的例子,就我们在做这个消关性模型,就是这个这个可能很多公司对吧?都会去做这个相关性模型啊。
但是大部分的公司啊都会拿交易商作为落ose方,对吧?都会拿这个这个很非常普遍的对吧?就乐图里面有一个交商,对吧?就拿那个对吧?这大家就闭着眼睛,这个就自动干对吧?然后这个学出来的效果也很好,对吧?
看着还不错,对吧?他告诉你啊,这个不是精益求精的解法啊。😊,你要去想办法去设计这个落ose function,然后来这个解决你这个判断你的这个case啊是不是相关啊。
你要去设计这个loose function来拟合你的问题啊,就兄弟们一定要在将来在这个工作场合一定要考虑,就是我们今天讲这个监督学习啊,监督学习啊,监督啥监督啥,就是我们这个拟合的这个技术目标。
比如说这个AUC对我还要这个还是要跟大家强调时刻强调的一点,就是咱们做的这个要做完这个AUC。😡,或者是最高这个。做开这个指标,就你这个指标一定要和你的业务去拟合,就你跟你业务是一致的。也就是你要去啊。
你在你这个模型训练好业务训练好这个这个这个模型的同时,OK一定要去跟你的业务去拟合做啊,也就是跟你的这个跟你的这个业务去配合好。也就是你在做这个技术的问题啊,就很多时候啊,我们就是在工作里面。
大家都会犯过错误。😡,犯的错误。大家都会犯现个错误啊,就什么错误呢?就是我发现你模型做的很好啊,A0。9啊啊,为什么效果不涨?😡,啊,就为啥这个点击率不提升?😡,经常会有就你的off2的指标。😡,涨了。
but你的这个。😡,啊,你的这个线上的业务指标不涨,然后老板就开始问了,对吧?这为什么不涨?😡,兄弟们,这是我们要思考的问题。😡,好吧,就将来你们进入的这个场,对吧?进入咱们这趴啊。
就是一定要时刻思考的问题,就是你的技术技术指标是不是提升了业务指标。😡,OK就是你们将来在工作当中,比如说你将来对我想大家学这个课,肯定还是想往这行挤嘛,对吧?😡,🤧往这样起嘛,对吧?😡,啊。
对吧你这个你要挤进这一行,对吧?你要思考的问题,不是说你能推哪个手推这个二阶宝胎掉展开,能推推这个你们推这个公司的人太多了,一站一半吧。😡,啊,兄弟们真的要思考自己,锻炼自己的这个实战能力。
就是定义问题的能力。😡,啊,就是你去定义好你的这个业务问题,然后把你这个业务问题转化成你这个速维外资管理。啊,就我们经常会出现这个这个也就是。大家这个发现了这个这个很多的问题,就是我技术指标很高。
但是我业务指标不高。😡,啊,就是问题没有定义清楚。啊,这也是这个大家会踩的一个坑啊。Yeah。啊,当然了,这个实际上呢这个对于速讼外 money呢,其实还是很简单很easy的啊。
就是你们这个入行之后啊这个。😊,啊,不会很easy啊。比如说这个针对这个模型出于什么程度,对吧?是嵌顶盒是过顶盒OK那对于嵌顶盒的问题,我们怎么解有多少种方式解啊,多少种这个。😊,啊。
通过这个比如说去加数据啊,去改进model啊,对吧?啊,然后这个数据升维啊、降维啊啊,这都是。有固定的这个8股模式了啊,其实都是套路啊,其实都是套路啊,难的是你这个想明白这个问题。
就是你怎么去解决你的这个业务问题。比如说举个例子,就是相关性模型,对吧?这个相关性啊,什么叫相关性?我觉得到现在大家就业界啊,这个顶会啊,什么的都没定义清楚这个问题,就啥叫相关性,什么叫相关。
什么叫强相关,什么叫弱相关,这问题,反正我看配件呢也没找着,对吧?😡,啊,这是我这个举的一个这个啊这个这个这个例子啊。呃,然后呢,这个大家在这个日常工作当中啊会不可避免的,就是一定要做一件事儿是啥?😡。
啊,这一件事儿是啥?除了看这个CCDN对吧?看看那个李航的那本,就是统计机器学习。😡,啊,然后再看这个。看有什么这个这个这个呃。😊,呃,什么这个各种这个这个呃这个这个网上帖子,对吧?
现在很多这个都是帖子会很快,对吧?针对一个算法,然后巴拉巴拉,然后马上直接号路上就就有它的这个原码实现了,也也不需要你去实现啊,但就是兄弟们不要忘一件事儿。😊,就是大家一定要看paper。
顶会的paper一定要看啊,顶一定要看。虽然paper是假设啊,就很多是假设的问题啊,但是这个兄弟们一定要看,就一定要去看顶汇的 paperper一定要看啊,因为这个在我们做算法的同学啊。
其实他跟别的不一样。比如说你你要是你要是教英语的或者教语文的,你一辈子不记录也没关系啊,也不然也没没什么关系,对吧?那因为我们做算法啊,就是算法其实迭代更新的啊。😡,比如说举个例子啊。
在12年的时候可能只有阿拉穆斯的对吧?就是有一个。😡,有一个不信。😡,啊,有一个 booststing对吧?那时候就觉得哇靠, booststing很牛逼,对吧?
这个这个okK然后针对这个 booststing呢就展现出来很多,比如说这个什么咖sK boosting啊,然后这个这个什么TD boostting啊,各种bosing啊。😡,啊,太有啊。
感谢兄弟捧场啊,感谢兄弟捧场。我这个怎么说呢?也就是一些自己的一些经验啊,自己一些经验啊。😊,啊,也就是一些经验就是这个这个都报给大家啊,都报给大家也没有什么特别的。因为这个讲不出什么花来啊。
讲不出还有啥太多花来啊,就是告诉你们这个将来怎么去避免啊,避避免这个。😡,就是呃怎么去避免这个这个。一些坑对吧啊一些坑啊。😡,啊啊比如说在这个12年的时候是吧,有一个 boostsing啊是吧?
很很很很厉害,对吧?然后到了113年14年,对吧?那个于凯呢把这个这个神经网络拉回来了,引引进了中国,对吧?虽然是神经网络是NG他们对吧?黑他们他们这个这个这个做出来的对吧?效果啊。
然后这个也是于凯他们首先在百度这个先先打响的。😊,okK然后有了深度学习了之后呢,然后就有了卷积网络,对吧?有了卷积之后呢,然后又有了什么有了循环卷积网络啊,OK好呃。😡,然后到现在呢,对吧?
也有强化学习啊,但是我我我我我是强化的黑粉啊,我是黑粉啊,我就说这个兄弟们你好,不要慌啊,因为他这个这个是个大坑,就是很难实现。呃,比如说DQN啊,DDPG啊这些算法很难实现。😡,好。
我看见这个同学很多说这个顶货的paper在哪找是吧?啊,兄弟们啊,我告诉你这个。😡,一般是什么问题?O比如说你遇到了一个点击里,对吧?click model的一个问题。比如说它overfi了,你怎么做?
ok你上google好吧,就是你在google里面去搜你的这个用英文去搜你的这个问题。你抽象出来你这个问题,比如说是releance啊或者overfi,对吧?你你你你在这个google里面学术里面去搜。
然后呢,你去勾选这个前几年的这个paper。😡,然后引用次数按照引用次数倒排。😡,一工次数倒排,一工次数越多的啊,那个就是这个更权威的paper啊。然后我推荐大家几个几个会啊。
一定要看每年啊这个今年现在3月份了,3月份是ICV啊,然后几个会,大家兄弟们一定要把那些去跟录那些会的这个顶会的这个主页啊,把他这个今年的会的这个 paperper全部下载下来。兄弟们啊。
记住全部下载下来啊,挨个撸啊,那我告诉你好,我在这个地方写一下啊,首先是比是最比较牛逼的。😡,6色对吧?然后这个KDE。😡,啊,推荐上面macs。啊。然后图像上的这个图像,比如说这个IGCI。啊。
呃然后是吧ICML。啊,IC。呃,我看看还有哪几个会啊。呃,然后是奥对ICC。对吧还ACM。对吧就是一些会啊,兄弟们。😡,明白吧?就是你你所有的这个遇到的问题啊,或者什么的。
你都去这个去这个后面去去找找去啊。虽然说他可能只能解决他的问题啊,但是我告诉你,就你从事算法工作,你每天面对的东西就是大量的议文paper,就这个一定要会啊,兄弟们我希望大家都能转化成这个互联网员工啊。
在这个尤其是算法员工,对吧?咱们做算法了啊,每年都会有这个大概十几个顶会吧,十几个顶会啊,这个顶汇的paper,啊,应该说你碰到问题大部分能找到大部分能找到啊。
就是这个是你不断的去完成自我净化的这种能力OK比如说我举个例子,我现在我在12年13年我给大家讲这个这个逻辑回归,对吧?那时候就觉得哇靠逻辑回归很牛逼,对吧?这个百度一直在用,那你现在讲这个逻辑回归。
这个使用啊,你现在想看你这个BOT哪家公司在用这个逻。😡,你会会已经被淘汰了啊。😡,Yes。啊,已经被淘汰了啊,然后这个然后我告诉兄弟们,你们要达到一什么样的水平。
然后才觉得是一个合格的这个算法工程师呢,就你们。😡,比如说这个花三天功夫撸完一个会的所有配伴,3天啊,只用3天。😡,录到一个会的所有配per,然后每篇paper它的这个基本上它的大意。
它的这个up fuck的你都预愿,然后你都有印象。ok我觉得这个才是一个合格的目标啊,兄弟们,咱们就以这个为目标,好吧。😡,啊。如何啊,审判长。😡,Oh。🤢,就咱们一定要做到这个这个东西。😡,2。🤢。
就是你一定要去仔细的去去看你的,就是根据你的自己的这个业务问题,冲象出来的问题,你去公gle上去搜。😡,去go去google上去搜啊,然后拿到这个啊这个问题啊,这个李平同学这个呃说的很对啊。
也就是你先去看jovastruct。就是这是咱们大家要去啊获得的这个啊一个呃就是一个能力,就是你一定要有这种能力。啊,比如说这个老板耍了一片paper,你要在比如说你要在这个半个小时之内。
你要大概录清楚这个paper大概是一个什么样的一个一个概念。然后你要跟他讲啊,你要跟他讲清楚,你要有这种能力,OK才是从事这个算法工作的这个呃一个必备的一个基础能力。啊,O。明白吧。啊,兄弟们。啊。
Yeah。我,一般一个会的 paperper一般在。上百了啊,百篇百篇以上啊。😡,景徽配话。第二是养成。每天。是。啊。养成每天去google。See。啊。必备。是。B杯型的啊。
因为我知道这个有很多呃很多同学可能是因为这个集训应该有好的,有这个就是也不知道有好的吧。就是说这个有些学员呢他有有比较不错的基础了,就已经有不错比较不错的基础了。但有些人呢可能不是这个专业的。
有很多这个其他专业的这个想转专业的那我就告诉大家,兄弟们,就是你一开始就要这么去做啊,因为。😊,到时候这个出来货嘛,对吧?对吧?所有坑都是要踩的嘛,对吧?就你你现在不踩,你将来一定要踩啊。
你今便在急蓄人要采不了,你将来在经货单里面也会踩,兄弟们啊。😡,我告诉你这个。告诉你们不会遇到不会遇到啊,就是你迟早要踩这个事儿嗯啊。😡,啊,然后这个。啊,然后咱们这个言归正壮啊。
再回到这个回到咱们这个这个这个监督学习里面。OK那监督学习里面呢,你还会遇到一个问题,就是一部分是海量的数据。😊,Yeah。一部分是海量数据解决。解决任务问题,一部分是什么呢?人工标注数据。
标注数据解决。问题。海外数据的范围是在10亿。到100亿。对吧千亿甚至到千亿。建役级别对吧?香野。人工标注数据会在什么千级别。😡,千级别。放几遍。万级别对吧?研标对吧?😡,就从早边到晚,你也就。😊。
小0多的玩你就就标标标要一万个样本,对吧?万几个样本。😡,ok那那问题来了,兄弟们,就这是两个任务啊,大家看到这两个任务。😡,你们会选择什么样的模型去解决,分别解决这两个问题。来谁谁给我答一下。😡。
因这第一个任务第二个任务。😡,是不是都要用一样的模型对吧?这什么问题?😡,谁来回答一下?啊,就大家解决现在比如说老板对给你们两个任务,对吧?这个一个是这个人工标注的这个大概万级别的样本。
然后一个是百亿千亿级别的样本。OK那现在对吧?四大金刚里面把model都讲了,讲了一个遍,对吧?OK那那这个针对这个问题怎么解?😡,O。O深度怎么去解?😊,啊,第一个是深度更深的对吧?规模更大了。
第二个是这个。😡,啊,然后还有一个我我要避免一下大家录区啊,虽然绝代也在这儿啊啊,我跟这个绝浪这个也是多年的啊多年的这个兄弟关系啊。但是呢我告诉你。😡,兄弟们SVM在业界工业界大家是不碰的啊。啊。
我觉得这个对于未门的同学呢,只要知道这个SVM的这个哪里就足够啊,不知道也没关系啊,不知道也没关系啊,没有呃不知道也没关系啊,现然主要也在这啊,这SN写的还写的很很很很详细。
但是我告诉你SM是没有意义的啊。就是我在工业界里面是从来没有用SM去解决任何问题的。我也没有看到每家公司拿SOM来做啊。😡,只是在啊10年以前的这个学校里面啊,大家会拿一些M去解一些图像问题啊。
因为样本小。😡,啊,然后面事也很少有人面。😡,啊,面试很少有人面啊,面试很少有人面。当然也有啊,不同的公司,可能不同的面试官每个人都都这个。😡,都在这个。呃,都在这个都在用啊,只是呃是这样啊。
就是说啊这可能会跟这个会可能跟这个你平常大家接触的可能有些不一样啊,不是说不用啊,兄弟们不是说不用,就是啊对就是你你你得了解它的过程,就了解它的这个怎么去解的对吧?😊。
他他的这个这个这个算法的这个解法你要去了解。但是我告诉你,就是啊一般来讲没有人去用,就是不会去解决这个问题啊,你可以学对对。😡,就比如说一加一等于2,对吧?这个十几分钟用的很少,对吧?😡,是吧。啊。啊。
但是。但是像现在来讲啊,比如第一类问,你刚刚有同学说啊是用这个深度学习模型,我觉得是没问题的对吧?然后第二类问题是用这个ard boost,用这个数模型,比如GET对吧?叉GB啊。
叉 boostokK我觉得也是ro的啊,是ro的。😡,是报可了。那还有一个问题啊,你们学了这么多的mod叨啊。😡,然后在工作当中。事情。我现。就在工作当中会不会自己实现常规模型,我告诉你。
大家告诉你不会。😡,你现在要给你讲的这个逻辑回归的模型啊,包括这个SM,包括ACM模型。😡,好算。哎,哦,这个。搞错了。等一下啊。是的。看看。不会。啊。不会很少,比如说叉GB对吧?XG boosts。
然后这个myGBM,然后叉呃GBDT包括under boost的,包括这个普通的DNN对吧?FFMFMDNFM这些。😡,都不会都都不会这个自己去实现啊,就基本上所有的诚讯的公司都有了。
网上都有P上上有一堆。😡,啊,这到接汉子上有一堆ok。😊,兄弟们啊,这个同学问的问题很牛逼啊,这做调查侠核心能力是是什么?😡,啊,这查咱的核心难力是什么啊,这就也就这也就带来一个问题。
就是咱们的核心竞争力是什么?😡,就我们做算法的同学啊,每天要反复问自己自己的核心竞争力是啥?因为模型大家都实现了。模型我们前面的兄弟们对吧?那些被拍在沙发上的兄弟们早就实现了。😡。
你的核心作营OK你的老素舍是你的第一问题的能力。😡,好,那就是那就接下来就是比如说我举个例子,接下来会给大家去聊聊这个一个工具包叫ski learning,对吧?
s learning把所有常用模型都work了。😡,okK我给大家推荐一款这个编程工编程语言叫做。N3flow这个大家都知道吧。😡,我所以我劝大家进门,入门之后都要会碳酸腐,这个一定要会。
一定要会碳酸服药。这个才能把你的这个不断的去不断的去改这个落ce方式。就很多这个咱们这个库啊什么的,你你都改不了乐死啊,其实你没有机会去改它的loice,你只是调位啊。😡,你调用调用的结论是什么?
你调用一年很爽,你最后肯定是被人超越。我告诉你,肯定是被后来人超越的。😡,ok那。😊,这个我推荐大家做的事情就是pensorflow一定要做pensorflow啊,因为他时说用开s啊。
要用cans用cas也可以也可以。但是我就还是推荐大家去做pensor floor啊,因为这个ca架在这个tensorflow之上的,我建议还是要去。😊,做特们出来,因为开始其实也也简单了。
其实也简单了。😡,啊,当然这是我的个人建议啊,你们有时间可以去学啊啊有时间可以去学啊,我强调的就是ten flow。然后这个tos呢是这样啊,tos在这个啊学术界用的比较多,因为也是比较简单啊。
但是在这个工业界现在呢用的还不多啊,现在用的还不多啊啊,当然这也就是我们算法同学的一个一个必备的能力,叫做学习能力。😡,自我学习能力。不断的去学习啊不断的学习新的工具。
就是将来腾讯flow可能在5年之后,可能腾orflow又变成了一个其他的什么flow。😡,啊,我记得老师的在做wi。😡,啊,然后这个李牧呢就是这个amazon的这个手机客家在做mathnet。😡,啊。
然后那个假气洋啊这咖啡的对吧?就之前做咖啡的,这都是不同的工具。OK那我推荐的是teleflow,就大家一定要会就是啊其实你比如说你像toch开s对吧?咖啡啊,这些我都会啊。
但我推荐的还是tle flow。😊,啊,你你会去自己去,你有机会自己去改这个网络结构和这个loose function来解决你的这个问题。你你可以去。
比如说你把性的 score去定义在loose function里面,把这cos的距离定义在lo function里面,这个会很方便来解决你的问题啊,对吧?
然后你你也可以很好的很方便的去给我们的老板讲故事啊,我今天用了什么东西。😡,对吧就是一定要会。Yes。啊啊不知道他说fl要的,自己去搜啊。不知道他说fl料自己去搜。😡,python啊。
这个就是python,你只要会python就行。😡,对于基础的同学来讲,会python就行啊。Okay。哪里?Yeah。Yeah。钥匙和优望。结构的能力。T。业务问题。啊。
这是一个很快的去就是用t flow,你会很快的接触让主流的业务啊主流了。😡,比如说这个s learning啊,这后边要讲的这个这个工具库叫ski learning,它会有所有它会分装了所有的这个。
这个model啊啊包括这个所有常见的model,然后所有的这个调参的这个语言,它呃这个函数API它都有啊,但这个呢我怎么说呢?我觉得比较low啊,就是学它只是只是入门级,只是小学生,比较low。😡,啊。
就它其实也就是几个函数叫fiter,对吧?transform啊。😡,啊,就这几个函数就每个模型都这几个函数,非得就是串嘛,对吧?就直接就是训练模型。😡,啊。我接触到了有人啊有人在用啊。
但是呢这个有人在用。我觉得大家呢当小兵可以先学没问题,sman可以先学,因为它这个比较简单,然后这个调调用这个函数起来呢,解决问题呢会快会快。就是你的这个上手的这个速度会快很多。我觉得我接觉得可以用。
但是啊penil flow一定要会明白了吗?就是。😊,就你将来你要想你要想这个真正从事这项工作呀,一定要会这个东西,一定要会这个东西,就从事咱们这个算法工作啊,一定要会。但是你做这个。😡。
你去做你去学s learnings learning上手很快啊,这个是。😡,没问题的。好吧,O。
这是没问题的。
人工智能—机器学习公开课(七月在线出品) - P15:老冯经典之作:纯白板手推SVM - 七月在线-julyedu - BV1W5411n7fg
啊,我们来今天呃学习这个。SVM啊一个非常。这个SVM这个算法应该是每一个呃研究机器学习的人都应该掌握的一个工具包。
甚至每一个我个人认为应该是每一个现代的找理科的同学都应该啊了解和掌握的一种统计学习的一个方法啊,哪怕你虽然现在有可能做的是啊比如说深度学习啊,但是SVM背后,就是说呃呃其实SVM的价值啊。
它的推导的意义的本身是跟SVM这个模型的地位是一样重要的。呃,我再说一遍,就是说SVM的价值更多的是在它的推导过程和它的本质。而这个模型本身呢呃虽然它是一个非常好的所谓的。这个。
Off the shelf。妈哒。就是说你它是一类非常好的,能够拿来就能用的一个模型啊,它甚至比神经网络还简单。你神经网络还至少还需要定义一个网络的这个隐藏的数目和网络的top扑结构。
还有这个激活层的这些呃激活函数啊等等,以及呃你训练的方法。比如说你要不要加招抛的,还有一些其他的一些小trick。而SVM呢,它是一个目前现有的一个在。中小规模下。说句关没哈。
就是说SVM它是在中小数中小规模下。的目前最好的一类呃学习模型。因为比如说你要做。所谓的这个deep learning啊,那么他是在呃呃。一个是啊他它的这个呃输入数据比较的局限啊。
你要么是图像或者声音啊,这两个是比较的呃呃好的一类模型。而呃在其他的各种各样的一些。没有声音吗?有能听见声音的吗?嗯,好好好好好好。😊,那么嗯。对,就是说呃就是说这个。
SVM它是中小规模下OK一个是中小规模下的呃呃非常好的一类。你应该呃所谓的你至少要试的一种bench mark的一个奔驰。就是说它的一它应该是一种benchmark的一个性能表现,这是第一啊。第二。
它跟深度学习比呢,就是说呃它是呃深度学习的优势是在于对于原始特征的重新表示,就是当你原始特征,你选的很烂的时候,通过深度学习的方式,能够将原始的一类特征转化成一类具有语义信息的特征。
比如说我们不是很会表示一个图像。就是我们对图像的表示太糟糕了。我们对图像的表示,现在人类还停停留在这个pixel level,就是说一些一些像素值。那么这种表示是一种非常烂的表示。
那么在这种很烂的表示下呢,我们我们走一个啊卷积神经网络,它会学出来一类新的一些feature啊,这个feature它的这个表示就会很好啊。那么SVM适合是如果你已经有了一类嗯比较O的一些表示的时候。
它的性能肯定是啊从理论上讲是有很多理论的保证的。而在很多应用中有没有理论保证是一个决策者它是否决定要部署这个模型的一个很重要的一个因素啊。比如说在。智能医疗里头,虽然神经网络是个黑盒模型啊。
呃如果这个医生啊用了一个基于深度学习的这么一个系统的一个推荐啊,他说啊应该这么治。但但是怎么治的,我也不知道,反正就是一黑盒出来的,但是背后是人命啊。
那么就是说一些现在呃如果是涉及到非常关键的一些应用场景。如果它的预测模型是黑盒的时候啊,有很多的用户会拒绝使用。因为它的风险比较高。而SVMM会他的这个可解释性会稍微好一点啊,但是啊与此同时。
他更更更好的地方是他有非常强的一些啊理论保证,就是它是啊就是SVM最牛的地方呢是啊它是纯承数学的理论啊,推导出来的一类模型,而不是类似于这个啊比如说神经网络是啊我根据啊一些啊这个人脑细胞的这个活动。
我获得了一些灵感。然后我是我就就就就就设计了这么一类啊模型。那么这种模型呢是比较偏民科啊,那么这个统计学习呢它是啊会好一些OK那么我们今天主要就讲。两件事情。第一,我跟大家假设咱们回到90年代OK。
如果你是wenic,就是SVM的发明人。如果我们呃时间穿梭回去,我们看看自己能不能把SVM推出来。因为我再强调一遍SVM的推导的过程跟SVM这个模型的本身它是同样重要的。如果你了解了它的这个推导过程。
那么你们就能够灵活的在各种场景中使用SVM。因为其实真正的作为机器学习的从业者,你平时日常遇到的工作几乎没有说是你拿了一个东西用了用了好了,你就能就O的。因为这种事情啊,实在是啊太啊太难了,为什么呢?
因为每个人的数据集和你的任务是不一样的。比如说在有一些任务中啊,你的类别是不平衡的,如呃你的这个机器学习的任务,你要用一个SVM,你怎么样的把SVM中的一些道理,应用到类别不平衡中的一些这个分类任务。
那么你就需要对模型背后的意义有所了解,而不是闭着眼睛,从这个SK learn里头。啊,把这个SVM拿拿出来,然后啊超参数具体的意义也不知道啊,就这么应用。那么这样的话呢。
它的这个性能肯定不会呃获得最优的这么一个呃一个表现,这是第一啊要讲的第一件事。第二件事是啊基于所谓的这个co method,然后我跟大家再做一个延伸。就是说其实这个核方法呀。
它不仅仅仅限于这个SVM我今天会教给大家核方法背后的一些本质的意义。然后怎么样的把它应用在一些其他的模模型中去。比如说线性模型啊,linear method以及一些加了这个正则画像的线性模型的和方法。
比如说这个领回归啊。还有这个所谓的这个传说中的朗诵啊。这这两个是一类啊,他们是啊他们是啊就是相当于21世纪的线性回归模型啊,那么呃然后怎么样的把这些呃一些线性的模型我们给它做了合化啊,做一个。
Colonnalized version of。那么我争取在两个小时之内把这所有的事情都给大家讲明白啊,有问题没有?关于我要讲接下来讲的事情,大家有没有问题?OK那么好,那么我们现在讲这个。
讲这个SVM啊,好。稍等一下啊,我把这个您的这个页面打开啊。好,SM其实呃它的本质很简单啊,就是说我们先回到这个传统的这个呃所谓的这个supervised嗯learning这个这个范事中去啊修。Ved。
learning啊。监督学习,比如说作为一个分类任务,比如说是零一分类啊,就是说是正样本跟负样本。那么其实我们的这个场景的这个set up是什么呢?其实就是说我们在平面上有一些啊正样本啊。
比如说是两维的一一个数据,X一跟X2。然后这这是一些啊副样本,这是一些正样本。那么我们要干的事情,其实就是说学习出来这么一个决策边界。学习出来一个角色边界,在这个角色边界这边都是负的。
在这个角色边界这边都是正的。那么不同的分类器啊。基于你给的这个训练集。不同的分类器会给出不同的角色边界啊,比如说啊一个啊角策术,角策术的分类边界是什么呢?大家已经学过。决策数了一个决策数的分类边界。
如果你没有进行决呃呃进行一些人工改造的话,决策数的分类边界都是跟每一个维度垂直的。比如说它要么是啊呃垂直于X2轴,要么是垂直于X1轴。那么很可能一个比如说如果训练你长这样子的话。
那么一个决策数的分类边界大概是长的是这个样子。对吧那么一个神经网络的角对边界会是什么呢?它有可能是啊这个样子。那么一个比如说呃这个loggistic regression,它的它的角色边界是什么呢?
它有可能是啊这个样子。对吧,那么。那么呃所有所有都是在我们怎么样的找一个合理的一个角策边界。而这个这个问题其实听上去很古老跟很传统。所以嗯当这个SVM横空出世的时候。啊。当这个SVM航空出世的时候。
大家都觉得很惊奇啊,居然在90年代左右能提出来一种新的呃这么一种方法。同时呢它是极端有效的,占据了差不多机器学习界整整15年的时光啊,就是开启了啊所谓统一学习的春天。有人能看见PPT吗?有人能听见声音。
能看见PPT的,请请举手啊。好好OK有一个人能怎么就能好OK好,那么我们现在。😊,来看看S,就是首先我们看看这个SAM它的这个关键假设是什么。OKSOM的关键点是很简单。
它是基于一个非常呃符合直觉的这么一个观察。比如说我们同样的还是我们有一些副样本。我们也有一些这个正样本OK。那么这个rapic他的他的想法是什么呢?我们这个角策边界。
比如说对于在这个线性可分的这个这个这个情况下。如果在这个线性可分的这个情况下,我们这个决决策边界其实是有很多种的。比如说我们这儿这样画也可以,我们这样画也可以啊,我们这样画呢,其实也可以。
那么SVM的一个关键的问题就是我们画这些都合法的这个能够完全把正负样本分开的这些线里头,哪一条是最好的。就是说呃比如说这个是一个决策边界啊,这也是一个决策边界。那么这也是一个决策边界,哪一个更好呢?
大家想一想。从职业上来说啊。有没有能呃呃呃呃答上来的同学啊?OK其实呢就是呃对,就是说这个we他的想法是。在这些线里头,哪一条最好呢?它应该是能够啊抱歉。他应该是呃这是坐标轴啊。
就是说我希望有这么一条决策边界。这个角策边界呢到它两边最近的样本的这个间隔最大。对,就这个所谓的margin最大的这个啊这个这条线。那么从直觉上来讲,它应该是比较好的。为什么呢?
它具有比较高的所谓的鲁棒性。鲁棒性的意思是什么呢?就是说当我的数据啊,就是说如果我的决策边界离这些呃样本都太近的时候,稍微有一点噪声的话,我就会分,我就会分错。那么。
这个关键角是第一个今天的第一个关键关键的idea啊,所谓的今天我要给大家介绍五六个所谓的这个key ideas。那么key idea是第一个第一个key idea就是说什么呢?就是说我希望。
比如说啊这个角色边界跟离他最近的这些会产生。这么一个像道路一样的东西,我希望这个道路越宽越好。没有问题吧啊,术语叫间隔啊,其实它就是啊你可以把它想象成一条道啊,这个道是越宽越好的嗯。那OK。
这道越快越好呢,那么我们现在就有了这么一个呃有了这这么一个这个呃这个。这个决策边界。那么我们现在做一些这个数学就是怎么样的用数学的方式来描述我的这个心中的这个想法呢?
就比如说那么我们可以先画出来一条关于。这个决策边界这决策边界怎么来?咱们先啊还不知道,就是我们今天的目的就是我们怎么样的来求出来这条决策边界。当我们给定了这些样本点的时候。
我们怎么样的找出来一个决策边界,让它的这个道路最宽。OK那么我们先数学的,先把这个事儿,先用数学的方法形式化的描述一下。那么我们可以定义出来,跟这个决策边界所垂直的一个向量是W。这没有问题吗?
O那么当我们有一个新的一个样本点,在测试的时候,比如说有一个U的时候,那么这个U这个向量。😊,我们的这个所谓的deciion rule是什么呢?就是说我们的决策的这个这个这这个过程是什么呢?啊。
就是说是这样啊。DC是拼错了啊。它的他的这个他的这个过程就是说如果这个点啊它在这个方向的投影的这个距离,如果大于一个常数值的话,就说明它在。这个阶的啊啊正方向,那么它就是正样本。如果这个U啊。
它在W方向的投影的这个长度小于一个值的话,那么它就应该是负方向,它就在它就应该是负样本。那么怎么样呢把这个写出来呢?它其实就是应该是啊这个啊W啊,这个向量点成U这个向量。当它如果大于等于啊。
比如说是啊啊C的时候,那么我们就是Z。Positive。有问题没有?这个是我们的今天的第一个公式啊。就是说那么我们把这个C给它挪过来,就是说呃做一个这个恒等的一个这个变形。我们给它把这个挪过来。
它因为应该是W点成U一个任何一个X,就是在样本外的啊,它应该是什么呢?它应该比如说啊我给它定义为这个加加B吧啊。加B啊。大于等于0Z。我预测为plus。
就是说如果比如说呃你的你的小伙伴告诉你这个W长什么样子的时候,别人给你个SVM,你怎么做预测呢?你就这么做预测来一个新的一个点,这个点是一个向量。我这个向量跟这个W进行一个点乘啊。
点乘完了之后加一个常数啊,如果这个常数啊啊算出来这个这个组合大于等于零的话,我就预测为正量本,小于零的话,我就预测为负样本。那么我们的所有的今天的第一件事儿,任务就是我们怎么样的获得W跟这个B。
这个就是我们今天的任务,怎么样的从这个呃。如何确定W跟优势在一个线性空间中呢这是肯定的。因为这条线的维度啊跟W的维度是一样的啊。嗯,因为我们这个这个我们这条决策线就是在我们的样本空间中画出来的。
所以说它的维度肯定是一样的。那么。这件事情还不是还不完全是我刚才说的,想要接最大。因为你看这个事情跟接还没关系,这个事情纯粹是我一个新的样本点,是否在接的左边还是右边,对不对?
那么我们现在还有一个关键是我们想让这个接的这个接宽越宽越好。我怎么样用数学表达这个思想。用数学表达这个思想很简单啊,一样啊,就是说是这样,就是比如说我们这个呃在啊这块我一定要强调啊。这块我要强调一下。
在这个春ningdata中,在训练集中,刚才刚才这个决策过程是在任何数据,你任何一个X啊,在任何一个X中都需要满足的一个事情。而在春ningda塔中呢。在春民 data中,我们还需要有这么一件事情。
就是说。就是说是什么呢?是这个这个W点成X正样本。就是说因为是我们是训练集,所以我们在训练集中知道每一个X是否是正样本还是负样本,对不对?那么我们要求在训练集中。
所有的正样本啊计算完了它的这个离街的这个距离,它都应该大于等于一啊。所有的负样本呢点成这个X啊的负的加B啊,它应该呢小于等于啊-1啊。这个是在春da中。有问题没有?这个是SVM的所谓的最大间隔假设啊。
好,为啥是一?其实它可以是任何一个数。但是比如说我呃要求它是八的时候,我总能够把这个W,就是这个这这个这个法向量进行一适当的伸缩,让它又变成了一。所以。为了数学上的方便,我可以要求它为一。
那么我其实只需要深缩W就能让它间隔任一档。嗯嗯。这个问题很好啊啊。再看一下咱们这个整个的set up哈,我们有训练集中的正样本跟副样本,我们需要得到一个线性的分类器,让这个线性的分类器。
它的这个接的这个接宽是最最宽的。😊,然后当我们来一个新新的一个数的时候,新新的一个U的时候,我们就计算这个U啊,到这个呃到这个呃。就是呃优根呃优根W呃点成之后加一个B,看它这个到这个接的这个距离是多少。
那么呃如果在呃这个距离大于零的话,我就给它预测为这个呃正样本,小于零的话,我就预测为负样本。而在训练集中,我要求他们都得啊满足这么一个一个界啊。就是都要满足这个界。O。OK好,那么这些事情啊。
任何一个人啊,只要你足够努力都能想出来,这个没有什么。因为你毕竟你还不知道这个W怎么求呢,对不对啊,就是说呃提一个要求还是挺挺容易的,怎么解决这个问题呢,啊,还是比较难的啊。
那么我们接着来啊研究一下我们想干的这个事情啊,我们想干的这个事情嗯。那么我把这个事情先先先呃再重新表达一下。比如说因为我们这个Y值Y值每一个X所对应的Y值,它不是呃假如说它是一个二分类问题。
它要么等于正一,它要么等于负一,对不对?那么我们现在做一个小的一个小的一个数学的一个小技巧,一个一个小trick。想把这两个公式能不能合并成一个呢?啊,非常简单。
我们把这两个不等式同两边同时乘以YI乘完之后是什么呢?YI乘以。对于正样本的话,W乘以X的正样本啊加B。因为X是正样本,所以Y是正一一个正一正数乘以一个不等式,两边不变啊,它是大于等于一的,没有问题吧。
对于负样本来说,YI等于-一,那么就是说我Y乘完之后,它这个不等号应该变号,那么就是W。点成X负样本啊,加B啊。那么以前小于等于负一,那么现在就应该是大于等于正一。哎,这两个一样了。
那就说明我们把这两个就能合并成一个了。就是说这个是我们的要求。我们在SVM中,我们要求。这是一个所谓的啊constrain,就是说这个约束条件就是在训练集中的所有样本啊都得满足啊这个公式啊。
这个是我们今天的。第二个。核心的公式。有问题没有?有问题吗?好好。OK我今天就是尽量避免的用一些术语,假设大家只会这个限量乘法,我们怎么样的来把SM给它推出来。好好,我们接着往下走。
就是说其实很多同学在第一次看这个SM的教程中,很容易头大。就是你第一次看的时候,很可能就会被所谓的KTT条件什么的完全给绕进去了。而忽略了SM的本质啊,就是忽略了SVM作为机器学习模型的一个本质。
而被陷入到初优化那一坨东西中去啊出不来。那么这个是很很不好的一件事情啊,今天我尽量的避免让大家走入这条啊斜路啊,那么我们基于基于这个是对于训练集中的所有数据都得满足的一个条条件。
那么在这个街边的这几个点呢,街标的这几个点,我们要求它不等号就成了等号了,对吧?因为你离这个街啊离这个街越远,那么它肯定是啊越大于一。所以说对于啊。对于在这个街边的这些点啊,对于这个街边的这些点啊。
这些街边的点,后来呢他们就是所谓的这个知识向量啊,就是啊啊的候选集啊,街边的这些点啊。我们要求啊要求。要求就是我们刚才这个式子的不等号就得变成等号了。那么就是啊不等号变等号是什么呢?
那么就是啊YI乘以W。点乘上这些X啊,加上B啊等于E。O。这个是我们的要求。没有问题吧。好,那么我们再回过头来再看看我们这个接这个宽度怎么求啊。这个接这个宽度怎么求呢?啊,这个你啊其实啊也不难啊。
咱们现在求一下怎么样的求出这个接的这个宽度啊,就是说比如说啊这个是我们的这个线性分类器的这个决策面,然后呢,这是我们的这个接的这个宽度,这宽度其实啊不难求,我们在比如说在这块是一个负样本啊。
这块呢比如说是一个啊正样本啊,咱们现在比如说你老板给你这个任务,说你给我求一下这个接宽啊,你想一想,其实也不难。正样本应该是X负吧啊,这个负样本应该是X负,对不对?X负跟X正这两个向量的差是。
这个向量对不对?是X啊。正减X负。那么它这个向量在这个W方向的一个投影的长度就是接宽嘛啊这个是呃向量的呃几何意义。所以说这个接宽。它应该等于什么呢?它应该等于X正样本这个向量啊。
在这个站接边的这些X正样本啊,不能是这个正样本,这个正样本不行,就是在这个在接两站在阶上的这些啊X啊,正样本减去X负样本啊,点成什么呢?点成这个我们的这个刚才我说这个反向量W点成这个W。
因为W它并没有规划,我们给它一规划就行。那么我现在就说OK这个接的这个接宽,它应该等于这个玩意儿。大家有问题没有,或者说同不同意啊。好,如果你同意这个的话,那么我们就啊逐渐的就能够啊。
来越来越好玩了这个事情啊。嗯,那么那么OK那么我们现在把这个因为你想这些点都是在接标的,对不对?我们在接标又要求得有这个公式,对不对?那么我们把这个这个玩意儿乘进去看看是什么。
因为你看你把这个W跟MC乘为,这儿有个W跟X,对不对?😊,那么我们就得等于什么呢?等于啊X正样本,咱们就现在呃手撸一下,看看咱能撸撸个什么玩意儿出来啊。乘法分配率嘛对吧?减去啊X负样本啊,点成W。
再除以这个W的这个模。X正样本乘以W是什么呢?X正样本乘以W当X正样本为正的时候,Y等于正一,那么它依就应该等于啊一减B啊除以啊W。没有问题吧。处以W的目的是因为这个等等就是说。😡,这个接宽根据定义。
我们是需要在一个单位向量上的一个投影。这种。不是正负样本的距离,正负样本的距离是X正减去X负,它的磨长,这个是正负样本的距离。我们要求的是正负样本的这个差的这个向量。
在接上在接的法向量上的投影的长度是接的阶宽,这个是嗯向量乘法的定义。OK那么减去什么呢?当X form当X为负的时候,Y等于-1。那么我们把这个负一啊啊,那么就是它俩都是负的,再把B挪过去。
那么就应该减去一个啊这个啊啊这个一啊加B,对不对?除以W。😊,没有问题吧,那么他还能等于什么呢?操。😡,这是今天你所要见证的奇迹啊之一啊,就是说接宽居然等于这个玩意儿。W分之2。它是接宽。
这是纯粹推出来的,我们什么都没学呢啊。就是我们的这个接的这个接宽呀。等于这个东西。啊。我看看啊,因为我们这边是呃啊这个负呃负的答呃负的这个W乘以X应该等于1加B嘛,对吧?那么就负的哎1减B。啊。
这应该是负的啊。这应该是啊一啊一啊加上B一加上B,然后它又是负的啊。就应该是这个二,其其实它就是一减B啊减啊这个-1啊。加B啊。我们就是这个东西。对。
那么那么今天我们要啊看到的那第一个啊很重要的一个啊东西,就是它的这个阶宽应该等于2除以啊。W的摩擦。这个是我们要优化的目标,对不对?啊,那么。就是说所以说我们现在的机器学习的任务其实变成了什么呢?
我们机器学习的任务变成了就是啊我先解读一下它的意义吧。就是说对于这个问题,如果我们要让接宽。这个接的这个接的这个宽度,这个间隔最大,它就其实是要让这个W。让让这个W的磨长分之2最大啊。
这个完全是一个非常呃n吹肉的事情。这个不是说你眼睛一看就这个是非常不显然的一个事情,是需要你数学稍微推导一下啊才能看出来的一个事情。它并没有一个呃很显然的一个呃呃就是就能想出来的一个事情。
那么我们现在的目的就说明我我们现在要找一组W让这个W的磨长分之二啊,越大越好。同时你得满足什么条件呢?同时你得满足在训练集中在街边的这些函数啊啊在街街边的这些这个嗯。啊,在街边的这些啊。这些向量啊。
他们你得满足这个constrain啊。有问题没有?所以说我们的优化问题就应该是什么呢?就应该是我们要max。max2除以。W的磨长?为什么max是因为我的SM的这个假设就想我想让这个接越宽越好。
因为我认为接越宽越好啊,呃最宽的接应该是最好的分类边界。那么max它它其实你还能写成什么啊?那么就。一对不对?你maxW分之2就跟maxW分之1是一样的,没有问题吧。😡,那你max达6分之1。
是不是就就跟这个minimize。W它是等价的,没有问题吧。我min maxW是不是就跟。就 going minimize。啊,这个啊2分之1的。W平方是一样的。你们同不同意?啊。
请大家思考一下我为什么要写这个东西。我为什么要你本来miniseW的膜就行。我我们现在为什么要minise啊,2分之1W膜长的平方。😡,不是损失函数啊,再小。😡,啊,有点劲了啊。求岛有有有点近了。啊。
也不是啊。是这样。啊,很简单是为了数学方便,我们在经济学习中有很多事情啊,都是为了数学的方便啊。我们这样的话,我们在以后的一些呃过程中跟求导有关的一些过程中,我们数学会比较方便而已。对。好。
那么我们再把啊那么我们已经到了这儿了啊,那我们再把我们的这个我们一步一步来。其实啊写到这儿的时候,我们是不是就应该去啊其实就可以去喝杯咖啡了啊,因为嗯。喝其实喝咖啡的意思是什么?
喝咖啡的意思大概就是你的工作做到这儿之后,大概就又过了几个月才能再推出下一步啊,就是每一个这种所谓的咖啡break,就是咖啡时间,它大概中间是要有几个月的时间的。我们现在回过头来看它很顺啊。
一个小时就能把他们几年想出来的一个问题啊呃写出来,但是你在具体在发明一个算法的过程中,你每每往前走一步,因为你作为一个发明者,你是看不到一个方向的。你每往前走一步,差不多几个月就过去了啊。
那么我们看到我们现在的这个啊目标是什么?我们现在的目标是我们要min。2分之1的啊。8我平方。你的contrain是什么呢?看始这是啊YI。W点成X。加B啊减1啊等于0。没有问题吧。那么对于这个问题啊。
😊,其实啊你走到这儿你就可以不干了。你就说OK我有很多学图优化的朋友。我现在又有这个X trainingda,对不对?也有这个Y data,我就把这这些数据跟这个优化的目标函数。
我给我任何一个数学系的朋友,就说你帮我把它求一个二次优化啊,你帮我给它解出来啊,就完了呗。然后你给我个W我到时候做diion入的时候,我又有我的这个diion入,你给我一个W。
我会返回你一个正样本或者负样本,对不对?你给我一个W跟B,我会返回一个正样本或者负样本,那是不是这个事就结束了呢,啊,但是啊它牛的地方就在于他没有停在这儿啊,他并并没有仅仅停在这儿。
他想的是我再往前走几步,真正的看一看这个优化过程中的一些啊具体的意义是什么啊,这这件事情是真正决定了SYM彻底的颠覆了机器学习这个领域的一个事情。是因为如果你不往下推的话,你是推不到何方法这一步的。
那么你。这样的话你就只能仅限于一种在能够限性分类器可分情况下的一个啊一个分类器。它并不能啊所谓的是并不能达到一统江湖的目的。OK所以说我们现在先不把它交给。先不把它交给真正搞优化的人啊。
咱们搞机器学习的人自己推一下,看看能能不能推出什么花术来。那么我现在要考考大家的是,现在我们接下来如果想求一个一个函数的最小值啊,跟哪个数学家有关呢?呃,是跟这个拉布拉斯有关的。还是跟这个副利有关呢?
还是跟这个高斯有关呢。还是跟这个拉格朗日有关的。OK啊,跟这个啊拉格拉格有关啊,这个同学说的很对啊。好,那我们现在就是求一下这个这所谓的拉格朗日的这个呃mon plan啊。
这个拉格朗日的蒙特表说说的是什么呢?他说的是你把你这个优化目标函数啊。跟你的这个constraint啊。进行这么一个。阿尔法ipad嗯的所有的这些constrain啊。阿尔法倍的这块我要写的。喂爱。
W点成XI。加币。简易。然后我们对这个。它分别对这个W跟这个B求偏导,然后让这些偏导为0,解出来W跟B,对不对?这个是。大家人人都会的这个拉格朗日。那我们现在啊没有办法啊,脏活累活求一下。
看看它到底是什么。其实很简单,求完之后你就会发现一些啊奇迹啊,它就出来了。咱们呢咱现在就求一下吧啊,求一下,你看啊。他要对这个,因为W这个向量,我们要对一个向量求边导啊,对这个向量求变导怎么求啊?啊。
你其实啊它跟对一个单一的变量求边导的规则是一模一样的啊,那么其实它就是L对W求边导啊,这个你哎这个就是2分之1W平方的这个好处了,给它求下来,它其实就是W本身啊。减去什么呢?
减去哎我们这个WWW前面的变量是YIXI跟阿尔法I,那么就应该减去sation of阿尔法I啊,乘以这个YI乘以这个XI这个阿尔法I是我们要求的一个东西啊。那么它应该等于,然后再让它令它等于0。对不对?
那么我们求一下,那我我我们练到等于0之后,我们要求这个呃这个W是什么呢?WW就应该等于啊smation of。阿尔法IYIXI。啊,这个事情就很奇妙了。我们的这些角色边界的这些W这个系数。
它其实是这些这些个X训练集中的这些X啊,就是在在街边的这些X的一个线性组合。B因为因为W跟B没有进行这个W没有乘以B,所以它对W求边导,B相当于一个长度像就给。这别巧。桥没了啊啊啊。这个事情很酷啊。
这个是我们今天的第一啊,我看是。这第几个?啊,这是第二个。这应该是我们今天的第三个啊第三个小奇迹啊。如果你不是机学习的人,你是一个搞图优化的人,你看不出来这个这个背后是很神奇的一个地方啊。那么我们一样。
我们O我们把它先放这啊,大概哪儿会有用。我们再对B求变导啊,对B求变导其实很简单啊,对B求在网B前面的这个变量,只有一个是YI跟阿尔法I,对不对?啊。
那么就是那么他求的片导就应该是这个啊smation啊啊啊。这个啊啊这个阿尔法啊I这个YI啊,那么我连能令派等于0。为什么为什么只有这个等式约束?因为我们只需要等式约束就行啊。因为啊这个。
就个是就是说你基于SM的定义啊,嗯它其他的在接待的那个点,他肯定是更更。更在接外面的,那么我们令它等于0,我们就会求出来啊。sation of阿尔法IYI等于0。哎,这个东西大概哪儿也会有用。我看一下。
有有同学提问题,老师为什么是减啊?这个是拉格朗日mony player,他要求是减,因为当你是这个啊。啊,这个你们查一下。是不第一节课管老师教给你们过拉格老师montyfler应该怎么做了啊?
上次学的是啊对,因为我们的跟跟约束不一样嗯。取决于你的约束,你的约束是啊是这个符啊跟约束的符号啊,跟值是是是小于呢还是等于啊?好,哎,这两个式子呢啊很有意思啊,那么。我们看看我们怎么样的。
把这两个式子啊搞一搞啊。啊,关于我写的这两个式子,大家有问题没有?OK我我其实我们有了这两个数子之后啊,我们就能够呃你就用这个这个所谓的这个crd programming,我们就能解了。但是别急啊。
不要急啊。自己自己再推一下,我们看看我们把这两个式子,你看已经已经推出来了吧啊,已经把这两个式式子推出来之后,我们带到这个L里头去,我们看看能够有什么发现,好不好。😊,啊。就是说我们把这个。
这个式子跟这个式子我们给它带回到L里头去。我们看看啊有有没有什么能够发现跟其他情况不一样的一些一些可能性啊。OK这个是我的目的啊。那么我们的L是什么呢?我再写一遍啊。
L是啊2分之1的啊这个W的啊平方啊减去啊 sumation of阿尔法I啊。呃,乘以这个YI。啊,这个W点成XI。都是向量啊,加B啊减1。这我们的。这是我们的L,我们要把这个要把什么带进去呢?
我们要把这个W它等于sation of阿尔法IYI跟XI把这个东西带进去啊。那咱就盖呗啊,那就硬带啊,2分之1的W平方,那么那就应该2分之1的啊sation of阿尔法IYIXI。那么它的平方。
那么就再来一个 summation啊,然后阿尔法呃为了这个下标呃能够看清楚,我们给它变一个变一个下标阿尔法J啊,YJ。X, check。就这一项这项应该没问题吧。有问题没有?没有问题。好。
那我们再再把这个这这个东西我们来带一下这个东西带一下那我们我们。对符号不太熟悉,手写手写就是说求和呀,这玩意儿就是求和啊,大的这个求和公式。sation啊。sigma啊。他叫用英文啊,对啊。
他这个啊啊对,是求和,s may求一个sum sum may。因为如果我把这个打出来的话,大家没有这个持续感的话,就很难理解这个事情啊啊。好,我们准备好啊准备好求求这一项,求这一项。
那么就是说我我们把这个东西先给它拆成三项,就是把这个先乘进去。乘进去之后呢,其实我们再把这个W带进去,W前面的这个系数第一项是什么?第一项是YI啊XI跟阿尔法I,那么我们就写呗,那么就是sation啊。
sumation。WW前面是阿尔法IY呃XI,那么就是阿尔法IYI跟XI。再乘以这个W。这W又是什么呢?W又是它,那么我们就把它我们就把它带进去呗,把把把W带进去啊。
把W带进去呢就是啊sation乘以括号的这个求一个求和啊,阿尔法J。啊,这个YJXJ。没有问题吧,这是这个大formation里头的第一项啊。第二项很简单。第二项。
那么就是这个summation of啊阿尔法IYI乘以B。你看阿尔法IYI乘以B,然后呢再加上一个这个somation of阿尔法I没有问题吧。好,没有问题。咱们再仔细的看一下这个玩意儿啊。
首先我们看看这一项啊,这一项,因为B是个常数吧,B的常数我们能把B提到前面来吧。😡,对不对?那么哎我操。咱们再看一下我们刚才。some反FI乘以Y的 sum它是0。那么这一项就是零了,嗯,爽不爽啊。啊。
消遥了啊。哎,我操这项就是零,没有问题吧。再看这这两个这两个我们把这个括号一解开,其实它两个是一样的。那么就是啊负的2分之1倍的啊这个东西。哎,哎,这这个就很呃这个就很爽啊,对吧?
那么我们就能接下来写出来,就是它是什么呢?它是sation of阿尔法I这个正的这一项。就是它减去2分之1倍的我们把。2分之1倍的它2分之1倍它8其实这个求这个西igma求和呃。
你是能把这个东西给它恒等变化为前面的两个sigma, doubleouble sum of阿尔法啊I阿尔法。JYIYJXIXJ啊,这个啊这个就。啊,就是。今天的最大的一个奇迹啊就出来了。
我们仔细看一下这个东西啊,关这个推导大家有问题没有?没有问题,我就给大家解释这个东西背后的意义了。就是这个L啊,它等于它。有问题没有?没有问题吧。O。😡,这个拉格朗日这个就。😡。
这个那叫做啊这个玩意儿它居然我操它只取决于在这个训练集中的两两样本的点乘。你看阿尔法A阿尔法这这是这个拉格网拉格网这是乘子,而它只取决于两个X,就是两两之间的点乘X具体是什么?其实没关系。
RX的点乘是有关系的。这个是一个大新闻。我们待会儿就会基于这件事情来做一些啊所谓的呃呃这个这个核方法,它是完全是基于这个非常跨时代的这么一个观察。在这儿。就是说我们的这个L啊。
它仅仅取决于两这个训练集中的两两的这些X的点乘。O。啊。给大家两分钟的时间消化一下我们怎么一步一步走到这儿的。呃,我呃。呃,然后我再呃回答一部分的问题,然后我们再往下走这个接着往下走。
因为这一步是今天啊作为SVM来说,它能够达到的一个第一个高峰啊。给大家5分钟的时间,你们可以留言,我呃呃给3分钟吧,3分钟的时间呃来呃来留言。然后我一个一个的来这个回答大家的问题。好。消化一下嗯。哎。
我来了。对,就是说是呃呃我看看哈。😊,比较好的书籍啊,周志华老师的啊机器学习。啊,接宽那里接宽这个就有点远了,这个接宽。啊,接款呃,就是说其实接款你就你就纯粹的用这个这个向量的几何意义。
你就能给它写出来。这个。为什么2分之1W的平方可以写为它OK那我们就是把这个W简单带进去就完了。WW是个向量嘛,W的平方就是Wtranspose乘以W嘛,那么它的两个transpose。
其实啊你你你把它你你。如果你给他。非得写成这个向量化,你带进去之后你就会发现这两个是一样的。这些训练样门点之间是呃,它并它不是三维,就是这些X可以是任意维度,它它是一个向量,它可以是500维。啊,好。
两两点乘对两点就是我们看这个式子啊,我们看这个式子。比如说我们把这个式子给一个做图优化的朋友,说你帮我把它优化了。那么你的突优化的朋友就会问你说这个L啊是什么?你给他的时候,你不需要把所有X都给他。
你只要需要把X两两的乘积的这个值给他就行。啊,这个INJ只只不过是啊在数学中,你如果要写一个双重的求和,这个是关于J的,这个是关于I的J等于一到NI等于1到N这个N就是训练集的大小。
所以说所以说就是说嗯对啊。怎么找到一个数轴?W可以刚好垂直接,就是我就定义,因为你接是一一条线吧,这条线肯定有个。肯定有个垂直的那个东西吧。那么这个垂直的这个向量,我就给它定义为一个变量是W。
我们的目的就要求出W到底是是多少啊。阿尔法怎么找没关系,这个就是你用任何的这个啊图优化的手段就能找这这个找阿尔法不关键啊,关键是啊。那。I根之相等,我我我不知道您说的相等的意思啊。它并并不相等。
就比如说是要X1跟X5啊,还有X就是说你要把所有的这个这个可能性全要变利了,那么就是11啊12啊13啊14一直到1N,然后是啊21啊,22啊,然后是31啊32,然后是N1一直到NN。阿尔法就是我们这个。
😡,这个数乘法这个拉格朗日这个montiplayer啊,这个橙子。刚才那个坐标是二维的嗯。但是你可以是恩为的,没有问题啊。这个为什么等于零?是因为我们刚才求了这个L对B的偏导之后,我们令它为0。
那么这个玩意儿就为零。这我们推出来跟W等于它是一样啊,这些问题大家回去再听一遍这个视频,你们再听一遍,你们就能明白了啊。好,那么呃我们同时把这个W跟B的。刚才我们搞出来的这两个东西。
我们带入到所谓这个deciion rule里头去啊。这个这个这个dec任务是什么呢?就是sation of啊啊不dec任务是啊我们有一个新的一个样本的一个U,对吧?我们要加B啊,它大于等于零的时候。
我们就Z plus,对不对?我们把这个W。到了这个里头来是什么呢?就 sumation of阿尔法I。Y爱。跟这个U啊。加B大于等于0hen plus。
就是说当你的优化的朋友告诉你这些阿尔法取值是多少的时候,你要做预测的时候,你怎么弄呢?啊啊这少1个XI。你要做预测的时候,你就是一来了一个新点,你把这个新点呢跟这些不为零的这些阿尔法值所对应的X。
你两两之间求点正啊,只要它大于零啊,你就预测为正,小于零就预测为负。也就是说我们在做就是把这个分类器训什么叫训练好了。训练好了是训练好的意思就是说你现在有了一些这些阿尔法了。那当你有了这些阿尔法之后呢。
我们来一个新的U的时候,我们要干的事情就是求一个 summation of这些阿尔法I啊啊YI跟这个XI跟你的这个一个新的这个测试集中的这个点,求一个这个点乘加上B,看它是否大于等于0。😊。
这就是我们做预测的时候要干的事情。那么我们要学就是要训练的,其实就是你只需要知道这些 alpha法是多少。而在呃我刚才给你的那个。嗯,conr里头有很多阿尔法就会就会为零。
而不为零的这些阿尔法所对应的X值就叫做所谓的support vector。而不为零的这些阿尔法值所对应的这些X都在街边啊,这个就是嗯。这块才是你那些KKT条件啊,什么乱七八糟的玩意儿。
他所推出来的一个结论。有问题没有?但是你要理解SVM其实你是不需要不需要那条路的。你真正理解SVM的本质是我给你说的这个啊这这个事情啊。然后你接下来你就走一个这个所谓的QP也好啊,1个SMO也好。
你就你就你就把你就求这个求这个啊凸优化问题就行。因为它是SMO有个好处,它跟神经网络不一样的地方是它的这个目标函数是个凸函数啊,那么人类呢现在对凸函数求集值是非常擅长的啊,你就求就行。求完之后。
你们就会有这么一组阿尔法I值常数啊,跟它这个阿尔法I不为零的阿Y值所对应的这些X,所以说你要存一个SVM这个模型怎么存呢?你就存了一组这个阿尔法值跟这些阿尔法值所对应的这些X值,你要然后具具体干的时候。
也是X值跟一个测试级中的这么一个点,你求一个点成这么干。不是大于一,我说过了,大于一是在街边站在街边,但是你测试集中,你很可能一个点就跑到这儿来了。你测试集并不能要求所有点都得在这个街的外面。
在训练集中,我们要求它必须大于一。但是在我们真正做预测的时候,这个我们是没法控制的。support vector就是说这些FI不为零的点。因为你求这个 sumation的时候,你很多阿尔法A为零了。
为零的这些X都是在这个接的外面的训练集中的接的外面的。当这个阿尔法A,你能证明当阿尔法I不为零的时候的这些X它刚好都。都在街边啊。有问题没有?O。挺爽了吧,这个嗯讲讲这个SAM我是永远讲不累的。
因为它实在是啊太美了。
人工智能—机器学习公开课(七月在线出品) - P16:模型选择 - 七月在线-julyedu - BV1W5411n7fg
🎼。这块呢我们从我们有两种理解理解方式啊。第一种理解方式呢就是大家大家在平常状态下理解了这个模型的选择。就会有很多同学问我说,老师我现在有一些数据了,我有这样一个场景。
比如说是分类或者是连续值预测这样一个场景。那我呃比如说我有多少样本,有多少政府样本。呃,分类问题的话,有多少正负样本啊?如果是连续值预测的话,我有多少样本。然后我们怎么样去选择。
我我用什么样的模型会比较好。比如说我用我用呃现行回归呢,还是罗辑斯特回归呢,还是之后我们会讲到的一些别的一些算法,一些分类算法,一些。连连续值预测的一些算法。那关于这个这个问题呢,我先说一句啊。
一般这个我一般觉得这个问题非常难回答,原因是其实并没有哪一种模型是。万能或者是它的它的功功能是非常非常强的,适用于很多很多的场景。呃,都是在你特定的这个特征处理特征工程之后拿到的这个数据上。
对应不同的这个数据。我们会选择我们会有比较恰当的一些模型来处理这个东西。来建这个模型,搭建这个模型啊,当然有一些比较比较比较通用的一些,我们说一些准则。
那比如说这个地方我给大家列的这张图是我们针对这个包啊,大家如果用s learnSK learn的话,这个包的话,他给我们提供的一个人家其他的同学总结的一个去去啊,就是大概是一个一个一般的一个法则啊。
如果我们拿到一个问题的话,可以根据这个东西先来看一看可能有哪些解决途径啊,当然这里面会有很多算法,现在我们还没有学到,接着往后学的时候会学到,但没关系,我们现在先可以看一看。
首先你现在拿到了一份数据过来,拿到了一份数据过来的话,我们会判断一个东西。我们判断一个东西是什么呢?你现在的样本量有多大。啊,他这个地方给了一个明确的数字啊,但这个数字不不重要,呃。
并不意味着我们用我们要根据严格按照他这个数字来判断啊,它的意思是什么呢?如果你现在的数据样本非常非常少的话。那你要你需要去做一件事情,一般情况下会会有这样一个选择啊,要么你就是你去多找一些数据来。
为什么?因为机器学习这个东西必须要在大量的样本上才能学出来一个比较具有具有一般性泛化能力的这样一个模型。如果你给它的数据非常非常少的话,它的学它在这个上面很快会达到一个状态。
我们我们一会儿会提到叫做混拟合。在那个达到那个状态下训练出来的模型,在其他的数据上是不太可用的。效果是非常差的。所以我们会建议在这个情况下,有两条路可以选择。第一,你去采集更多的数据。
比如说你拉长时间窗口,采集数据的时间窗口,你找更多的天更多天数的时间。更多用户的呃数据过来。那第二种处理方式是这个时候你干脆就不要用机器学习了,你去用一些啊人工的规则。去处理这个东西。好,那如果样本。
那现在我也有足够多的样本了,我样本能达到我要求了。那我们怎么去做这个事情呢?首先你得区分你是个问题。需要你需要解决的这个问题到底是一个连续值的预测,还是一个离散值的预测。比如说你现在要预测股市的行情。
你要预测北京的房价,上海的房价,深圳的房价会有什么样的变化?这个时候它是一个连续值的模型。所以我们会。走这条路叫做regression,它是一个回归类的问题,对吧?我们会有一些回归的算法去解决这个问题。
如果它现在是一个分类问题,也就是一个类别判定问题。比如说举个例子说,你要判定这个呃一个场景下,金金融场景下是是否是虚假交易,你要判定一个用户是不是会点击你给他推荐的内容,一个用户是否会。买你的东西。
以及这个图片的内容到底是什么?这一类问题的话,我们叫做分类问题,对吧?我们会有一大堆的分类分类的算法来解决这个问题。所以你首先要确定你的问题到底是一个回归问题还是一个分类问题。我我们顺着这条路来。
如果它是一个分类问题的话,依旧和样本样级有关啊。如果它这个时候的样本量级。不是特别大的话,我们会我们可以采取一些分类算法来做啊。大家之后会学到的。
比如说这个地方的它的lin SVC其实是呃线性的SVM啊来做这个事情。你也可以,当然你也可以用其实这个地方用它或者是你对特征做一些处理,用逻辑思回归都可以啊。LR只不过说纯分类问题上来看的话。
SVM相对于逻辑思回归的话,它的健状性会好一些。所以一般所以他这个地方给的是会让你优先用啊SVM这样一个算法。但实际上你特征处理的okK的话,其实逻辑思套回归也也可以用。
或者是你你现在需要拿到一个具体的一个概率值去做一个排序的话,那你会优先用这样一个算法叫逻辑词套回归,对吧?我们讲过这个算法。然后紧接着呢,他又给了给了一个判定,说你现在要看看这个东西,它到底是不是一个。
文本数据。如果它是文本数据的话,我们会我们有一类统计计我们有一类和统计非常近的一类算法叫做普素贝耶斯啊。这个东西在自然语言处理上已经用了很多很多年了。而且在你的数据量非常大的时候,它效果是比较好的。
所以如果你是文本相关的一些分类的问题的话,呃,你可以用这个非常经典的算法。当然我们现在有很多新的算法,也也可以处理自然语言处理上的一些分类问题啊,比如说情感分析或者其他的一些分析。判点问题。嗯。
比较经典的还是这个算法。OK如果它不是一个文本的数据的话,那我们可能会用其他的一些分类分类的算法。比如我们说逻辑斯特回归啊,比如说这个呃SVM啊等等。呃,他这个地方提了一个KKK最近0。
但这个方法的话嗯它现在用的比较少,原因是这个这样一个方法的话,需要便利所有的训练集,然后你要把所有的训练集的。特征都存下来,这是一个非常非常耗时间和存储的这样一个算法。所以现在用的不是那么多啊。
一般我们会直接调到后面也不用SVM或者是用用逻辑斯回归,包括后面大家会学到的一些一些数相关的的一些model啊角色数呃增强是增强规定ing呃C进去等等来做这个事情啊。那如果这个时候的样本非常非常大的话。
这个地方如果你的样本量级非常非常大的话,这个是地方你你用SVM这种算法是很难去做的。它训练的时间会非常非常长。而且这个最后能收敛到的一个程度是不太确定的。所以呢会我们会你这个时候我们优化的时候会用。
不再用梯度下降,而会用随机梯度下降啊,就是SGD有这么一个算法,SGD对来做这个事情,然后可能会做一些。和估计这这个之后大家会会知道,我们现在说这条路径,就是其实大家可以看得到啊,我们从最前头过来的话。
首先要区分这个东西到底是一个什么样的,我们要解决的是一个什么样的问题。确定了这个问题之后呢,我们又在看数据的样本到底有多大。如果是什么样的一个规模的。在一定的规模下的话,我们是可以用某一些模型来处理的。
对。如果它的样级非常非常大的话,可能我们要我们要用一些别的一些分类器来做。用传统的这个一些分类算法的话,可能训练时间会比较长,或者训练它收敛不到那样一个程度啊等等等等。好。
如果这个时候它是一个连续值的话,它是一个连续值预测的一个问题的话啊,大家大家可以看到和和左边其实很对称啊,我们也需要考虑样本的量级。如果量级比较小的话。
我们可以考虑一些呃 linear的线性的回归等等一些包括SVR是知识向量回归,包括像呃GBRT之后,大大家会接触到啊那个。呃,是回归数等等等等。如果样本样积非常大的话,我们可能需要一些别的处理啊。
在依旧是在最优化的时候,我们不不能再用梯度下降这样一个算法了。可能可能会用到SSGD用到随机梯度下降啊,这个意思是我们每次求梯度的时候,我们在求那个。他的梯度的时候不会用到全部的样本。
我们可能只会用里面一个或者一小撮让我们来做这个事情。啊,如果样本如果这个时候。你的维度非常高的话啊维度非常高的话,我们会做一些处理,先做一些处理,去节省这个我们的一个计算资源,加快我们的速度叫做。
咱面呃叫做维维度约减,就降维的这样一个处理啊。那这个处理呢主要是。我们我们我们会有一些算法,比如说PAPCA这样的算法去做,把维度非常高的这个特征向目量处理到。维度比较低的,把它里面。
饱含的这些信息特征信息把它集中一下,放到更低的维度,相对低一点的维度上。然后呃再去做这个这个事情。再去做后续的一个训练。这样的话可以节省一边一部分的空间。同时呢我们训练的这个。呃,需要消耗的这个资源。
这个内存也会也会少。当然这个是属于你如果一定要归类的话,会把它归到无无监督学习里面。这一类。包括这个地方呢给给的一个建议是,如果这个算法,如果你现在要处理的呃这个问题呢,它。它是一个呃已经有外值。
也就是说是一个有监一个有监督学习的话,会走走上面两条路径啊。有监督学习的话,因为你你是已知了这个标准答案,然后你去做这样一个训练吗。如果你现在未标注的样本,你想去发现给你一些数据的样本。
你去发现这些样本之间的一个一个关联性或者是这些样本之间能挖掘出一些什么东西的话,我们会用到一类算法叫做聚类算法。这个之后也会提到哈聚类算法会发现一个一个的数据团这些。数据团呢。这些数据团呢?
他们之间会有一些共性。OK。聚类我我回答几个问题啊,有同学问到说聚类和分类有什么样的区别?聚类是一类聚类是一类无监督学习的算法。也就是说你给他的这个训练样本。
或者你给他的这个样本是不带上最后的这个目标值外的。也就是你并不知道这个东西它是一个某一类或者这个东西最后你要预测的这个房类似于房价这样的东西,它的一个具体的值是多少。
只是给了你一些样本没有标记的数据样本,说你去看一看这些样本上,你能发现什么样的规律。那我们会用一个有用聚类相关的算法去看看这些样本点在空间中的分布,可能有这部分是在一块的,这些样本点是在一块的。
然后你再去看看这个这一个classaser这个类里头,这一个聚类的这个类里面会有什么样的共性。这些样本点。SVC呢SVC指的是啊其实就是SVM它它这里面的话写集中写了一个类啊,se里面。稍等。
我看一下大家的问题。说聚类之后的标签怎么定义啊?聚类之后呢,我们我们只只知道哪些数据,哪些数据是一个团的,就是是是组在一个团的。但他并不知道这个东西实际的含义是什么。
你需要自己去你需要自己去把它用起来的话,你需要自己去看这些这同一个同一团的聚到一团的这些样本之间有他们有有什么样的一个共性。分类问题数据不用降维吗?分类问题数据也是需要降维也是需要做PCA的。
他这个地方给的这个大家看到这张图啊,到PPT上去看这张图的话,给的这个图是一个是一个一个参考,给大家做参考的。但实际上我们实际的呃可能会有一些调整在里面有些微调整。
包括像像刚才同学讲到的说这个分类问题要不要要不要先做降维。如果这个数据的维度非常高的话,我们也是需要做降维的。对,知识向量机分类型,supporting vectorclassify。啊,好。
接下来有有一部分同学提到的问题呢,可能现在没有办法直接去做。更详细的解释,因为它会涉及到后面的后面的一些模型或者知识啊,大家接着往后接着往后去学这些模型,然后再回过头来看这张图。
你就能发现这你就能明白他这里面提到这些东西到底什么样的含义啊。聚类它其实就是一个分组。对。好,咱接着看啊,刚才我们我们刚才这张图上给大家提到的这个模型选择,呢是说我现在有数据了。
我也明确我现在要解决的是什么样的问题。那我应该选择哪一个模型去做这个事情。那我们说说模型选择的第二种含义。第二种含义是你现在知道你要用什么样的一个模型,你已经确定了你要用什么样的模型去解决这个问题。
但是你现在想知道你因为即使是同一个算法或者是同一个模型的话,其实我们也有很多参数可以选,对吧?我们有很多种可能性。那这个时候我们怎么去做这个选择?举一个最简单的一个例子啊。
这个地方我们用的例子是一个线性回归的一个例子。线性回归的啊。这个例子呢是我有这样的一些样本点,大家可以看到这样一些样本点,对吧?我用这个绿绿色这条线呢就画出了它的一个。
它的一个标准答案的一个分布分布状况,就是大致的一个一个标准的一个大致分分布状况。然后我要用线性回归这样一个模型。我确定了我要用lin regressiongress线性回归这样呃或者说广义的线性回归。
我们把它叫做多向式回归好了,去解决这样一个问题,这样一些样本点的拟合,那它会存在一个问题。因为它既然是一个一个一个多项式回归。广义的线性回归的话,多向式回归的话,那你一定存在一个问题。
说那你取的这个X它最高次你要取到几次呢。对吧同为这样一个模型,但你其实是有选择的。你可以知道你你可以去选择你最高需要取到的这个次数N是几次。这个时候大家大家想一想,如果取的N是0次。
N是0次表示它是一个常函数嘛,对吧?就是呃Y等于M这样一个常函数嘛。啊,sorry和这M重了,我们换一个值,比如说我们换成。CY等于C这样一个长函说话,它就是一条直线,对吧?
你会发现你即使选了同一个模型,你你选这样。维度最高是N等于零的这样的模型的话,你怎么样也拟合不了这些点,对吧?好,你现在把这个最高次数N升到一尾,也就是说你是Y等于KX加B这种形式一条直线了。
你发现这条直线呢,你可以调它可以尽最大可能去。你和这个这这条绿色的这条真实的结果值。但会有一个问题,你发现你无论怎么样调,它和里面的部分样本点部分样本点。都会有一定的距离。
所以呢这个模型即使我们确定了是用多项式回归,用线性回归这样一个算法,你会发现我在选择参数的时候,如果超这个要应该。也教模型选择啊,我在选择,如果我用依次这个模型的时候,你会发现依旧就完成不了这个事情。
但如果你现在选择二次,变成Y等于AX方加BX加C。这样一个二次的模型的时候,你发现我终于可以拟合出来。啊,不一定是A呃,不一定是一条抛物线啊,可能这里头会有一些。不呃,说错了。
这个时候是加了三次在在里面。sorry啊,AX立方加BX平方加CX加D啊,这样一个最高次,当你最高次M,我把这个换成M。好,最高是M取三的时候。大家知道三次的曲线,它是有有波峰,也有波谷的嘛,对吧?
那你可以更贴切的去拟和现在的这样一个数据样本的一个分布啊,这个地方略过了二次,因为你发现二次的话,也很难去拟合这个分布啊。当然你可以把M取的非常高啊,你可以取一个9次的一个曲线。次数越高的话。
表明它可以拟合的这这个呃它的一个分布,它的一个状况是越多的对吧?所以你你去做这样多项式,如果你最高次数取到9的话,你去做拟合的话,你会发现你可以拟合的非常非常好。啊,但它会带来一些问题。
一会儿我们会提到这个问题叫做过拟合。其是它在你当前给进的这些训练样本上的话,效果非常的好。他能穿过你每一个点,但他在你给的新的数据上效果不好了。所以呢这个地方我们说模型选择第二种含义是。
即使你选择了我用哪个模型,这个模型里头会有一些超参数。比如说多项式回归里头最高次的次数。比如说其他的一些分类器里面的,我们就说简单的说这个时候你的呃正则画像系数应该取多少。
或者是你你现在用的它之后大家比如学到SVM的话,你会知道你第一向量接会有不同的核函数。那选择什么样的核函数啊,包括。在在罗辑斯和回归里头,其实也可以做一些特征层面的一些一些映射啊。
就说这个东西会影响你即使你取了同一个模型,你也会有也也是需要再去做一些选择的。啊,我们来说一说模型选择的第二类。刚才我们说的第二类问题就是你已经选定了,你现在用这个模型。那用这个模型的时候。
你怎么样去选这些参数时候,我们的解决办法,这个办法叫做交叉验证。呃,这是全体的数据集,大家经常经常会做一件事情啊。我们在线下去做一个模型的话,以及评估它效果的时候,我们经常会做一件事情。
这是现在这个是全量的for的一个data。我们会做一个事情。首先大家都知道是我们会把这个数据分为。训练集对吧?和测试集,这个是大家大家都知道的,都周知的。也就是我们需要拿一部分数据出来做呃训练。然后呢。
我们会把这些训练得到的模型呢在我们测测试集上用一下,看看效果怎么样,对吧?但你会发现,如果你只把数据分成这个样式的话。那你没有办法去解决刚才这个问题,对吧?就是你最高次数是取几。这个问题。呃。
然后呢我所以呢我们我们在机器学习以头,大家经常会听到你如果去做机器学习相关的工作,你经常会听到一个概念叫做交叉验证。呃, course validation交叉验证呢意思是什么呢?
我们现在把数据分成三部分。呃,可能是举个例子啊举个例子,可能我们会用70%的数据去做训练集,20%的数据去做交叉验证集,10%的数据去做测试集。好,我们来解释一下这个这个区别啊。
这几个东西首先训练集大家都知道了,这个东西是用来建模的对吧?这个前ningdata它是用来。帮助我们去训练出这个模型的。那这一部分是用来干嘛的呢?这个叫做CV级cro validation交叉验证级。
对吧?然后最最后这个是test,我们分别有什么样的作用呢?这个是用来建模的那交叉验证是用来干嘛?对,他们它是用来帮助我们做参数和模型的选择的,就是参数的选择的。test做什么用呢?
它只是在你选好了模型之后,我来测一下这个模型的效果怎么样,拿到这样一个结果。okK然后我所以我们说测试集只做模型的效果的一个评估,对吧?交叉验证级是用来做模型选择的。其实它是怎么做这个事情的呢?
下面我们来看一下他们怎么来做这个事情的。我们讲最经典大家会看到最经典的一种交叉验证叫做K折交叉验证K forward cross validation它是怎么做的呢?他把训练集大家看看到了吧?
这个是我们的前力data训练集。他把训练集分成了你你如果你的这个举个例子啊,现在是K者的交叉验证。如果K。等于5。那我们会怎么做这个事情呢?K等于5,意味着我们会把训练集先分成5个部分。看到吗?
均匀的分成foldd一fo2、fo3fod、4fo55折对吧?第一折、第二折、第三折、第四折、第五折,结果然后他会做什么样的事情呢?他会轮番的用其中的某一折。比如说这个地方最开始我们会取第五折。
把第五折当做一个。我们的交叉验证集把前面四者当做真正的训练集。这变成了后来真正的训练机,而这个东西呢变成了一个。交叉验证题。我们会做一个什么样的事情呢?刚才不是说了吗?我们要做模型的。
我们要做这个模型的选择,对吧?有不同的维度。比如说就前面这个问题,我们现在要去做这个模型的一个选择,选择线性回归的多项式回归的这样一个最高的次数。那我们会在这一部分样本上,去年样本上。
在这部分训练样本上,用N等于。比如说01刚才提到的39,我会去建四个模型。然后建完这四个模型之后呢,让用这四个模型分别在这个交叉验证级cross validation上,这是同样一份数据嘛,对吧?
我用这四个模型在同样一份数据上去拿到四个的啊评判标准。比如说你这个时候如果你用用准确率的话,对吧?那你就是一个 accuracycur对吧?一个准确率一准确率2准确率3准确率4,所以你从这里面去挑出来。
比如说我们刚才看到的。我们我们刚才看到的这个模型,当然我们刚才的看到模型里面的话。Okay。肯定是等于九的时候,你和成度会比较好啊。一会儿我们会说我们在这个我们在做完模型选择之后呢。
我们会去评估一下它的一个状态。这个是后续的事情。我们现在先说怎么做这个模型的选择。模型选择的话,你会发现在前面这样一份数据集上啊,你可能会发现你用KN等于三和9效果都还不错。
这是这只是一轮。我们如果做K折的交叉验证的话,这只是其中的一轮。我们会接着做另外一件下面一件事情。我们会把第四者。fold for作为我们现在的交叉验证题,然后用12要12354者去做训练。
我们会轮番做5次,对吧?这样的话大家大家都会这样的话大家都会。都明白,对吧?那我我K折的交叉验证,实际上是我做了5次呃,做了5呃,如果K等于5的话,其实是做了5次的这个训练,对吧?
然后去对比这个会会对比他们的一个准确度,把这5次的准确度,比如说求一个平均去做这样一件事情。然后从里头选出来目前这个准确率比较高的模型。所以呢特征所以模型选择这块啊,我们就选选它的参数。
或者是选它的这个将前面这个模型选它的最高次数的话。其实我们我们依赖依旧要依赖于我们的数据,只不过现在的我们最传统的情况,我们会把数我大家都知道的时候,我们会把数据分为训练集和测试集去做这个事情。
我们在训练集上建模,对吧?在测试集上去测效果。但现在呢因为多了一个环节,我们要选模型啊,即使我们现在确定了我们用某一类模型,我要选参数啊,那我们怎么去做这个事情呢?好,我把训练数据。
把它把它分成训练级和交叉验证级,就是训练级和交叉验证级。然后我们说了呃非常非常经典,大家在各个。如果是一一套完整的一个一个一个package。一到库去做器器学习的话。
你在里头总可以发现一个K折的交叉验证。这样一个交叉验证做的事情呢跟刚才区别在于我增多了一些随机性。因为我我不确定我现在取的这个训练,我分割的这个训练集和交叉验证集里面。是不是覆盖的比较全。
可能会可能你在分割的时候分割的不太好,会导致有一部分的有倾向性的样本到了训练集里头。另外一部分有倾向性的样本到了交叉验证集里头。所以我做了一个事情,我把这个训练集分成了5个部分。
轮番的用其中的某一折去做这个交叉验证集,用剩下来的四折去做这个训练集。然后我去我我每每一轮我又建建根据不同参数去建这么多个模型得到不同的准确率。然后我把这些准确率求一个平均。这样的话。
我从里面挑出来准确率比较高的模型不一定是一个啊。比如说刚才前面这个问题的话,可能你会发现三和九都还不错。至于说三和九怎么来挑的话,这个取决于我们我们待会儿会给大家讲到的,我们会去评估一下模型的一个状态。
也就是说我们先到呃目前为止大家去看这个东西的话,你都会发现呃。呃,三和九的话应该是在训练级上效果都比较好。在你交叉验证集上不好说。但是可以看啊。
就是我们在这个情况下会挑出来挑出来一些呃不同的这个模不同的参数得到的模型嘛,去看它的准确率。因为你交交替的使用了,不同的这个fold,不同的这个交叉验证集,不同的折去做交叉验证集。
所以增大了它的一个平均性。它的它你取这样你取错的可能性会比较小一些。最后的这部分,我们t data我们是不动它了,我们只在最后用,只在最后去评估你现在拿到的这个模型。比如说你前面选了三次。
那评估一下你现在三次这个模型,在一份新的数据上大概是什么样的一个准确率?如果你有其他评判标准的话,可能会有一些其他的标准啊。
人工智能—机器学习公开课(七月在线出品) - P17:谱聚类 - 七月在线-julyedu - BV1W5411n7fg
🎼。那我们先说这个什么叫普啊,所谓普,它其实就是某一个方阵的所有特征值的全体业,通称为普。对吧方正它是一个线性算子,A这个东西乘以一个X,它就还是个线性变化,对吧?它这种东西啊。
它它它它这个东西是有谱的对吧?它的谱就是它的这个特征值。那这里边特另外我们多说一句啊,就说这个它的。最大的那个特征值,它就表示了这个谱的半径。当然了,比要说这个如果一个矩阵的普伴径。
我们往往用A的转质乘以A。算他的这个方阵的最大特征值,算它的普遍景况。好了,这个我们说说这个普局类吧,就是普局类其实它一般而言是一种基于图论的,这不不是一般而言呢。
这就本来就是它是基于图论的一个聚列方法。然后呢里面。唯一涉及到的一个点就是需要去求一张图的拉拉斯矩阵。求了拉式矩阵以后,对这个矩阵求它的特征向量,根据特征向量进行聚类就可以完成样本的聚类了。哎。
看起来还是很有趣哦,对吧?这样子我们首先需要建立好这张图。因此呢这里只有只有一些这个样本啊,对不对?假定我们给的样本X1到XN,然后任意两点之间都是可以求它的相似度的,注意。相似度就是。
距离的那个反方向嘛,对吧?这个相似度我记得SIJ哈这是simulator点对吧?我们得了一个相似矩阵,然后是I行那个那个N行N列的一个N个嘛,对吧?这里边呢我们。这个往往有时候哈是这么来做。
就是给一个阈值,大于阈值呢,我们就直接选上去。小于阈值呢,我们就直接给它清零,对吧?这么一个做法哈,往往是这么来做的。另外呢就是说往往我们会给定一个对称的一个相似度度量函数。这样的话得到的这张这张图。
就是一个对称的一张相似度的图。对吧没错,就是我给个给个阈值,就是把它稀数化了,对吧?它就是好多零嘛,对吧?然后呢,我们就下面的工作就是在我们眼中就不再是一个N个样本了,而是一个N乘N的一个相似度图。
我们要解决的就是这张图如何对样本进行聚类的问题。换句话说。找到图的一种划分方式,形成若干个子图或者若干个group,若干个组组之间权值是比较低的,相互之间连的比较远。但是呢组以内权值比较高,像素比较高。
就这么一个简单一个思路啊。首先这是个无项图哈,我们一般而言会给定一个就是I到JJ就到I,所以这是给定一个无项的。然后呢,这个全值矩阵呢给出来之后呢,我们再把它求一个度矩阵。度的意思很简单哈。
就是说第I号节点,它的所有的边的和,我们把它叫做第I号节点的度dere那个字哈,这样的话,其实就是WIJ这么一个值对J从一到N去加和嘛,也就是这个矩阵的第I行的所有元素加起来,就是第I个样本的度。
还是好简单,对吧?因此,第一个样本第一个样本样本的度,我们把它写在一行一一列上。第二个样本写在二行二列上,第三个写在三行三列上就形成一个度的矩阵。D,所以大D是个对角阵。W是一个临接的一个对称阵。
它俩都是对称的哟,因为对角这间肯定对称嘛,对吧?这都是零,它可能也对称啊,对吧?呃,另外呢就是说当然这里面有一些概念,这概念就不说了啊,就是有指着向量啊,或者是AB之间的骄傲,这先不说了啊。
就是事实上这个大家在推的时候会有用啊,就是说A和B之间如何度呢他们这的连接权重啊,就是我把。A里面的所有点和B里面的所有点它们之间的加和。加起来认为是A和B他们之间的连连接权重哈。
那我要要的就是A和B之间连接权重越小,就把他们俩之间给截开就完了哈。呃,这里边呢我们先说一个第一个问题,就是如何建立相似度的那张图。大家其实应该已经有概念了吧,就是说要想建这张相似度图。
能想到第一种办法就是我用这个高斯距离对吧?呃,我用那个那欧式距离,但是咱在实践层面上往往是用高斯距离,就是高斯相似度函数,对吧?或者叫什CF那个。镜像机函数镜像机函数哈RBF镜像机函数哈。然后那个。啊。
对,就是那个R变M和进行奇函数。然后这个高低的函数,其实就是咱一直看到那个东西,对吧?I和这间距离,然后取平方上除以R卓个东西,它这里边只有一个参数,就是一个带宽sigma,对吧?另外就是刚才说过的。
我们会给出所谓的一系统连接图,就是小于一品之后把它截掉,大于一P之后在它在做对吧?一呢,这个文章中大概是这么来说的,就是怎么选一品。一般而言,我们选全值的均值。
或者是选这张图的最小生成数的最大的边作为一都是各种各样做法啊,只不过是一个参考啊,大家可以做一个参考就好了。就如果选参数嘛。然后另外呢就是说。不是对。从任何一个节点到其他的N点1个节点。
我都让他算个全值,然后得到一个数。而是如果说距离我比较近的某几个才去连接,所以会形成一个K零进土。对吧就是说距离我最近的那个,比方说五武近邻,那意思就是说离我最近的5个人,他们之间的这个距离都是有效的。
第6号到第N号,他们之间的这个距离我都认为是0相素都是0,没关系。跟我最近的那5个人,他们之间用正常这个动感计算,有5进0的意思哈。多说一句。近零土不是对称的。什么意思?就是说。我如果是你的第三禁邻。
但是你可能你就是我们互相可能不是哈,就是我是你最近的,但是你可能有更近的人。在你那对吧?所以他这个近邻不是不是相互之间一定有的。所以说我们往往会怎么办呢?就是。实践层面里面直接忽略掉方向。就是我如果是。
找离我最近的55个人他们之间连起来。然后呢,这5个人跟我也建立连接,就这么一个简单方式哈,这个东西叫做。K近0。如果不是这样子,要求我是我的前五,那那离我最近的那5个人,同时那5个人。
比方说A号那个人吧,他的那个离他最近的那5个人里边,也有我我我和A之间才建立连接。那种连接方式叫做互近邻。就是两种近邻方式啊,就给了张图。就是你比方说我如果选择五近邻,我如果正常做的话。
这一个点选择这5条路,然后呢就去算了。但是。可能比方说对于这个点吧,虽然这个点是他的五近邻某一个,这是有条路了,对吧?但是对于这个点来讲,他好多人都比他更近。所以说对于他来讲。
这个点就不是他的五近灵之一,这就没点了,对吧?满足相互之间的那个东西,见近邻叫互近邻。正常的那个我们把它叫做只要有就连接,叫K近0哈,大家知道这回事就好了哈。所以你用的时候看你是用互近0还是用K近0。
呃,这是两种不同的对吧?知道就好了啊,另外就无所谓了,就是你比有一匹淋域,然后你算起来距离0。3以内的,我就算距离一大上。对吧这是一系统的说法。好。啊,这里我还做了一个简单的比较,这个咱不说了哈。
就是说。他们之间用选几选K近0还是后近理有什么样的区别?并且如果你不知道如何选的话,你就直接用K近0。就是你如果不知道选啥哈,你就直径K减0就好了,也也不用一系统,也不用呼减0有这么个说法哈。好了。
这是关于第一个把这个图建好了,对吧?下面呢简单说一下,刚才不是给了那个度矩阵了吗?又给了一个连接的相似度矩阵,对不对?我直接用这个度的矩阵去减去相似度矩阵,就得到一个新的矩阵,对吧?
这个矩阵就把它定义做拉布拉斯矩阵。简单吧。do的矩阵减去这个W,这个矩阵就是我所有的拉布拉斯矩阵。简单说一下哈简单说下性质,就是你会发现我任意给定一个F一个一个N维的一个向量,它的转制乘以L乘以F。
大家算一下,会得到这样一个式子。这个呢我把它放到副页里面了。就是这个哈很简单一个东西哈。就是。这个。就是F1撇乘F乘F。简单的算一下,就会发现等于这个式子。那既然等于这个式子会说明什么?
说明FWMIJ是大于等于0的FI减FG的平方是大于等于零的,因此这个值一定是大于等于零的那这任意的一个向量都满足性质。所以这个L是一个半正定的。对吧你回来哈,不管了哈,反正总之大家知道这回事哈。
咱咱就弱化推导,强调实践哈。然后它其实大于等于0,那大于等于0就意味着这个L,它其实就是一个呃对称还半正定,半正定的意思就是指的它的最小的特征值就是零。嗯半证令嘛,对吧?那么说有可能有0。
但是事实上真的有0啊,至少有一个是0。然后呢这个。呃,其他的除了零以外,有莱一姆2的莱姆N都是从小到大排起来,得到一个东,最小的是0,对吧?就这么情况哈,并且啊它是对称的,因此le一到莱的N一定是实数。
我再强调这一点啊,就是如果你编程写完以后,发现你求的特征值是负数了。这不是实数范围以内的,而是虚数范围以内的了,你一定写错了。一定有问题,因为是按道理你求的一定得是一个实数的,一定有1根。
对吧这是这个问题啊,嗯,怎么突然问了个K进0K means,我们继续那个继续普局类哈,然后。这是这个问题,对吧?然后呢我们先给出他的说法来哈,先我先给说几个结论,这个结论我没有在PP里贴。嗯。
然后咱简单说一下哈,事实上是什么呢?这样一个拉式矩阵哈,零一定是它的一个特征值。并且零有可能是K宠的。K重的意思意味着什么呢?意味着。这张图有黑个联通分量。就是如果这张图它是有两个联动分量的。
就是咱看前面这张图哈,假定假定说这是一个联动分量,这是一个这是一个这是一个。假定这一共就一共有就就4个哈,假定一共有4个哈。你把这张图去代入到这个拉式矩阵,然后去算的话。
那么说得到的那个零所对应的特征向量一定有4个。就是推虫的意思啊。小西瓜问的那个问题,比方说这个R的话就是实数,没有没有没有么东西,这是实数。这是那个这是一个N次密码,的相对变成F11个N维的一个向量。
没什么意思哈,就是实数。然后呢,我们不管这一套了哈,先给出它的一些拉式矩阵的定义和它的相应的变种。说说哈。第一个就是我们首先可以计算相似矩阵W,对吧?相似度的意思指的是相似度越大,表示他们俩之间越相似。
对吧值越大越好哈,并且这里面有一个很特殊的情况,就是。第I行第J列如果等于0表示没有相似性,但是我们让第I行第I列的值就是它自己跟自己。负值为0。这是我们强调一点啊,就是WII叫啥强制负为0。
按道理而言,他应该是最大。我跟我是最相似的嘛。但是咱这样的话,咱把这个它强制赋为零有好处,好处就是我可以在DI行上把它加起来的话,就得到了。对这个顶点的这个度矩阵D如果负重最大的话,这个事就没法干了。
对吧。这个D我就可以直接用DI行的所有原素值加起来得到这个D了,对吧?每一行这是一个对角阵哈就得到了。然后呢,这个用大D减去W这个东西叫做未正则化的。普通的拉式矩阵。
另外呢还有所谓的对称拉式矩阵和随机游走拉式矩阵。就是如果说对这么一个拉式矩阵,我两边左边乘一个D的-2分之1次幂,右边乘以D的-2分之1次幂。那这样的话,L在中间嘛,L本身你看是对称阵减对称阵。
然后左边是这个右边是这个它还是对称阵。所以说这种方式算出来的,这是一个对称的拉式矩阵。另外一种就是我如果说左承上递的逆这个东西哈,乘完之后得到这样一个情况。
它就是所谓的随机游走的拉式机random work,所以叫RW哈。简单说一下哈,为什么叫这么一个奇怪的东西哈。咱可以。考察一个事情就是。这个D是什么?D是第I行所有元素的核。
对吧那这个我这个某一个值去除以这个D,这个D不是逆嘛?除以这个D相当于这个做的是什么东西啊,相当于做的就是对这一行,让它的加和为一。对吧所以说随机游走拉式几针的右半部分。
这个D逆乘W本质上其实就是对着一某DI行上那么加号为一DI加一行加号为一,相当于任何一个点给出的不只是相似度,还是指的它的转移概率。对吧转移概率是什么意思?就是我这个点转移到别的点的概率值。
如果这个值大的话,就非常容易转移到别的点上去。如果小的话,不太容易转过去。O我们让给定一个喝醉酒的一个醉汉,让他呢就在这个图上随机的去游走,随机的去去去玩。去去去去去晃。然后呢,他最终走完的那块区域。
我们就认为是它的一个图的范围,这不就随机游走的思路吗?对吧事实上你真的可以做这个工作,就是按照这个点它的转移概率去把它转到别的点上去。然后最终得到了那个图,就是它的聚类的过程,这就是C游走的思路哈。
咱不再详细的去探讨它到底怎么回事儿,但是大家知道就好了,对吧?这就是是九总啊,还记得没错哈,因为有朋友马上谈到了马克练。咱在讲那个线性代数那次复习的时候,咱就是用矩阵的乘法来去解释马尔科夫的问题的对吧?
咱后面也会谈到哈,咱先按着不表了哈。后面呢我们把谱句类的算法的过程跟大家做一个介绍。怎么证明的?然后咱呃给个形式化说法,严格证明PPT已经57页了。但是其实57页之后大家看到了。我把那个内容切出来了哈。
大家自己看就好了哈。比较凌乱比较麻烦哈。我们先简单看看这个过程哈,怎么做这个东西你先搞清楚啊,给定N个点,给定一个促的这个数目K如何做呢?首先算它的相似矩阵,算它的度矩阵会算了吧。D减W得到L简单吧。
这个L我可以求它的前K个特征向量。U1U2到UK能求出来吧。注意。因为这个L这个拉式矩阵它是一个N行N列的N维的。所以这个U一是一个。嗯。N行一列U2是1个N行一列UK是1个N行一列的这些列向量K个。
我让这些列向量抬起来,形成一个矩阵U,你可以吧。那这样的U的话,一共有K列,一共有N行,这就是一个形成N行K列的一个矩阵。然后呢,我转换一下视角,横着来看。相当于我横着看的时候,一共有N个点。
银行嘛对吧?而一个点呢是有K为。是吧所以说这里这个YI的意思,它是1个RK次幂的,它是一个K维的一个航向量。它表示U的DI行的航向量,对不对?现在我们手头上有了什么呢?有了这N个点,它的维度都是K维的。
把这N个点放回到我们的K均值聚类算法里面去,让这N个点做K均值的正常聚类。K值就取这个剧类的数目K。举例完了吧,得到了C1C2到CK嘛,对不对?那C1这个类里边可能有若干号点,C2可能有若干号点。
对不对?每个都都做完了。那么说输出的这个最终的这个醋,A1到AK跟它分别对应。就是如果说比方说这个里边的这个U这个里面,比方说第五行它属于第三个促,那么说原始的第五个点就属于第三个促。
就这么一个简单一个对应哈。这样子就完成了为正则化拉式矩阵的。聚类算法OK有问题吗?呃,好了,我们先来看一下大家的问题哈。首先第一个就是L是去对称的,没错是吧?L是一个对称阵,然后随机过程是吧,随机过程。
然后K是自己选题式的K。呃,正常而言就是你可以给定。如果不想给定,咱等会说他如何去自动化的去给定一个东西哈,呃,自深的给个东西哦,哪千K个就是特征值按照从小到大来排列。
最小的那个到最大的最小的那个可能有若干个特征向量,次大的有一个特征向量,然后又有个特征向量,对吧?前K个特征值就是前K小的特征值所对应的前K个特征向量拿出来就好了。就是那个东西从小到大排哈。😊,我。
没有说错,从小到大排就是拉拉式矩阵。如果你是用拉式矩阵做的哈,有些。这个这个人哈可能会说用W减去D或者是别的东西制作哈,那就是从到大从大到小排了。但是。咱用标准拉式矩阵做的话,就是从小到大盘哈。呃。
特征之秀是有物理意义的,就是这个物理意义是什么呢?OK咱们这做个解释吧。它的物理意义就是降维。你看我们做的是什么工作。做的是求出。拉式矩阵它的前K个特征值所对应的特征向量。
这种做法不就是咱昨天讲的主成分分析里面的做法吗?只不过主成分分析里面是求最大的,因为它是要求这个呃主方向次方向去做,对吧?而这个里面呢,我们想跟他做聚类,对吧?我们就让它先求最小的那个那个值。
然后其次拿到对吧?然后拿到这个几个特征值,然后呢用特征向量给它做聚类。本质都是一样的事情。你可以认为原始没有做之前的那个L就是一个。N乘N的一个原始状态。当我做了特征向量之后,相当于提取了新的特征。
得到了K个特征,更低的把它扔了,不要了,用这些更能够表征它的一些的情况。对吧其实。补具类和主成分分析二者之间。异曲同工。对吧。有很大的相似性。并且它里面的这个如果你要是想解释物理意义的话。
你可以用随机游走来解释。就是刚才我说的那个东西,你随便给个醉汉,让他去在这里面走。因为我是用概率来转移的哟,对不对?用概率转移的嘛,所以说我最后一定会走出一个,就是比方说我就是有K个,我就。
在这个图上撒上K个醉汉,让他们。就就就就就便利是吧?等他迭代完了以后就得到结果了。但事上他不这么干啊,对吧?那就直接求全K恒成值就好了哈,这是魏正则的哈。😊,不是土序流不是通杀一切剧烈方式的。
任何一个剧烈方式都没有通杀的样本。呃,都都不能解决所有问题。呃,搞不定。所以说这里面不管是密度聚类也好,片均制聚类也好,谱聚类也好,还有咱没谈到的各种各样剧类,它都只能适用于某一些样本。难说。
只不过谱聚类可能呃。他可以当做什么呢?它可以当做一个参考。就是如果你做一个聚类比谱剧类好,我们就承认你做的还算不错,还算优,对吧?就跟10年前的神经网络的地位似的哈,任何一个算法都跟神经网络比。
只要比神经网络有,OK我的算法就就算通过就能发论文,对吧?当然现在不是了哈,现在是神经网络是最牛的对吧?嗯,啊,不我刚才说的用随机游走去便利,只是一个说法。
咱就是说你往说大家可能会我看到大家有留言说的做推荐哈,推荐系统里面有一章节会介绍用呃这种方式去做。聚类,因为它也涉及到一个用一个用户聚类嘛,他也会谈到随机游走聚类,就是随便给一些要么给一些值。
然后按照概率值,按照这个D的逆乘以W这条进行随机游走,然后迭代出来。但是呢其实没意义哈,你直接求特征向量更快,对吧?何必嘞那么去迭代一下,对吧?当然你可以任性这么做也无所谓了。那为什么是从小到大呢?
是说这K个可能最不相似不相关吗?哦,我们这么来解释一下哈。如果说。一张图假定说呃这个图里没有哈,就是假定是这张图吧,假定上这张图哈,假定呃哎这张图挺好,就这张图吧,它其实一共有两个特征分量,对不对?呃。
两个连动分量,对不对?既然有两个连通分量的话,那么说对于零这样一个特征值,这是最小的特征值,对不对?它其实就会有两个那个。他的那个。那个那个特征向量零这个特征值对应了两个特征向量,对吧?
我如果就取前两个,因为前两都是零嘛,对不对?U一二对应都是零啊,我就取前两最小的这个去做聚类,你一定会聚类出来一个上面这一坨,这是一类,底下这个是一坨是一类,因为这种状态,它正好分成两嘛,对吧?
这就是按照最小的情况做聚类的情况,当然你可以去选几个,对吧?得到其他的情况一样。对吧咱可以所以说谱句类里面哈,它去实从小到大去去排列我们的特征值和特征向量的哈。大耳朵说增量问题也很有意思。
增量你是指的哪个地方?哦哦哦哦哦哦哦就是那个如果新增加一个点是吧,那就是流失聚类了。就是我现在聚列好了,啪又来了一个一个数据点,我再怎么聚类,我又来了另方怎么聚类。或者说我现在这个没法达到所有样本点。
那是另外一个什码事儿,对吧?你就是你需要考察呃,我在网络流的情况之下呀,或者其他这种没法得到样本的情况下,我如何做在那种情况之下,你就没法正常使用图具类了。因为你的样本N现在没有全给我。
我根本没办法去算。这个拉式矩阵没办法算相似度矩阵,因为N成A的嘛,对吧?所以说你要是这个那种方式的话,只能是相互迭代的方式去做,对吧?我先给这个初步结果,那个点离谁最近,我再去调,我再就不停的去改。
只能增量的去改。如果你再重新算拉式矩阵,那就这个这个就太不合算了哈。对吧就非常不合算了。其实你会发现。呃,尤其是密度聚类哈,咱在讲到那个密度最大值聚类的方式的时候,其实你会发现更多的是考察促中心在哪里。
如果给定了促中心,这事儿就定了。你比方说咱现在如果给定了,我就选择马云作为一个促中心,选择选择万达,作为一个区旅中心,对吧?我就拿着两个,一个是房地产行业,一个是这个互联网行业,对吧?这就是去促中心。
其他的你就不管了,对吧?那更多的是选择这个,而不是把它怎么去去调某一个样本,怎么选择,对不对?我我个人觉得啊。呃,另外我们再多说一句,就是关于这个随机游走拉式矩阵哈。
就是说这里边仅仅是多了一个这个多了个这个的话,其实做法完全一样。就是我如果多了一把拉式矩阵,这个改成它,我其他完全不变,只是把拉式矩阵变一下就好了。其他仍然是做它的这个特征值啊,可能想想去做事情。
另外如果是做对称的拉式矩阵是长这样子的。那么说我在选择这个样本的时候,需要做一个单位化。单位化之后再去做聚类,就这个区别哈。好了,马上有一个问题问,那现在。我如果只讲了第一个,大家不会有问题。
这个问题是,那这仨我选择哪一个呢?对吧这里面大体上有一个结论哈,如果你在实践里面不知道选哪一个的话,你就选随机游走拉式矩阵。首选随机游走拉式矩阵,这是结论哈,咱就不是就是这个结论哈。
然后论文里面告诉你他是怎么回事哈,我我那个论文里明确告诉我是这样子的。然后这是一个实例,这个实例是我直接给它贴出来的,这是那个本身个数据集,然后有4个这个特征值,特征值呢对应的不同的特征向量。
然后呢有不同特征对不同特征向量哈,这是这样做的。另外我再说一下如何自适应的去选择嗯。就是那个K值,对吧?K值是个很很很麻烦的事情啊。对于这个来讲的话。我们看这个图哈,比如这是个全连接的,然后是那个。呃。
魏征的画了一个一个图啊,就就他为例好了哈。这边大家会发现啊,前四个特征值它的变化是这样的。后面变化是这样的。在从4到5的这段的变化是最大的,它的跳跃是最大的。对吧。好,我们就利用这么一个间距。
谁的跳跃值最大,我们就选那个作为我们的这个K值的选取。比方说这样子它跳的最大OK前四个就是一类,我们就用前四个。一般而言还不错哈。如果你没有给定K值的话,K值普聚类可以这么来去选择K哈。这是一个。
做法一个选法哈。另外呢,这是关于它那个普及类的代码哈。呃。呃,这后期跟KK均值距的就很一样了哈,前期只是选那个东西啊,对吧?那它的做法其实很简单哈,你看我给成数据我怎么做啊,先去给数据求拉式矩阵。
这是一坨哈,咱不管了。然后呢,我通过这个拉式矩阵直接去求它的特征这特征向量,根据特征向量对它做排序,然后选择它的特征向量拿出来,我其实只要它的前几个,对吧?比方说前K个okK我就把这前K个值拿出来。
就是哎从都每一个都都做一个值哈,然后这是这是新的这个数据哈,就是特征。向量这种意义下的这个数据哈,我做了M个,然后呢,这M个怎么做呢?就是每一个DI行相当于这个这个东西啊就是咱代码里面那个U。
我就想做这个U哈,怎么做这个U呢?就是第I行做出这个K个来K个是什么?就是这个特征值相应的这个前K个拿出来,每一个都做完,这样不就拿到手了一个M行K列了吗?输出到刚才咱做好的K均值算法里面去。
K均值不是算过了吗?像刚才第一次上来就讲K均值,没白做,对吧?直接把它一聚类okK就结束了。而拉式矩阵做法其实就是咱们刚才很讲的一个做法,就是数据给过来,然后这长度拿到手,先做一个W这个矩阵。然后呢。
这个W矩阵做完之后呢,这个我们做这个最近然后呢把这个近邻把它清掉,然后呢算一下这个DI个和DJ个的它的相似度,把它匹配到WIG里面去。如果WIJ这个东西啊,他。不是我的邻居了,或者说他已经。
不能隶属于前K个了,那就是前某一个,比方说前M个或者前W个前。前N个前前R个吧,对吧?然后呃就我们就把它直接清零,否则这个它是对称的JI就等于IJ对吧?另外呢就是说II强制负为零。
这样子就完成了这个第一个做法。下面呢其实无非就是把这个S这个度求出来,度求完以后,这儿除了S做了什么工工作,我做的就是一个随机游走的拉式矩阵,对吧?只不过在DI行第I列就是主对角线是一,其他的都是零。
就是用零减它嘛,对吧?这是用一减它嘛,所以就这么一个操作啊。所以做完这个W其实返回回去的这个LM拉普拉斯矩阵,就是一个随机游走式拉式矩阵哈。好了,这就是关于谱据类的这个它的代码过程哈。呃。
温家瑞说这块什么哎。f真从I加1。这块是吧。嗯。呃,这不会算重的,因为你看我这个I给定了从0到M减1,G是MI加1到M减1算的这一小段算完以后,我再把这个J和I再。付过来对吧?我算的这一部分都是。
这个J比I要小的部分,顺手我再把对称的部分复制过来,这样我们不还省吗?其实。对吧。啊,是的,就牛宝说了个很有趣的问题,就是机器学习里面的特点就是你前面说了啊天花乱坠,说了好多好的技术。然后最后算的时候。
其实你不就是那些玩意儿吗?你看我哪块省了,对吧?我都根据数据求拉伸矩阵,还数着顺着随机游走的,最后根据特征值把它给求出来,然后做聚类。对吧其实。就是那样一个东西。😊,呃,代码其实啥都不是对吧?
代码其实好简单,所以我我是这样,就是这次我特意把一些代码我实现了一遍,自己实现了一遍。然后呢这个想跟大家说的就是。这个你把理论学会了,代码其实写还是没啥可可可说的,就直接把它写就好了哈哦。
那个象征辅助还是我没踢,就是similar is neighbor这种这种辅助代码,就是你你无非去算一下这个。I和J这两个样本的相似度,根据我们刚才那高斯那个函数嘛,高斯相似度函数。
这个只是看一下这个WIJ是不是比我这个nebor neighborb的最近的那个点还要这个值还要大,对吧?大的话,对不起,你就不行,你就是。如果是比离我最远那个还小,那就那就肯定不是了,就这么简的过程。
对吧。嗯,所以拍始他的做法其实好简单,是吧?嗯,其实其实没啥嘛,对吧?所以所以我有时候可能会把重点放在前边去了啊。呃,大家写完代码就知道好好简单是吧?没没啥东西,你可能你写完之后很快就能搞定了这个。
就是谱剧类的结果。这是我随便生成的,就是我生成的时候我都没写完这个代码了。然后生完之后我运行一遍OK。真的是搞定了,对吧?普剧类是可以搞定这样的结果的这是普剧类已经不在华下,对不对?
这种东西普聚类肯定能搞定,然后普剧的还能搞定这种东西,多个环也能搞定哈,都是可以去做事情的哈。呃呃这这就是呃桂糊涂说的就是这个结论是吧?就是我给了一个样本的这几个样本我都自己试了一遍,把它输出出来的啊。
当然这里面我没有贴怎么样画图,就画图就不用管了,对吧?然后大家python直接走一遍就是了,好简单啊,然后。大家随便自己生成个实力,生成样本去做就好了哈嗯。感觉普及的这样讲,只能知道计算我的天。这样哈。
呃,我把它往后走一下。就是。从这块开始,咱的PPT的第60页是普及的理论推导。后面是讲为什么普剧类这种做法就能够。做出来。我以前咱的那个技学一般都是讲的。然后呢,我讲的最后大家都迷糊了。
就不知道不知怎么回事了。所以这次我就没没讲哈。如果大家觉得这块想听。咱就讲一遍,嗯,这个没问题哈,就是大家看看我咱咱把它这种理论层面把这个能够扩展出来。就是我先把它做的是二分是如何的。
并且用的是最基本的raial cut那种那种方式来去做的哈。于是看的意思指的是什么呢?就是指的我先剪切。我怎么样能够做普及类的方式最好啊?就是我咔来一刀,把A和B剪开,我的代价有多少,让代价最低。
就这个东西,它正好对应着就是这个任何一个值求这个东西哈,其实就这玩意儿哈。没啥,其实。OK看来还真有朋友喜欢听是吧?O ok。这个东西我就怕大家我讲错了理论,大家说咱理论太深行,没没劲,想听实际的哈。
所以我就我我改。我改风格了,其实。OKO ok ok ok没问题,没问题,没问题。等到后面会会会把这个理论层面的事情再给他再给大家来做分享的哈。这个这个既然想听理论,咱就加理论嘛,这个无所谓哈,对吧?
这这这都无所谓哈,反正总之大家知道哈,普及类这么做是没问题的对吧?先搞定实际如何做对吧?这么这么做完哈,另外。😊,我特意做了几种情况,告诉大家,谱剧类不是一定能成功的。这几种情况就是捕聚类失败的情况。
有些时候你看哈,这是看的不错吧。其实大家其实做到最后会发现,其实写代码真的不是难事儿,对吧?其实大家说的这个挺对的。就是呃上传代码,大家如果想要的话,我就上传到群里好了哈,这个问一点都没有。
就是普局类的跟刚才那个呃配金指的在一块嘛,对吧?这个一点题没有啊。呃,这个没事啊,咱我只想说一个事情。这个是调餐调好的。对吧如果参数选的不好,比如说K进0的那个K选的不好。比如说你的那个带宽选的不好。
那么说你可能会得到这样一个结果。你虽然也是想把它分成五类,但是你得到是这样五类,这个和这个在一起中间是一坨,这肯定不好,对吧?这肯定是不对的。你可能调餐调的过分了,对吧?
或者把这个这一块这个红色区哗全部给它蔓延过去了,就会得到这样一种状态。那他其实这个调单就调过分了造成的。对吧得到这样一种情况,因此他其实也是调的不对的情况,甚至这种就是他们之间在一块,其他。其他是别的。
这种情况是什么呢?我的K值选的不好,1234,我就选了4四类,对吧?这个是我的这个带宽和K进0选的不好造成的哈。所以说呃大家我我我大家其实问的是最点上的事情啊,就是说咱把刚才的,因为我也我我我写代码。
写完之后还得调参,肯定的,这必然要发生的对吧?肯定得是你了解了这套算法,它内部是怎么回事儿,对吧?我再去改这个参数,你能够改的更好,能够很快的调出来,对吧?所以这是一个。这是一个有。
很有技巧性的工作是吧?嗯,重点是挑战,重点是挑战。大家知道就好了哈,这是这个后面呢我们稍微花点时间,就是我特意贴出失败的案例来告诉大家哈。呃,这个距离失败是否与分类一样,在低位不好聚。
如果是 kernelnal的函数转到高位就好聚了呢。注意不是的,不是的,就是这三种情况失败,我都是用的那个高斯相似度函数做的。都是高的相似度,但是仍然会失败。因为你的参数给的不合理。嗯。
他跟那个已经是映射到高围上去了,仍然是这样子。已经拍出那个观念了哈嗯是这样,就是这个是带宽给的不对,这个是给的KD0给的,这是给的那个呃KD0给的不对,这个是这个就是K值选举选的不对。
我觉得分四类肯定选不对,对吧?