科学网—[转载]最实用的机器学习算法优缺点分析,没有比这篇说得更好了!

回归树,又名决策树,通过将数据集重复分割成不同的分支来最大化每次分离的信息增益,从而让回归树很自然地学到非线性关系。

集成的方法,如随机森林(RF)或梯度提升树(GBM),则能结合许多独立训练树的预测。我们在这里不会详述其中的机制,但在实践中,随机森林一般都有很出色的表现,梯度提升树则较难调参,但往往能有更高的性能上限。

1.3深度学习

深度学习是指能够学习极端复杂模式的多层神经网络。它们在输入层和输出层之间使用隐藏层来对数据的中间表征建模,这一点是其他算法很难做到的。

深度学习还有几个重要的机制,如卷积、漏失等,这使该算法可以有效学习高维数据。然而,相对于其他算法,深度学习需要更多的数据来进行训练,因为该模型需要估算更大数量级的参数。

1.4荣誉奖:最近邻算法

最近邻算法是“基于实例的”,也就意味着它需要保留每一个训练观察值。最近邻算法通过搜寻最相似的训练样本来预测新样本的观察值。

它是内存密集型算法,处理高维数据时的效果并不理想,同时还需要高效的距离函数来计算相似度。在实践中,使用正则化的回归或树型集成方法通常是更好的选择。

▌2.分类

分类是一种用于分类变量建模及预测的监督学习算法,使用案例包括员工流失、邮件过滤、金融欺诈等的预测。

正如你所见,许多回归算法都有其对应的分类形式,分类算法往往适用于类别(或其可能性)的预测,而非数值。

逻辑回归

2.1(正则化)逻辑回归

逻辑回归是线性回归所对应的分类方法,基本概念由线性回归推导而出。逻辑回归通过逻辑函数将预测映射到0到1的区间,因此预测值可被视为某一类别的概率。

该模型依旧是线性的,只有当数据线性可分时(例如,数据可被某决策平面完全分离),这一算法才会有很好的表现。逻辑回归同样能惩罚模型系数以进行正则化。

2.2分类树(集成方法)

对应于回归树的分类算法是分类树。通常,它们都是指决策树,更为严谨的说法是“分类回归树(CART)”,也就是非常有名的CART算法。

2.3深度学习

深度学习同样很容易适应于分类问题。实际上,深度学习应用地更多的是分类任务,如图像分类等。

2.4支持向量机

支持向量机使用一个名为核函数的技巧,来将非线性问题变换为线性问题,其本质是计算两个观测数据的距离。支持向量机算法所寻找的是能够最大化样本间隔的决策边界,因此又被称为大间距分类器。

举例来说,使用线性核函数的支持向量机类似于逻辑回归,但更具稳健性。因而在实践中,支持向量机最大用处是用非线性核函数来对非线性决策边界进行建模。

2.5朴素贝叶斯

朴素贝叶斯是一种基于条件概率和计数的简单算法,其本质是一个概率表,通过训练数据来更新其中的概率。它预测新观察值的过程,就是根据样本的特征值在概率表中来寻找最为可能的类别。

被称为“朴素”原因,是其核心的特征条件独立性假设(例如,每一项输入特征都相互独立),在现实中几乎是不成立的。

▌3.聚类

聚类是基于数据内部结构来寻找样本自然族群(集群)的无监督学习任务,使用案例包括用户画像、电商物品聚类、社交网络分析等。

由于聚类属于无监督学习,也就不会输出“正确的答案”,评价结果时往往要用到数据可视化。如果你需要“正确的答案”,亦即训练集中存在预标注的集群,那么用分类算法会更加合适。

K均值

3.1K均值

K均值是基于样本点间的几何距离来度量聚类的通用目的算法。由于集群围绕在聚类中心,结果会接近于球状并具有相似的大小。

我们之所以推荐该算法给初学者,是因为它不仅足够简单,而且足够灵活,对于大多数问题都能给出合理的结果。

3.2仿射传播

仿射传播是一种相对较新的聚类算法,它基于两个样本点之间的图形距离来确定集群,其结果倾向于更小且大小不等的集群。

3.3分层/层次

分层聚类,又名层次聚类,其算法基于以下概念来实现:

1)每一个集群都从一个数据点开始;

2)每一个集群都可基于相同的标准进行合并;

3)重复这一过程,直至你仅剩下一个集群,这就获得了集群的层次结构。

3.4DBSCAN

DBSCAN是一种基于密度的聚类算法,它将样本点的密集区域组成集群;其最新进展是HDBSCAN,它允许集群的密度可变。

维度灾难

在机器学习领域,“维度(Dimensionality)”通常指数据集中的特征数量(即输入变量的个数)。

当特征的个数特别大的时候(相对于数据集中观测样本的数量来说),训练出一个有效的模型,对算法要求就会特别高(即,用现有的算法训练出一个有效的模型特别困难)。这就是所谓的“维度灾难(CurseofDimensionality)”,特别是对依赖于距离计算的聚类算法而言。

对于“维度灾难”,有位Quora用户给出了一个非常好的类比:

随着维度的增加,在空间中搜索的难度也会变得愈加困难。

这就需要数据降维的办法:特征选取和特征提取。

▌4.特征选取

需要注意的是,某些监督式机器学习算法已经具备了内在的特征选取机制:比如正则回归与随机森林。通常,我们是建议一开始优先尝试这些算法,如果它们能匹配上你的问题的话。对此我们已经做过介绍。

作为独立的任务,特征选取既可以是非监督式的(如方差阈值),又可以是监督式的(比遗传算法)。有必要的话,你还可以把多种方法以某种合理的方式整合在一起。

4.1方差阈值

方差阈值会摒弃掉观测样本那些观测值改变较小的特征(即,它们的方差小于某个设定的阈值)。这样的特征的价值极小。

举例来说,如果你有一份公共健康数据,其中96%的人都是35岁的男性,那么去掉“年龄”和“性别”的特征也不会损失重要信息。

由于方差阈值依赖于特征值的数量级,你应该对特征值先做归一化处理。

举例来说,如果你有一个房地产数据,其中两个特征分别是“房屋面积(单位:平方英尺)”和“房屋面积(单位:平方米)”,那么,你就可以去掉其中的任何一个(这非常安全,也不会给你的模型带来任何负面影响)。

4.3遗传算法

遗传算法是可用于不同任务的一大类算法的统称。它们受进化生物学与自然选择的启发,结合变异与交叉,在解空间内进行高效的遍历搜索。这里有一篇非常棒的简介:“遗传算法背后的原理引入”。

在机器学习领域,遗传算法主要有两大用处。

其一,用于最优化,比如去找神经网络的最佳权重。

其二,是用于监督式特征提取。这一用例中,“基因”表示单个特征,同时“有机体”表示候选特征集。“种群体”内的每一个有机体都会基于其适应性进行评分,正如在测试数据集上进行模型性能测试。最能适应环境的有机体将会生存下来,并不断繁衍,一直迭代,直至最终收敛于某个最优的解决方案。

4.4荣誉奖:逐步搜索

逐步搜索是一个基于序列式搜索的监督式特征选取算法。它有两种形式:前向搜索和反向搜索。

对于前向逐步搜索,你从没有任何特征开始。接着,从候选特征集中,选择一个特征来训练模型;然后,保存模型性能最好对应的那个特征;再往下,你不断往训练模型的特征集中添加特征,一次添加一个特征,直到你模型的性能不再提升。

反向逐步搜索的过程相同,只不过顺序相反:从把所有的特征都用于训练模型,接着一次性移除一个特征,直到模型的性能骤降。

我们提及这一算法纯粹是源于某些历史原因。尽管很多教科书都把逐步搜索算法作为一个有效的方法,但它所表现出来的性能总是不及其它监督式方法,比如正则化。逐步搜索有很多明显的缺陷,最致命的一点就是它是一个贪心算法,无法面对未来变化的冲击。我们并不推荐这个算法。

▌5.特征提取

特征提取是用来创造一个新的、较小的特征集,但仍能保留绝大部分有用的信息。值得再提的是,特征选取是用来保留原始特征集中的一部分子特征集,而特征提取则是创造全新的特征集。

作为独立的任务,特征提取可以是非监督式的(如主成分分析)或监督式的(如线性判别分析)。

5.1主成分分析

主成分分析是一个非监督式算法,它用来创造原始特征的线性组合。新创造出来的特征他们之间都是正交的,也就是没有关联性。具体来说,这些新特征是按它们本身变化程度的大小来进行排列的。第一个主成分代表了你的数据集中变化最为剧烈的特征,第二个主成分代表了变化程度排在第二位的特征,以此类推。

因此,你可以通过限制使用主成分的个数来达到数据降维的目的。例如,你可以仅采用能使累积可解释方差为90%的主成分数量。

你需要在使用主成分分析之前,对数据进行归一化处理。否则,原始数据中特征值数量级最大的那个特征将会主导你新创造出来的主成分特征。

5.2线性判别分析

线性判别分析不是隐含狄利克雷分布,它同样用来构造原始特征集的线性组合。但与主成分分析不同,线性判别分析不会最大化可解释方差,而是最大化类别间的分离程度。

因此,线性判别分析是一种监督式学习方式,它必须使用有标记的数据集。那么,线性判别分析与主成分分析,到底哪种方法更好呢?这要视具体的情况而定,“没有免费的午餐”原理在这里同样适用。

线性判别分析同样依赖于特征值的数量级,你同样需要先对特征值做归一化处理。

5.3自编码机

自编码机是一种人工神经网络,它是用来重新构建原始输入的。例如,图像自编码机是训练来重新表征原始数据的,而非用以区分图片里面的小猫、小狗。

但这有用吗?这里的关键,是在隐含层搭建比输入层和输出层更少数量的神经元。这样,隐含层就会不断学习如何用更少的特征来表征原始图像。

因为是用输入图像来作为目标输出,自编码机被视为无监督学习。它们可被直接使用(如:图像压缩)或按顺序堆叠使用(如:深度学习)。

THE END
1.24期丨信息学竞赛入门&拓展推荐书单及10大工具网站!建议收藏《信息学奥塞一本通》初赛篇和C++版,这套书比较适合零基础入门使用的,且有专门收录这套书所有习题进行在线评测的一本通题库网站(下文有介绍),初赛篇辅助学员学习信息学竞赛初赛知识。 05 《算法竞赛入门经典(第2版)》 作者:刘汝佳(NOI竞赛https://mp.weixin.qq.com/s?__biz=MzAwNDAzODg3NQ==&mid=2652999200&idx=4&sn=d8d09aa53fc360313c9883df2fe36139&chksm=818b64e26d863d533de572dbe5c816e34a38baa9f219e2a54bf1b1085a1421ab440db82a4f13&scene=27
2.推荐几个算法可视化网站,从此轻松学算法!@程序员大彬: 推荐几个算法可视化网站,从此轻松学算法! 大家好,我是大彬~ 很多初学者在学习数据结构与算法的时候,都会觉得很难,很大一部分是因为数据结构与算法本身比较抽象,不好理解。对于这一点,可以通过一些可视化动画来帮助理解。 下面大彬推荐几个学习数据结构和算法的可视化工具。 Data Structure Vihttps://m.nowcoder.com/feed/main/detail/6ecdab56f00b44bfacf3cb854929059e
3.吴师兄学算法五分钟学算法吴师兄学算法(www.cxyxiaowu.com)提供许多数据结构与算法学习的基础知识, 涵盖 LeetCode 题解、剑指 Offer 题解、数据结构等内容。https://www.cxyxiaowu.com/
4.有哪些高质量的自学网站?网站上还有专业团队为你服务,帮助你接单赚钱。为手中的画作增添变现途径,让我们的爱好,可以更长期地坚持下去。 10、优优课程网(http://uiiiuiii.com/) 学习设计必不可少的网站,设计界的同学都懂。 流传的一句“看行业设计文章到优设,学热门软件教程在优优。”就是最好的证明。 https://www.douban.com/note/767851363/
5.推荐几个正经网站,让你的数据结构和算法学习事半功倍!相信对于大部分程序员来说,数据结构和算法学起来是比较难的,但是它在工作中又是非常的重要,可以说是开发中的一块基石。 所以为了更好的学习和理解数据结构和算法,当时我是趁着双十一搞活动买了几本算法书,打算一鼓作气把它吃透,可想而知有点吃不消。 https://blog.csdn.net/weixin_48655626/article/details/112442781
6.全网最全程序员学习网站汇总,还不赶快收藏摘要:程序员是一个需要不断学习的职业。幸运的是,在这个互联网时代,知识就在那里,等着我们去获取。作为一个“收藏从未中止,学习从未开始”的博主,秉承着好东西不能独享的态度,把收藏的学习网站整理分享出来,希望大家不要学我,肯定要好好学习,天天进步,升职加薪?。好了,下面开始上货,因为博主是个Java程序员, https://www.songma.com/news/txtlist_i66992v.html
7.十大学习网站排名网上学习平台哪个好在线网络学习网站推荐→09 学银在线 0 10 智慧树网 0 学习强国 慕课网 Coursera 可汗学院 我要自学网 国图公开课 终身教育平台 大学资源网 Udacity 十大学习网站榜单中,榜单主要依据AI大数据算法关于学习平台的“用户规模、服务质量、运营状况、用户口碑、知名度与影响力、主题契合程度、网络十大排行情况”等因素综合判断得分系统自动生成https://www.maigoo.com/top/420080.html
8.6个超酷的练习算法,学习编程的网站如果您已经编程了一段时间,想学习一种新的语言,学习一种新的思维方式,那就去运动吧! 总结 在本文中,我分享了6个超酷的网站来练习算法和学习编程! 我个人认为您不需要学习太多,如果想在面试之前进行练习,请访问Skilled / Hackerrank / Leetcode。 或者,如果您需要学习新的语言,请选择运动。https://news.51cto.com/art/202006/618315.htm
9.通常从哪里获取最新的编程技术资讯和教程?Stack Overflow:全球最大的程序员专业问答网站,涵盖编程语言、软件开发工具、算法等多方面的问题和答案,https://www.zhihu.com/question/5392002679/answer/56183345264
10.九章算法九章算法致力于让顶尖的工程师在线传授最优质的计算机课程,帮助更多程序员找到好工作http://jiuzhang.com/
11.Pytorch深度学习实战教程(三):UNet模型训练好了,任务介绍完毕,开始准备训练模型。 三、UNet训练 想要训练一个深度学习模型,可以简单分为三个步骤: 数据加载:数据怎么加载,标签怎么定义,用什么数据增强方法,都是这一步进行。 模型选择:模型我们已经准备好了,就是该系列上篇文章讲到的 UNet 网络。 算法选择:算法选择也就是我们选什么 loss ,用什么优化算法。https://cuijiahua.com/blog/2020/03/dl-16.html
12.有哪些学习算法的网站推荐?推荐的讲解算法的网站、好博客:讲解、代码格式、图表都很规范,覆盖广Matrix67 的一些算法讲解类经典文章,平易近人BYVoid 的博客,计算机科学标签范浩强的博客(曾经)https://www.jianshu.com/p/06ff13b234e3
13.如何选择机器学习算法统计学和机器学习中的线性度表示数据集中的某个变量与常数之间存在线性关系。 例如,线性分类算法假设直线(或其更高维的模拟)可以将类分离。 许多机器学习算法都使用线性。 在 Azure 机器学习设计器中,这些算法包括: 多类逻辑回归 双类逻辑回归 支持向量机 https://docs.microsoft.com/zh-cn/azure/machine-learning/studio/algorithm-choice
14.2020年深度学习算法工程师面经(微软阿里商汤滴滴华为简单分为深度学习、机器学习基础、图像处理基础、数学基础、算法基础、程序设计语言、模型部署、HR面试以及与我本人简历相关的目标检测、属性识别、Kaggle及天池的比赛、创新想法等几个部分介绍。可能开始会有重叠或者分类不恰当,后面会逐渐更新完善。其中第一篇先介绍到HR面试,第二篇介绍个人相关的项目和比赛部分。https://maimai.cn/article/detail?fid=1514590373&efid=Oph3033j5Qs70xHZdz0sGA
15.相由心生?面部算法分析能否窥测你的内心?思想市场澎湃新闻而批评者认为,被建构起来的面部算法分析实际上不过是一种脆弱的、文化构建的假设,这是最令人担忧的。德布林在一封电子邮件中说:“社会心理学也有严肃的问题,它往往受到英语母语使用者、异性恋者、白人意识的主导,这无疑推动了这类研究。我无法想象,如果整个渠道的某些节点(同事、伦理委员会、编辑、评论家等)有更多不https://www.thepaper.cn/newsDetail_forward_1864416
16.人工智能机器学习常用算法总结及各个常用算法精确率对比相关技巧学过概率的同学一定都知道贝叶斯定理,这个在250多年前发明的算法,在信息领域内有着无与伦比的地位。贝叶斯分类是一系列分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。朴素贝叶斯算法(Naive Bayesian) 是其中应用最为广泛的分类算法之一。朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相https://www.jb51.net/article/182909.htm
17.AlphaZero加强版AlphaTensor问世,发现史上最快矩阵乘法算法医学图像的模式可以通过ML技术识别,允许放射科医生根据放射信息做出明智的决定,如基本放射照相术、计算机断层扫描(CT)、MRI、正电子发射断层扫描(PET)图像和放射学报告。例如研究人员提出了一种序列增强学习技术,用于在乳房X光片中使用SVM检测微钙化(MC)簇时提高性能等。ML和模式识别算法对大脑成像有重大影响,从长远来看https://www.medsci.cn/article/show_article.do?id=97c6e419443f
18.英语词汇软件哪个好?英语词汇大全词汇app下载英语词汇大全,集合了扇贝单词、网易有道词典、星火简词汇、乐词、英语四级词汇、海词词典、词管家等众多单词学习软件,拥有海量的词汇书、权威的例句、有趣的智慧词根,提供了多种模式的词汇记忆方法,其中包括情节、游戏、串词、歌曲等方式,智能启发用户记词汇流程,让记词汇不再变得枯燥,还可以定制适合你的学习计划,更好http://www.downcc.com/k/yingyucihui/
19.图分析与学习算法自动驾驶技术……这两位人大学子,获奖她曾获研究生国家奖学金、中国石油奖学金、一等学业奖学金等,入选中国人民大学“拔尖创新人才培育资助计划”。其研究关注大规模图分析与学习算法的可扩展性问题。她在计算机理论研究,特别是图分析和学习算法方向,取得了突破性的成果。其成果有望在搜索等业务领域落地,发挥重大作用。https://t.m.youth.cn/transfer/index/url/tech.youth.cn/wzlb/202201/t20220129_13411740.htm
20.常见用户行为分析模型解析MySecretRainbow预测用户分群——通过机器学习算法预测事件概率 互联网金融产品常常会用到预测用户分群的功能。互联网金融客户按照风险投资偏好这一属性分为保守、稳健和激进,按照投资行为可分为已投资和未投资。 运营人员可以根据这一属性和行为将满足某种条件的用户群体提取出来,譬如激进型但未投资的这群用户,然后分析这一群体的行为特http://www.mysecretrainbow.com/blog/12611.html
21.大数据基础术语精粹来袭由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。http://www.mudan.gov.cn/2c908084831c4eb30183205259ac001f/2c908084831c4eb3018320df837d0020/1669185201282129920.html
22.每日热点1102Nature子刊:深度学习算法可以在显微镜图像中识别出各种细菌 BMJ:人工甜味剂安全性再添新忧!超10万人研究发现,饮食中总甜味剂摄入量高,与心血管疾病和脑血管疾病风险增加9%和18%相关 舆情信息 新冠病毒疫苗接种情况 世卫组织:黎巴嫩霍乱疫情迅速蔓延 “个人碳账户”还应更多些 https://sccdc.cn/Article/View?id=30661
23.和数据滥用说再见,“少样本学习”能否拯救推荐系统?如果用户很懒,或者不愿意让系统知道自己的个人信息,推荐系统还可以使用热度模型,基于统计分析推荐一些大部分人都会感兴趣的热点信息。虽然很容易让平台调性显得有点low,但从概率学角度看,说不定就正好撞到用户心口上了呢。 比如一直强调算法推荐的今日头条,在冷启动状态就采用了这种做法,向新用户推荐的大多是“新娘给https://www.tmtpost.com/3559257.html