收藏 分销(赏)

Python机器学习算法课程课件.pdf

上传人:曲**** 文档编号:10341885 上传时间:2025-05-23 格式:PDF 页数:399 大小:28.16MB
下载 相关 举报
Python机器学习算法课程课件.pdf_第1页
第1页 / 共399页
Python机器学习算法课程课件.pdf_第2页
第2页 / 共399页
点击查看更多>>
资源描述
Al时代s人工智能入学指南0为嘛Python这么火?舲从哪里开始,学什么?有什么用?舲算法该如何学?数学怎么办?胫如何实际动手去做?用什么工具?Al时代S为嘛Python这么火?夕 python舲难度:有任何语言基础学Python你会觉得简单到家了实用性:能用一行代码,何必用十行呢?(我们的定位通常都是工程师,而非科学家,能干活更重要)舲Python工具库:这些简直太多了,基本上你能想到的现在都有了(我们常用的:Numpy,Pandas,Matplotlib,Scikit-Learn,tensorflow)舲大家都在用,各大公司开源工具库都有Python接口,并且都是主流,我们 实际干活很大程度上都是使用这些库帮助我们完成任务Al时代7 Python和这些库怎么配置?夕 python舲常规套路:1.安装2.环境变量3.用什么库去看配置文档自己安(这个是程序员的常规套路了,但是刚转行的同学会弄个大半天)舲大礼包:Oanaconda,傻瓜式安装,解决上述问题(还给我们赠送了notebook写代码环境,库安装工具等)为什么建议使用Notebook?主要原因在于它不光能写代码,还可以做笔记 尤其是代码需要一步步执行的时候,可以得到每一步结果并保留下来,在 可视化展示方面就更方便了!Al时代的如何学Python呢?芦 python舲有其他语言基础:简单过一遍语法,直接上手应该没什么问题 射第一门语言:初级内容便学边写,高级内容暂时不需要(我觉得语言只是一门工具,不需要先都学彻底了才能干活,边做事 边学习应该会更加深理解,忌光看书不练习)0 Python这么多库,这么多函数,我需要都记下来吗?(其实这些依旧是工具,记它干嘛?我觉得重点在于知道每个库能做什么,大概用哪个函数,等实际用的时候还是需要查一查API的,这么多参数 都记下来不太切合实际,动手查的能力也很重要)Al时代夕人工智能我该怎么学呢?舲人工智能是一个很大的圈子,但是基础必然是机器学习射什么是机器学习呢?说白了就是你告诉机器你想做什么?并且给它一堆数据 让它去模仿着做!(比如,咱们上高中,老师会告诉我们一个目标就是考高分,然后给我们一堆 练习册和答案,我们的目的就是让我们做的题的解和答案一致)舲机器学习需要什么?算法,数据,程序,评估,应用S机器学习能做什么?舲机器学习在数据挖掘,图像识别,语音和自然语言处理中有着广泛应用模式识别计算机视觉T数据挖掘3机器学习语音识别统计学习自然语言处理,AGoogle TranslateAl时代机器学习流程?舲一个机器学习的常规套路 年,本育B夕1.数据收集与预处理舲2.特征选择与模型构建 询?本0 3.评估与预测4)预测Al时代s机器学习我该怎么学?舲机器学习本质包含了数学原理推导与实际应用技巧射机器学习中有很多经典算法,既然要学习,那就需要清楚一个算法 是怎么来的(推导)以及该如何应用舲数学重要吗?非常重要的,大学的数学基础即可,如果你都忘了,大致 的印象还是有的吧,我觉得与其从头过一遍数学,不如边学边查,一个 合适的做法就是哪里不会点哪里,我每天也在查很多知识点Al时代s机器学习我该怎么学?胫一定要学数学,学推导吗?我知道会用不就可以了吗?舲有句老话,不光要知其然还要知其所以然,这对我们的应用具有很大的帮助舲在校的同学们:推导肯定是重中之重了,因为对于我们来说学习的目的就是 转换成自身的资本让我们更有竞争力,面试与笔试的时候,这些推导全来了舲程序员兄弟:如果要转行,让你看数学你肯定要疯的,重点应在于如何应用(库的使用,完整项目如何构建,从头到尾的流程)7现在说的很火的深度学习是什么?舲深度学习是机器学习中神经网络算法的延伸,只不过应用的比较广深度学习在计算机视觉和自然语言处理中更厉害一些舲那我学机器学习还是深度学习呀?一切的基础都是机器学习,做任何事情 没有坚实的基础只会越来越迷茫,机器学习觉得值得你从头开始Al时代矽算法推导如何开始?舲找本书?找博客?找视频?都可以的,选择你喜欢的就好!夕如果有一个地方死活看不懂怎么办?很常见的情况,我也经常卡在一个地方 好久,这时候有个圈子来交流当然更好(推荐找几个哥们一起,自己坚持下去 好累),不过我们也可以先继续前进,等回过头来再想想,没准就想通啦!舲习惯很重要,当你看别人的资料觉得掌握的差不多了,其实你明天估计就忘的 也差不多了,自己动手从头开始做笔记(不是照抄人家的,是写自己的)或者 博客都是很好的选择,只要你自己能写出来了才算真正的掌握!Al时代s机器学习怎么动手去做?舲只有实际应用啦,才觉得没白学,那么去哪里找案例呢?最好的资源:Github,kaggle,各大资源分享点舲案例的积累作用很大,其实我们干活是什么样的呢?主要就是在模仿,我们并不是科学家,能做事才能有用的,既然人家是这么做的,并且做 的不错,那我们去模仿做出来的就是我们自己的!舲很少从头开始去写一个项目,通常都是按照之前的某种套路照搬过来,实际上大部分公司都这么做,建议大家先学会模仿,再去创作吧!线性回归7 一个栗子舲数据:工资和年龄(2个特征)舲目标:预测银行会贷款给我多少钱(标签)夕考虑:工资和年龄都会影响最终银行贷款的 结果那么它们各自有多大的影响呢?(参数)工资年龄额度40002520000800030700005000283500075003350000120004085000线性回归7通俗解释夕X1,X2就是我们的两个特征(年龄,工资)Y是银行最终会借给我们多少钱舲找到最合适的一条线(想象一个高维)来 最好的拟合我们的数据点线性回归S数学来了舲假设*是年龄的参数,&是工资的参数舲拟合的平面:/(X)=4+04(,是偏置项)-舲整合:/%()=。田=夕。线性回归S误差舲真实值和预测值之间肯定是要存在差异的(用来表示该误差)舲对于每个样本:y=3Tx(l)+一)线性回归S误差舲误差七是独立并且具有相同的分布,并且服从均值为0方差为02的高斯分布舲独立:张三和李四一起来贷款,他俩没关系舲同分布:他俩都来得是我们假定的这家银行0高斯分布:银行可能会多给,也可能会少给,但是绝大多数情况下 这个浮动不会太大,极小情况下浮动会比较大,符合正常情况线性回归S误差舲预测值与误差:=一)+”)(1)舲由于误差服从高斯分布:水)=忘 exp(-翳)(2)/将(1)式带入(2)式:P忖)例=焉 exp(_(/)线性回归3误差m舲似然函数:L叫=jjp(/I网。)=H,=1 i=l17exp()_ 0Tx(i)y2-解释:什么样的参数跟我们的数据组合后恰好是真实值胫对数似然:log(0)=log exp解释:乘法难解,加法就容易了,对数里面乘法可以转换成加法线性回归3误差m舲展开化简:log exp 1=771 log,-(一尹/产、I 2)1 1 m二.疗(严沙)202 2 乙3),=1舲目标:让似然函数(对数变换后也一样)越大越好mJ阴=;(#)一)2(最小二乘法)N1=1线性回归S误差夕目标函数:小)-),吁二:(xe-j,)T(xe-j,)2 z=i 20 求偏导:W e)=V J1(XTx.g(6 xj l-gg X)厂 的1 丁=一一 Z(乂 0 一 g(e,)一 a 一)g(e,)M tn i=l1 切=一一之(必-8匕加 m:=1im逻辑回归的 Logistic regression1 m舲参数更新:q.:=q.a 7 i=I0多分类的soft max:加(r)P(*=l|c;0)17*p,/)=2|c;0)_ 1p(y=川;0)3 中舲总结:逻辑回归真的真的很好很好用!决策树7树模型舲决策树:从根节点开始一步步走到叶子节点(决策)胫所有的数据最终都会落到叶子节点,既可以做分类也可以做回归决策树W树的组成夕根节点:第一个选择点夕非叶子节点与分支:中间过程舲叶子节点:最终的决策结果WeakStrong决策树S决策树的训练与测试舲训练阶段:从给定的训练集构造出来一棵树(从跟节点开始选择特征,如何进行特征切分)夕测试阶段:根据构造出来的树模型从上到下去走一遍就好了/一旦构造好了决策树,那么分类或者预测任务就很简单了,只需要走一遍 就可以了,那么难点就在于如何构造出来一颗树,这就没那么容易了,需 要考虑的问题还有很多的!决策树_7如何切分特征(选择节点)舲问题:根节点的选择该用哪个特征呢?接下来呢?如何切分呢?舲想象一下:我们的目标应该是根节点就像一个老大似的能更好的切分数据(分类的效果更好),根节点下面的节点自然就是二当家了。0目标:通过一种衡量标准,来计算通过不同特征进行分支选择后的分类 情况,找出来最好的那个当成根节点,以此类推。决策树7衡量标准-燧夕牖:崎是表示随机变量不确定性的度量(解释:说白了就是物体内部的混乱程度,比如杂货市场里面什么都有 那肯定混乱呀,专卖店里面只卖一个牌子的那就稳定多啦)0 公式:H(X)=-pi*logpi,i=1f2f.,n,一个栗子:A集合1,1,1,1,1,1,1,122B 集合1,2,345,6,7,8,9,1显然A集合的精值要低,因为A里面只有两种类别,相对稳定一些 而B中类别太多了,精值就会大很多。(在分类任务中我们希望通过 节点分支后数据类别的精值大还是小呢?)决策树S衡量标准-燧舲牖:不确定性越大,得到的精值也就越大当p=0或p=1时,H(p)=O,随机变量完全没有不确定性 当p=0.5时,H(p)=1,此时随机变量的不确定性最大舲如何决策一个节点的选择呢?夕信息增益:表示特征X使得类Y的不确定性减少的程式(分类后的专一性,希望分类后的结果是同类在一起)决策树S决策树构造实例outlooksunnyhotsunnyhot夕数据:14天打球情况overcasthotrainymildrainycool舲特征:4种环境变化rainyovercastcoolcoolsunnymildsunnycool目标:构造决策树rainymildsunnymildovercastmildovercasthotrainymildwindyhumidityhighFALSEnohighTRUEnohighFALSEyeshighFALSEyesnormalFALSEyesnormalTRUEnonormalTRUEyeshighFALSEnonormalFALSEyesnormalFALSEyesnormalTRUEyeshighTRUEyesnormalFALSEyeshighTRUEnoplay决策树S决策树构造实例舲划分方式:4种舲问题:谁当根节点呢?依据:信息增益1.基于天气的划分3,基于湿度的划分s s s s s S c c c c u C y y y y y y2.基于温度的划分4.基于有风的划分决策树7决策树构造实例0在历史数据中(14天)有9天打球,5天不打球,所以此时的精应为:9 9 5 5-log7-logo 14 14 14 14舲4个特征逐一分析,先从。utlook特征开始:Outlook=sunny时,燧值为0.971Outlook=overcast时,精值为0Outlook=rainy时,感直为0.971=0.9401.基于天气的划分决策树S决策树构造实例舲根据数据统计,outlook取值分别为sunny,overcast,rainy的概率分别为:5/14,4/14,5/14舲牖值计算:5/14*0.971+4/14*0+5/14*0.971=0.693(gain(temperature)=0.029 gain(humidity)=0.152 gain(windy)=0.048)夕信息增益:系统的精值从原始的0.940下降到了0.693,增益为0.247舲同样的方式可以计算出其他特征的信息增益,那么我们选择最大的那个 就可以啦,相当于是遍历了一遍特征,找出来了大当家,然后再其余的 中继续通过信息增益找二当家!决策树S决策树算法舲ID3:信息增益(有什么问题呢?)舲C4.5:信息增益率(解决ID3问题,考虑自身精)舲CART:使用GIN I系数来当做衡量标准舲 GINI系数:Gini3=EpkQ-pD=l-k=l k=l(和嫡的衡量标准类似,计算方式不相同)决策树S连续值怎么办?选取(连续值的)哪个分界点?贪婪算法!I.排序60 70 75 85 90 95 100 120 125 220若进行“二分”,则可能有9个分界点。例子:60 70 75 85 90 95 100 120 125 220|分割成TaxIn8060 70 75 85 90 95.100 120 125 220TidRefundMarital StatusTaxable IncomeCheat1YesSingle125KNo2NoMarried100KNo3NoSingle70KNo4YesMarried120KNo5NoDivorced95KYes6NoMarried60KNo7YesDivorced220KNo8NoSingle85KYes9NoMarried75KNo10NoSingleSOKYes分割成Taxln97.5当实际上,这就是“离散化”过程决策树7决策树剪枝策略舲为什么要剪枝:决策树过拟合风险很大,理论上可以完全分得开数据(想象一下,如果树足够庞大,每个叶子节点不就一个数据了嘛)舲剪枝策略:预剪枝,后剪枝射预剪枝:边建立决策树边进行剪枝的操作(更实用)舲后剪枝:当建立完决策树后来进行剪枝操作决策树S决策树剪枝策略舲预剪枝:限制深度,叶子节点个数 叶子节点样本数,信息增益量等舲后剪枝:通过一定的衡量标准Ca(T)=C(T)+a.|%(叶子节点越多,损失越大)集成算法的 Ensemble learning舲目的:让机器学习效果更好,单个不行,群殴走起M夕Bagging:训练多个分类器取平均/W=M S fmM舲Boosting:从弱学习器开始加强,通过加权来进行训练F=Fr(x)+argminh 尸“七)+人(七)(加入一棵树,要比原来强)i=l舲Stacking:聚合多个分类或回归模型(可以分阶段来做)集成算法矽Bagging模型舲全称:bootstrap aggregation(说白了就是并行训练一堆分类器)Random Forest Simplified胫最典型的代表就是随机森林啦InstanceRandom ForestTree-nTree-1Class-BClass-BClass-A舲随机:数据采样随机,特征选择随机舲森林:很多个决策树并行放在一起J M ority-Voting 卜Final-Class集成算法7随机森林夕构造树模型:舲由于二重随机性,使得每个树基本上都不会一样,最终的结果也会不一样集成算法矽Bagging模型舲树模型:5.0454.0151025201.51.0Decision TreeBagging Tree 45 40 j 3.5!ao 9 25 I 20|1.5 I IQ 4 5 6 7 8舲之所以要进行随机,是要保证泛化能力,如果树都一样,那就没意义了!集成算法7随机森林优势0它能够处理很高维度(feature很多)的数据,并且不用做特征选择胫在训练完后,它能够给出哪些feature比较重要舲容易做成并行化方法,速度比较快舲可以进行可视化展示,便于分析集成算法矽Bagging模型0 KNN模型:K-NN1045405 6 8舲KNN就不太适合,因为很难去随机让泛化能力变强!集成算法S Bagging模型夕树模型:夕理论上越多的树效果会越好,但实际上基本超过一定数量就差不多上下浮动了集成算法S Boosting模型舲典型代表:Ada Boost,Xg boost胫Adaboost会根据前一次的分类效果调整数据权重舲解释:如果某一个数据在这次分错了,那么在下一次我就会给它更大的权重舲最终的结果:每个分类器根据自身的准确性来确定各自的权重,再合体集成算法S Ada boost工作流程舲每一次切一刀!舲最终合在一起舲弱分类器这就升级了!AdaBoost(n_est=l)AdaBoost(n_est=2)集成算法S Stacking模型舲堆叠:很暴力,拿来一堆直接上(各种分类器都来了)C可以堆叠各种各样的分类器(KNN,SVM,RF等等)舲分阶段:第一阶段得出各自结果,第二阶段再用前一阶段结果训练夕为了刷结果,不择手段!集成算法V Stacking模型6543210Random Forest1 2 3 4 576543210Stacking Classifier舲堆叠在一起确实能使得准确率提升,但是速度是个问题集成算法是竞赛与论文神器,当我们更关注于结果时不妨来试试!K-MEANS 算法s聚类概念:舲无监督问题:我们手里没有标签了舲聚类:相似的东西分到一组舲难点:如何评估,如何调参MEANS算法7基本概念:C要得到簇的个数,需要指定K值舲质心:均值,即向量各维取平均即可舲距离的度量:常用欧几里得距离和余弦相似度(先标准化)舲优化目标:min cs/化,工)-KMEANS算法(d)MEANS算法夕优势:胫简单,快速,适合常规数据集力劣势:舲K值难确定0复杂度与样本呈线性关系604很难发现任意形状的簇DBSCAN算法S 基本概念:(Density-Based Spatial Clustering of Applications with Noise)舲核心对象:若某个点的密度达到算法设定的阈值则其为核心点。(即r邻域内点的数量不小于minPts)舲J邻域的距离阈值:设定的半径r舲直接密度可达:若某点p在点q的r邻域内,且q是核心点则p-q直接密度可达。夕密度可达:若有一个点的序列qO、q1、.qk,对任意qi-qi-1是直接密度可达的,则称从qO到qk密度可达,这实际上是直接密度可达的传播。DBSCAN算法s基本概念:舲密度相连:若从某核心点p出发,点q和点k都是密度可达的,则称点q和点k是密度相连的。舲边界点:属于某一个类的非核心点,不能发展下线了0直接密度可达:若某点p在点q的r邻域内,且q是核心点则p-q直接密度可达。舲噪声点:不属于任何一个类簇的点,从任何一个核心点出发都是密度不可达的DBSCAN算法S基本概念:舲A:核心对象舲B,C:边界点夕N:离群点DBSCAN算法s工作流程:舲参数D:输入数据集舲参数:指定半径舲MinPts:密度阈值1.标记所有对象为unvisiied;2.Do3,随机选择一个unvisited对象p:4.标记p为visited:5.I fp的-领域至少有MinPts个对象6.创建一个新簇C,并把p添加到C;7.令N为p的-领域中的对象集合8.For N中每个点p9.If a是 unvisited;10.标记 p 为 visited;11.If0的-领域至少有MinPts个对象,把这些对象添加到N;12.如果p还不是任何簇的成员,把p添加到C:13.End for;14.输出C;15.Else标记p为噪声;16.Until没有标记为unvisited的对象:DBSCAN算法S参数选择:夕半径w,可以根据K距离来设定:找突变点K距离:给定数据集P=p(i);i=0,1,n,计算点P(i)到集合D的子集S中所有点 之间的距离,距离按照从小到大的顺序排序,d(k)就被称为k-距离。舲MinPts:匕距离中k的值,一般取的小一些,多次尝试可视化:DBSCAN算法舲不需要指定簇个数 舲可以发现任意形状的簇舲擅长找到离群点(检测任务)舲两个参数就够了S劣势:,clustering/夕高维数据有些困难(可以做降维)舲参数难以选择(参数对结果的影响非常大)夕Sklearn中效率很慢(数据削减策略)贝叶斯S贝叶斯简介:舲贝叶斯(约1701-1761)Thomas Bayes,英国数学家舲贝叶斯方法源于他生前为解决一个逆概问题写的舲生不逢时,死后它的作品才被世人认可贝叶斯S贝叶斯要解决的问题:舲正向概率:假设袋子里面有N个白球,M个黑球,你伸手进去摸一把,摸出黑球的概率是多大舲逆向概率:如果我们事先并不知道袋子里面黑白球的比例,而是闭着眼睛 摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可 以就此对袋子里面的黑白球的比例作出什么样的推测贝叶斯S Why贝叶斯?舲现实世界本身就是不确定的,人类的观察能力是有局限性的舲我们日常所观察到的只是事物表面上的结果,因此我们需要 提供一个猜测贝叶斯男生:60%女生:40%舲男生总是穿长裤,女生则一半穿长裤一半穿裙子/正向概率:随机选取一个学生,他(她)穿长裤的概率和穿裙子的概率是多大舲逆向概率:迎面走来一个穿长裤的学生,你只看得见他(她)穿的是否长裤,而无法确定他(她)的性别,你能够推断出他(她)是女生的概率是多大吗?贝叶斯S假设学校里面人的总数是U个S 穿长裤的(男生):U*P(Boy)*P(Pants|Boy)夕P(Boy)是男生的概率=60%0 P(Pants|Boy)是条件概率,即在Boy这个条件下穿长裤的 概率是多大,这里是100%,因为所有男生都穿长裤7 穿长裤的(女生):U*P(Girl)*P(Pants|Girl)贝叶斯7求解:穿长裤的人里面有多少女生舲穿长裤总数:u*P(Boy)*P(Pants|Boy)+U*P(Girl)*P(Pants|Girl)0 P(Girl|Pants)=U*P(Girl)*P(Pants|Girl)/穿长裤总数U*P(Girl)*P(Pants|Girl)/U*P(Boy)*P(Pants|Boy)+U*P(Girl)*P(Pants|Girl)贝叶斯S与总人数有关吗?舲 U*P(Girl)*P(Pants|Girl)/U*P(Boy)*P(Pants|Boy)+U*P(Girl)*P(Pants|Girl)舲容易发现这里校园内人的总数是无关的,可以消去0 P(Girl|Pants)=P(Girl)*P(Pants|Girl)/P(Boy)*P(Pants|Boy)+P(Girl)*P(Pants|Girl)贝叶斯S化简:0 P(Girl|Pants)=P(Girl)*P(Pants|Girl)/P(Boy)*P(Pants|Boy)+P(Girl)*P(Pants|Girl)胫分母其实就是P(Pants)0分子其实就是P(Pantsf Girl)贝叶斯S贝叶斯公式夕 P(A|B)P(B|A)F(A)贝叶斯S拼写纠正实例:舲问题是我们看到用户输入了一个不在字典中的单词,我们需要去猜 测:这个家伙到底真正想输入的单词是什么呢?舲P(我们猜测他想输入的单词I他实际输入的单词)贝叶斯7用户实际输入的单词记为D(D代表Data,即观测数据)0 猜测 1:P(h1|D),猜测2:P(h2|D),猜测3:P(h1|D)。一 统一为:P(h|D)0 P(h|D)=P(h)*P(D|h)/P(D)贝叶斯S用户实际输入的单词记为D(D代表Data,即观测数据)舲对于不同的具体猜测hi h2 h3,P(D)都是一样的,所以在比较 P(h1|D)和P(h2|D)的时候我们可以忽略这个常数0 P(h|D)oc P(h)*P(D|h)对于给定观测数据,一个猜测是好是坏,取决于这个猜测本身独 立的可能性大小(先验概率,Prior)和这个猜测生成我们观测 到的数据的可能性大小。贝叶斯S用户实际输入的单词记为D(D代表Data,即观测数据)舲对于不同的具体猜测hi h2 h3,P(D)都是一样的,所以在比较 P(h1|D)和P(h2|D)的时候我们可以忽略这个常数0 P(h|D)oc P(h)*P(D|h)对于给定观测数据,一个猜测是好是坏,取决于这个猜测本身独 立的可能性大小(先验概率,Prior)和这个猜测生成我们观测 到的数据的可能性大小。贝叶斯S拼写纠正实例:舲贝叶斯方法计算:P(h)*P(D|h),P(h)是特定猜测的先验概率舲比如用户输入tip,那到底是top还是tip?这个时候,当最大似然 不能作出决定性的判断时,先验概率就可以插手进来给出指示既然你无法决定,那么我告诉你,一般来说top出现的程度要高 许多,所以更可能他想打的是top 贝叶斯7模型比较理论胫最大似然:最符合观测数据的(即P(D|h)最大的)最有优势舲奥卡姆剃刀:P(h)较大的模型有较大的优势舲掷一个硬币,观察到的是正,根据最大似然估计的精神,我们应该 猜测这枚硬币掷出正的概率是1,因为这个才是能最大化P(D|h)的那个猜测贝叶斯S模型比较理论舲如果平面上有N个点,近似构成一条直线,但绝不精确地位于一条直线 上。这时我们既可以用直线来拟合(模型1),也可以用二阶多项式(模 型2)拟合,也可以用三阶多项式(模型3),特别地,用N-1阶多项式 便能够保证肯定能完美通过N个数据点。那么,这些可能的模型之中到 底哪个是最靠谱的呢?舲奥卡姆剃刀:越是高阶的多项式越是不常见贝叶斯S垃圾邮件过滤实例:舲问题:给定一封邮件,判定它是否属于垃圾邮件D来表示这封邮件,注意D由N个单词组成。我们用h+来表示 垃圾邮件,h-表示正常邮件0 P(h+D)=P(h+)*P(D h+)/P(D)P(h-D)=P(h-)*P(Dh-)/P(D)贝叶斯S垃圾邮件过滤实例:舲先验概率:P(h+)和P(h-)这两个先验概率都是很容易求出来的,只 需要计算一个邮件库里面垃圾邮件和正常邮件的比例就行了。0 D 里面含有 N 个单词 d1f d2,d3,P(D h+)=P(d1/d2/./dn|h+)P(d1,d2,.,dn|h+)就是说在垃圾邮件当中出现跟我们目前这封邮件一 模一样的一封邮件的概率是多大!P(d1,d2,.,dn|h+)扩展为:P(d1|h+)*P(d2|d1/h+)*P(d31d2,d1,h+)*.贝叶斯S垃圾邮件过滤实例:0 P(d1|h+)*P(d2|d1z h+)*P(d31d2,d1,h+)*.假设di与di-1是完全条件无关的(朴素贝叶斯假设特征之间是独 立,互不影响)简化为 P(d1|h+)*P(d2|h+)*P(d3|h+)*.0对于P(d1|h+)*P(d2|h+)*P(d3|h+)*.只要统计di这个单词在垃 圾邮件中出现的频率即可支持向量机力 Support Vector Machine舲要解决的问题:什么样的决策边界才是最好的呢?胫特征数据本身如果就很难分,怎么办呢?计算复杂度怎么样?能实际应用吗?目标:基于上述问题对SVM进行推导支持向量机的 Support Vector Machine舲决策边界:选出来离雷区最远的(雷区就是边界上的点,要Large Margin)Support Vectors支持向量机3距离的计算consider x,x on hyperplane wxz=b.w7x”=b w,hyperplane:/wr(x-x)=01 1 v.Z vector on hyperplane/distance=project(x-x)to hyperplanedistance(x.b w)=二(x 一 x)7r1T|wx+b iiwir i iiw支持向量机S数据标签定义舲数据集:(X1,Y1)(X2,Y2Z.(Xn,Yn)舲Y为样本的类别:当X为正例时候Y=+1当X为负例时候Y=-1夕决策方程:y(x)=wrcl)(x)+b(其中是对数据做了变换,后面继续说)杰7)。0,=+1/、八=心,)。,=7支持向量机S优化的目标舲通俗解释:找到一个条线(W和b),使得离该线最近的点(雷区)能够最远舲将点到直线的距离化简得:.,(胡&)+)Ml(由于y(xj 0所以将绝对值展开原始依旧成立)支持向量机S目标函数舲放缩变换:对于决策方程(W,b)可以通过放缩使得其结果值|Y|=1=乂(卬,&)+831(之前我们认为恒大于0,现在严格了些)舲优化目标:ar s max mill v7 (u,r)+/?)由于州(丁曰)+6)31,只需要考虑 ai*g max(目标函数搞定!)”2 W支持向量机的目标函数舲当前目标:maxwb岛y,约束条件:乂(储(茗)+。)2 1舲常规套路:将求解极大值问题转换成极小值问题=皿讥卬力2 舲如何求解:应用拉格朗日乘子法求解支持向量机S拉格朗日乘子法舲带约束的优化问题:min人(x)subject to/(x)maxmin(w4e)w 力 a a w.b夕对w求偏导:=()=M,二Z%K(X)Sw 7=1力 力对b求偏导:丁=0 n 0=ay.ob v-i支持向量机S SVM求解1”夕带入原始:/0,。)=7恻-工(乂(”(工)+6)-1)2/=|其中 M,=Z 4(X”)0=Z 3/=1 1=1=-w-w,z 4M 中(巧)-9 区乂+E%2 i=i/si i=ii.,屋二Z -彳(Z aJ仲(X)/Z】仲()T 完成了第一步求解 叫1(叱4 a)/=1 2/=1/=1二2区一彳Z/匕匕(七阳与)/=i 2 j=i支持向量机s SVM求解舲继续对a求极大值:max 4-%上”(七)七)a z=l 2j=i条件:Z%】*0 7=1 at 0舲极大值转换成求极小值:min 匕(&)0支持向量机的SVM求解实例0数据:3个点,其中正例X1(3,3),X2(4,据,负例X3(1,1)1 n n舲求解:2 i=l J=1一 一 十4 一 4二 0约束条件:0:z=1,2,3苦.x支持向量机7 SVM求解实例j n n舲原式:-tz2 i=l J=1为/)-%,将数据代入a-1=1工(18a;+25a;+21;+424%-12%-%-巴、13、由于:%+a2=卜3 化简可得:4a;+a;+104%2%2%支持向量机7 SVM求解实例舲分别对cd和a2求偏导,偏导等于0可得:6二L5 a?=-i(并不满足约束条件%o,i=1,2,3,所以解应在边界上),T 带入原式=-0.153(不满足约束)u2=-2/13囚=0.25&T带入原式=-0.25(满足啦!)“2=(J最小值在(0.25,0,0.25)处取得支持向量机s SVM求解实例夕将a结果带入求解2=4(入1)/=11 w=*41 1*(33)+-*4(-1)*(1,1)=b=%E忆 1%(/Xj)=1-*18+*(1)*6)=-20 平面方程为:0.5%i+0.5%2-2=0支持向量机7 SVM求解实例舲支持向量:真正发挥作用的数据点,a值不为。的点01230344支持向量机/soft-marg in舲软间隔:有时候数据中有一些噪音点,如果考虑它们咱们的线就不太好了舲之前的方法要求要把两类点完全分得开,这个 要求有点过于严格了,我们来放松一点!舲为了解决该问题,引入松弛因子乂(坟,西+6)之1一$支持向量机/soft-marg in1 n舲新的目标函数:min 5|利2+Z i=l舲当C趋近于很大时:意味着分类严格不能有错误当C趋近于很小时:意味着可以有更大的错误容忍XXX XX舲C是我们需要指定的一个参数!支持向量机/soft-marg in舲拉格朗日乘子法:(1亿仇三系卜1+。工。一Z田(凡(廿/+6)-1+。)一工,。2 z=l Z=1 z=l卬=z%乂。(匕)Z=1M约束:。=4KZ=1mh1不Z Z 4%匕&)一 Z 4 a 2 z=l j=l i=l同样的解法:Y匕=oI IC 一(Xj 4=006Zz 0 出 0支持向量机S低维不可分问题舲核变换:既然低维的时候不可分,那我给它映射到高维呢?A hyperplane in R2 is a lineA hyperplane in R3 is a plane支持向量机S低维不可分问题舲目标:找到一种变换的方法,也就是0(X)Input SpaceFeature Space支持向量机还是先从一个小例子来阐述问题。假设我们有俩个数据,x=(xi,x2,X3);y=(yi,y2,y3),曲时在3D空间已经不能,对其经行线性划分了,那么我们通过一个函数将数据映射 到更高维的空间,比如9维的话,那么 f(x)=(X1X1,X1X2,X1X3,X2X1,X2X2,X2X3,X3X1,X3X2,X3X3),由于需要计算内积,所以在新的数据在9维空间,需要计算的 内积,需要花费O(nA2)o在具体点,令X=(1,2,3);y=(4,5,6),那么f(x)=(1,2,3,2,4,6,3,6,9),f(y)=(16,20,24,20,25,36,24,35 36),此时 =16+40+72+40+100+180+72+180+324=1024似乎还能计算,但是如果将维数扩大到一个非常大数时候,计算起来可就不是一丁点问 题了。但是发现,K(x,y)=()A2K(x,y)=(4+10+18)A2=32人2=1024俩者相等,K(x,y)=()-2=,但是 K(x,y)计算起来却比f(x),f(y)简单的多,也就是说只要用K(x,y)来计算,效果和是一样的,但是计算效 率却大幅度提高了,如:率%丫)是0(n),而是0(n人2).所以使用核函数 的好处就是,可以在一个低维空间去完成高维度(或者无限维度)样本内积的计算,比 如K(x,y)=(4+10+18)a2 的3D空间对比(f(x),f(y)=16+4。+72+40+100+180+72+180+324 的9D空间。支持向量机的 Support Vector Machine舲高斯核函数:K(X,Y)=exp1.51.00.50.0-0.5-1.0-1.5-1.5-1.0-4).5 0.0 0.51.0 1.51.5线性核函数高斯和函数推荐系统今日头条推荐热点 腼 图片 段子 社会 娱乐 科技 体育大驱来啦!我国新型万吨级驱逐舰首舰刚刚下水IW X海外网 660评论刚刚推荐系统舲19444人在进行视频或语音聊天舲62.5万部优酷土豆视频被观看0 Facebook共产生701,389账号登陆舲App Store上已有51,000个叩p被下载舲。PINTEREST用户PINVINE 用户 分享 8,333M胡:;aYOITLBK 用户上传70小时 IL时kEMAIL JQ用户发送204.000.000 收到超过封电子邮件4,0009000YELP ISK1PK 用户连接23.300 e 12,460,000条内容WIL*用户外的海atTINDEF 用户带动接力FACEBOOF用户分9TWITTER USERS、发送推文APPLE用户F毂中1新品48.000 PANDORAV 用户收听6IJ4I 小时时长 j 音乐416,667INSTAGRAM 977 00(1AMAZON 川户 Z/.UUU 余发送新图 条/次$83川0 216,000 豪推荐系统豆瓣电影 电影、影人、影院、电视剧影讯&购票选电影电视剧排行榜分类影评 2016年度榜单 2016观影报告排行榜专属你的购物指南G啤酒 手机通讯 书包 双肩包 炒锅你可能喜欢的电影电影主页影评问答在看想看看过豆列豆瓣主页看过,(993部)【京东超市】雪花 啤酒(Snowbee【京东超市】醺装(Kirin)一番榨【京东超市】德国 原装进口啤酒奥丁【京东超市】青岛 啤酒(Tsingta【京东超市】德国 进口(Eichbau【京东超市】朝日 啤酒(清爽生)50推荐系统推荐之王系统 35%的销售额订单贡献率10%基于数据挖掘的推荐 引擎产品 5.5亿装机 月活1.3亿日活6000万,每日使用时长76分钟亚马逊nazon?乐东JD头条推荐系统。/八:恢0型:/F:图:.二二:二,A:体更:.)、:aNs*芋的1:茶子。:,.:p&T毯子MTKJW 1*.0 J j1嬴飞中:基本愿性行为特征购买能力在期e季 ,csrmsjr:是若有隼:用户的大祟网:.-.二二二 3 二二:*MW5SP星尻:皿.你窣 j社交网络心协同过滤舲如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?如何确定一个用户是不是和你有相似的品位?如何将邻居们的喜好组织成一个排序的目录?协同过滤班 要实现协同过滤,需要的步骤?夕1.收集用户偏好舲2.找到相似的用户或物品舲3.计算推荐协同过滤用户行 为类 型特征评分显式整数量化的偏好,可能的取值是n一般取 值为5或者是10投票显式布尔量化的偏好,取值是。或工转发显式布尔量化的偏好,取值是。或工保存书 签显
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服