导航:首页 > 源码编译 > 如何了解最新机器学习算法

如何了解最新机器学习算法

发布时间:2022-12-12 00:52:25

❶ 机器学习算法和深度学习的区别

一、指代不同

1、机器学习算法:是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。

2、深度学习:是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标人工智能。

二、学习过程不同

1、机器学习算法:学习系统的基本结构。环境向系统的学习部分提供某些信息,学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。

2、深度学习:通过设计建立适量的神经元计算节点和多层运算层次结构,选择合适的输人层和输出层,通过网络的学习和调优,建立起从输入到输出的函数关系,虽然不能100%找到输入与输出的函数关系,但是可以尽可能的逼近现实的关联关系。

三、应用不同

1、机器学习算法::数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、DNA序列测序、语音和手写识别、战略游戏和机器人运用。

2、深度学习:计算机视觉、语音识别、自然语言处理等其他领域。

❷ 目前最流行的机器学习算法是什么

毫无疑问,机器学习在过去几年越来越受欢迎。由于大数据是目前技术行业最热门的趋势,机器学习是非常强大的,可以根据大量数据进行预测或计算推理。
如果你想学习机器算法,要从何下手呢?
监督学习
1. 决策树:决策树是一种决策支持工具,使用的决策及其可能产生的后果,包括随机事件的结果,资源消耗和效用的树状图或模型。
从业务决策的角度来看,决策树是人们必须要选择是/否的问题,以评估大多数时候作出正确决策的概率。它允许您以结构化和系统的方式来解决问题,以得出逻辑结论。
2.朴素贝叶斯分类:朴素贝叶斯分类器是一种简单的概率分类器,基于贝叶斯定理,其特征之间具有强大(朴素)的独立性假设。
特征图像是方程 - P(A | B)是后验概率,P(B | A)是似然度,P(A)是类先验概率,P(B)是预测先验概率。
一些现实世界的例子是:
判断邮件是否为垃圾邮件
分类技术,将新闻文章氛围政治或体育类
检查一段表达积极情绪或消极情绪的文字
用于面部识别软件
3.普通最小二乘回归:如果你了解统计学,你可能已经听说过线性回归。最小二乘法是一种执行线性回归的方法。
您可以将线性回归视为拟合直线穿过点状分布的任务。有多种可能的策略可以做到这一点,“普通最小二乘法”策略就像这样 -你可以画一条线,然后把每个数据点,测量点和线之间的垂直距离,添加上去;拟合线将是距离总和的尽可能小的线。
线性是指您正在使用的模型来迎合数据,而最小二乘可以最小化线性模型误差。
4.逻辑回归: Logistic回归是一个强大的统计学方法,用一个或多个解释变量建模二项式结果。它通过使用逻辑函数估计概率,来衡量分类因变量与一个或多个独立变量之间的关系,后者是累积逻辑分布。
逻辑回归用于生活中:
信用评级
衡量营销活动的成功率
预测某一产品的收入
某一天会有地震吗
5.支持向量机: SVM是二元分类算法。给定N维空间中两种种类型的点,SVM生成(N-1)维的超平面将这些点分成2组。
假设你有一些可以线性分离的纸张中的两种类型的点。SVM将找到一条直线,将这些点分成两种类型,并尽可能远离所有这些点。
在规模上,使用SVM解决的一些特大的问题(包括适当修改的实现)是:广告、人类基因剪接位点识别、基于图像的性别检测,大规模图像分类...
6.集成方法:集成方法是构建一组分类器的学习算法,然后通过对其预测进行加权投票来对新的数据点进行分类。原始的集成方法是贝叶斯平均法,但更新的算法包括纠错输出编码、bagging和boosting。
那么集成方法如何工作,为什么它们优于单个模型?
均衡偏差:如果你均衡了大量的倾向民主党的投票和大量倾向共和党的投票,你总会得到一个不那么偏颇的结果。
降低方差:集合大量模型的参考结果,噪音会小于单个模型的单个结果。在金融领域,这被称为投资分散原则(diversification)——一个混搭很多种股票的投资组合,比单独的股票更少变故。
不太可能过度拟合:如果您有单个模型不完全拟合,您以简单的方式(平均,加权平均,逻辑回归)结合每个模型建模,那么一般不会发生过拟合。
无监督学习
7. 聚类算法:聚类是对一组对象进行分组的任务,使得同一组(集群)中的对象彼此之间比其他组中的对象更相似。
每个聚类算法是不同的,比如:
基于Centroid的算法
基于连接的算法
基于密度的算法
概率
降维
神经网络/深度学习
8. 主成分分析: PCA是使用正交变换将可能相关变量的观察值转换为主成分的线性不相关变量值的一组统计过程。
PCA的一些应用包括压缩、简化数据、便于学习、可视化。请注意,领域知识在选择是否继续使用PCA时非常重要。数据嘈杂的情况(PCA的所有组件都有很大差异)的情况不适用。
9.奇异值分解:在线性代数中,SVD是真正复杂矩阵的因式分解。对于给定的m * n矩阵M,存在分解,使得M =UΣV,其中U和V是酉矩阵,Σ是对角矩阵。
PCA实际上是SVD的简单应用。在计算机视觉技术中,第一个人脸识别算法使用PCA和SVD,以将面部表示为“特征脸”的线性组合,进行降维,然后通过简单的方法将面部匹配到身份;虽然这种方法更复杂,但仍然依赖于类似的技术。
10.独立成分分析: ICA是一种统计技术,用于揭示随机变量、测量或信号集合的隐藏因素。ICA定义了观察到的多变量数据的生成模型,通常将其作为大型样本数据库。
在模型中,假设数据变量是一些未知潜在变量的线性混合,混合系统也是未知的。潜变量被假定为非高斯和相互独立的,它们被称为观测数据的独立成分。
ICA与PCA相关,但它是一种更强大的技术,能够在这些经典方法完全失败时找到潜在的源因素。其应用包括数字图像、文档数据库、经济指标和心理测量。

❸ 机器学习算法中的SVM和聚类算法

相信大家都知道,机器学习中有很多的算法,我们在进行机器学习知识学习的时候一定会遇到过很多的算法,而机器学习中的SVM算法和聚类算法都是比较重要的,我们在这篇文章中就重点给大家介绍一下这两种算法,希望这篇文章能够帮助大家理解这两种算法。

机器学习算法——SVM

提道机器学习算法就不得不说一说SVM,这种算法就是支持向量机,而支持向量机算法是诞生于统计学习界,这也是机器学习中的经典算法,而支持向量机算法从某种意义上来说是逻辑回归算法的强化,这就是通过给予逻辑回归算法更严格的优化条件,支持向量机算法可以获得比逻辑回归更好的分类界线。不过如果通过跟高斯核的结合,支持向量机可以表达出非常复杂的分类界线,从而达成很好的的分类效果。核事实上就是一种特殊的函数,最典型的特征就是可以将低维的空间映射到高维的空间。

于是问题来了,如何在二维平面划分出一个圆形的分类界线?其实我们在二维平面可能会很困难,但是通过核可以将二维空间映射到三维空间,然后使用一个线性平面就可以达成类似效果。也就是说,二维平面划分出的非线性分类界线可以等价于三维平面的线性分类界线。接着,我们可以通过在三维空间中进行简单的线性划分就可以达到在二维平面中的非线性划分效果。而支持向量机是一种数学成分很浓的机器学习算法。在算法的核心步骤中,有一步证明,即将数据从低维映射到高维不会带来最后计算复杂性的提升。于是,通过支持向量机算法,既可以维持计算效率,又可以获得非常好的分类效果。因此支持向量机在90年代后期一直占据着机器学习中最核心的地位,基本取代了神经网络算法。

机器学习算法——聚类算法

说完了SVM,下面我们给大家介绍一下聚类算法,前面的算法中的一个显着特征就是我的训练数据中包含了标签,训练出的模型可以对其他未知数据预测标签。在下面的算法中,训练数据都是不含标签的,而算法的目的则是通过训练,推测出这些数据的标签。这类算法有一个统称,即无监督算法。无监督算法中最典型的代表就是聚类算法。而聚类算法中最典型的代表就是K-Means算法。这一算法被广大朋友所应用。

现在,我们可以清楚认识到机器学习是一个综合性很强的学科。在这篇文章中我们给大家介绍了很多关于机器学习中的支持向量机和聚类算法的相关知识,通过这些知识我们不难发现机器学习中有很多有用的算法,熟练掌握这些算法是我们真正学会机器学习的必经之路。

❹ 如何学习机器学习的一点心得

学习之前还是要了解下目前工业界所需要的机器学习/人工智能人才所需要必备的技能是哪些?你才好针对性地去学习。正好我前两天刚听了菜鸟窝(一个程序猿的黄埔军校)的一位阿里机器学习算法工程师的课,帮助我理清了思路,在此分享下。

网络教程还是挺多的,就看怎么学习了,不过遇到比较好的老师带,会少走很多弯路。如果经济上压力不大,建议可以去报一下菜鸟窝的机器学习班,毕竟人家老师都是BAT实战的,知道企业中真正要用到的东西。

不知道有没帮到你?

❺ 初学者如何选择合适的机器学习算法(附算法

如何为分类问题选择合适的机器学习算法 若要达到一定的准确率,需要尝试各种各样的分类器,并通过交叉验证选择最好的一个。但是,如果你只是为你的问题寻找一个“足够好”的算法或者一个起点,以下准则有利于选择合适的分类器:你的训练集有多大?如果训练集很小,那么高偏差/低方差分类器(如朴素贝叶斯分类器)要优于低偏差/高方差分类器(如k近邻分类器),因为后者容易过拟合。然而,随着训练集的增大,低偏差/高方差分类器将开始胜出(它们具有较低的渐近误差),因为高偏差分类器不足以提供准确的模型。这可以认为这是生成模型与判别模型的区别。一些特定算法比较朴素贝叶斯优点:简单;如果朴素贝叶斯(NB)条件独立性假设成立,相比于逻辑回归这类的判别模型,朴素贝叶斯分类器将收敛得更快,所以你只需要较小的训练集。而且,即使NB假设不成立,朴素贝叶斯分类器在实践方面仍然表现很好。如果想得到简单快捷的执行效果,这将是个好的选择。缺点:不能学习特征之间的相互作用(比如,它不能学习出:虽然你喜欢布拉德·皮特和汤姆·克鲁斯的电影,但却不喜欢他们一起合作的电影)。逻辑回归优点:有许多正则化模型的方法,不需要像在朴素贝叶斯分类器中那样担心特征间的相互关联性。与决策树和支持向量机 不同,有一个很好的概率解释,并能容易地更新模型来吸收新数据(使用一个在线梯度下降方法)。如果你想要一个概率框架(比如,简单地调整分类阈值,说出什么时候是不太确定的,或者获得置信区间),或你期望未来接收更多想要快速并入模型中的训练数据,就选择逻辑回归。决策树优点:易于说明和解释,很容易地处理特征间的相互作用,并且是非参数化的,不用担心异常值或者数据是否线性可分(比如,决策树可以很容易地某特征x的低端是类A,中间是类B,然后高端又是类A的情况)。缺点:1)不支持在线学习,当有新样本时需要重建决策树。2)容易过拟合,但这也正是诸如随机森林(或提高树)之类的集成方法的切入点。另外,随机森林适用于很多分类问题(通常略优于支持向量机)---快速并且可扩展,不像支持向量机那样调一堆参数。随机森林正渐渐开始偷走它的“王冠”。 SVMs 优点:高准确率,为过拟合提供了好的理论保证;即使数据在基础特征空间线性不可分,只要选定一个恰当的核函数,仍然能够取得很好的分类效果。它们在超高维空间是常态的文本分类问题中尤其受欢迎。然而,它们内存消耗大,难于解释,运行和调参 复杂,尽管如此,更好的数据往往胜过更好的算法,设计好的特征非常重要。如果有一个庞大数据集,这时使用哪种分类算法在分类性能方面可能并不要紧;因此,要基于速度和易用性选择算法。

❻ 机器学习的方法

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。很多推论问题属于无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。

机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。
学习是人类具有的一种重要智能行为,但究竟什么是学习,长期以来却众说纷纭。社会学家、逻辑学家和心理学家都各有其不同的看法。比如,Langley(1996) 定义的机器学习是“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。(Machine learning is a science of the artificial. The field's main objects of study are artifacts, specifically algorithms that improve their performance with experience.')Tom Mitchell的机器学习(1997)对信息论中的一些概念有详细的解释,其中定义机器学习时提到,“机器学习是对能通过经验自动改进的计算机算法的研究”。(Machine Learning is the study of computer algorithms that improve automatically through experience.)Alpaydin(2004)同时提出自己对机器学习的定义,“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。”(Machine learning is programming computers to optimize a performance criterion using example data or past experience.)

尽管如此,为了便于进行讨论和估计学科的进展,有必要对机器学习给出定义,即使这种定义是不完全的和不充分的。顾名思义, 机器学习是研究如何使用机器来模拟人类学习活动的一门学科。稍为严格的提法是:机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问。这里所说的“机器”,指的就是计算机;现在是电子计算机,以后还可能是中子计算机、光子计算机或神经计算机等等

机器能否象人类一样能具有学习能力呢?1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对弈中改善自己的棋艺。4年后,这个程序战胜了设计者本人。又过了3年,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。这个程序向人们展示了机器学习的能力,提出了许多令人深思的社会问题与哲学问题。

机器的能力是否能超过人的,很多持否定意见的人的一个主要论据是:机器是人造的,其性能和动作完全是由设计者规定的,因此无论如何其能力也不会超过设计者本人。这种意见对不具备学习能力的机器来说的确是对的,可是对具备学习能力的机器就值得考虑了,因为这种机器的能力在应用中不断地提高,过一段时间之后,设计者本人也不知它的能力到了何种水平。

❼ 如何研究学习一个机器学习算法

如何研究学习一个机器学习算法
1. 还记得我刚来算法组的时候,我不懂TFIDF是什么,更不要说什么SVD,LDA了听都没听过,不懂user-based和item-based的区别,甚至连贝叶斯公式都写不全。在最初的一段时间,我看别人的代码,半懂不懂地听组会分享,然后实现一个又一个现在看来很幼稚的算法,感觉进步是飞速的。接过来一个算法需求,我就去网上找篇paper,然后把算法给实现了就丢给产品线用。
这个时候,同事A对我讲,“算法工程师不是懂一些数学,会写些算法就行了,算法工程师最重要的技能,在于如何定义问题,然后接下来才是如何解决这个问题。”从那以后,当面临一个需求时,我更愿意分析这个需求的关键点在哪,然后从大脑里搜索已有的东西能不能解决这个问题,比如FM的算法缺乏多样性,那么我想一下我看过的解决多样性的paper都有什么?能不能用在这个上面。如果不能,我再对应去搜问题的关键字,而不是算法的关键字。

2. 转眼间一年过去了,虽说看过的paper不够多,但是可以应付大部分的需求了。但是我开始迷茫起来,我觉得自己在实现一个又一个的算法trick,知道一个算法可以用,我就去网上down一个对应的算法包,然后把数据丢进去。没了......那么我的出路到底在哪?我的核心竞争力在哪?在于知道这么个东西,然后变成跑准备数据的么?
这个时候,同事B给我讲了到底博士是如何完成一个毕业设计的,几百篇论文作为基础。那是不是把几百篇论文全都和我以前一样一字不差的看完?PHD为什么很容易进入到一个他之前所未知的领域,在于在研究领域所积累的一套方法论。言归正传:
当接触到一个新的算法时要怎么去入手?用SVM举例吧:
第一,去找SVM的Survey,每一个成熟的算法分支必定有着survey这样的汇总性paper,通过这个paper,我们大致可以了解这个算法为什么出现,最基本的算法原型是什么样的,接下来后人对他做了什么样的改进,他到底还有什么问题。
第二,弄懂这个算法的来龙去脉,为什么出现,出现是因为改进了前面算法所不能做的什么事情?例如我们为什么不用基本的线性分类器?和用传统的分类算法找到一个超平面区别在于哪?
第三,知道了来龙去脉,我们还要知道这个算法的缺点在哪?不能适用于什么?我们怎么知道?这个就涉及到如何来快速地过一遍一篇paper。
第四,Abstract是最重要的,他告诉了我们这篇paper发的目的是什么?他想解决什么问题?然后是Future Work,之所以有着FutureWork是因为这个算法还有一些问题没有解决,这个就告诉了我们当前算法还有什么缺点?
第五,递归再去看这个缺点是否有其他的研究者已经解决掉了。

那么我们为什么看paper,为什么实现某算法,我归结为两点:
1. 学习目的,扩展思路,如果处于这种目的,理解paper的精髓是最重要的。
2. 解决实际问题。那么应该丢弃的观点是我最初那样拿过来一篇paper也没理解透彻也不知道能不能解决问题,也不知道到底是不是可行,就先实现了再说。劳民伤财~

3. 我自认为自己还算努力,看了很多书,看了很多算法,但是其实有时候说起来,比如用PCA还是SVD,他们到底有什么区别,我们如何选择,我其实还是不明白。
这时,同事C对我说,理解一个算法,最重要的是要理解这个算法的世界观,这个算法背后的哲学基础是什么?只有理解了这个,才算理解一个算法。
用Boosting来举例,他背后的世界观是PAC原则。那么Boosting为什么不能引入一个强分类器,因为这个做个类比就相当于Boosting原本是美国的民主政治,一旦引入了一个强势的领导,就一下子变成了当年毛爷爷时候的政治了。Boosting的世界观就崩塌掉了。至于说Boosting最终是如何调整数据集的权重,这些就都属于了细节的层面。

最后,补充一个同事D,无意间的话让我发觉自己要变得更优秀才行:
同事D在搜Resys,有一个快照上面写着:本科生Resys十佳论文。同事扭头对我说,靠,现在本科生都可以发Resys paper了。让我意识到了自己其实在原本上差距有多大,我要付出更大的努力才能弥补这些也许别人觉得无法跨越的鸿沟。

❽ 机器学习的方法之回归算法

我们都知道,机器学习是一个十分实用的技术,而这一实用的技术中涉及到了很多的算法。所以说,我们要了解机器学习的话就要对这些算法掌握通透。在这篇文章中我们就给大家详细介绍一下机器学习中的回归算法,希望这篇文章能够帮助到大家。
一般来说,回归算法是机器学习中第一个要学习的算法。具体的原因,第一就是回归算法比较简单,可以让人直接从统计学过渡到机器学习中。第二就是回归算法是后面若干强大算法的基石,如果不理解回归算法,无法学习其他的算法。而回归算法有两个重要的子类:即线性回归和逻辑回归。
那么什么是线性回归呢?其实线性回归就是我们常见的直线函数。如何拟合出一条直线最佳匹配我所有的数据?这就需要最小二乘法来求解。那么最小二乘法的思想是什么呢?假设我们拟合出的直线代表数据的真实值,而观测到的数据代表拥有误差的值。为了尽可能减小误差的影响,需要求解一条直线使所有误差的平方和最小。最小二乘法将最优问题转化为求函数极值问题。
那么什么是逻辑回归呢?逻辑回归是一种与线性回归非常类似的算法,但是,从本质上讲,线型回归处理的问题类型与逻辑回归不一致。线性回归处理的是数值问题,也就是最后预测出的结果是数字。而逻辑回归属于分类算法,也就是说,逻辑回归预测结果是离散的分类。而逻辑回归算法划出的分类线基本都是线性的(也有划出非线性分类线的逻辑回归,不过那样的模型在处理数据量较大的时候效率会很低),这意味着当两类之间的界线不是线性时,逻辑回归的表达能力就不足。下面的两个算法是机器学习界最强大且重要的算法,都可以拟合出非线性的分类线。这就是有关逻辑回归的相关事项。
在这篇文章中我们简单给大家介绍了机器学习中的回归算法的相关知识,通过这篇文章我们不难发现回归算法是一个比较简答的算法,回归算法是线性回归和逻辑回归组成的算法,而线性回归和逻辑回归都有自己实现功能的用处。这一点是需要大家理解的并掌握的,最后祝愿大家能够早日学会回归算法。

❾ 想了解机器学习,需要知道哪些基础算法

学一些概率论,导数和线性代数。机器学习的本质是拿训练样本去做数据拟合函数,然后用拟合函数解析输入量。机器学习比较基础的是最小二乘法,梯度下降之类的。到后面要学线性拟合,logistic函数,SVM等等。

❿ 机器学习新手必看十大算法

机器学习新手必看十大算法
本文介绍了机器学习新手需要了解的 10 大算法,包括线性回归、Logistic 回归、朴素贝叶斯、K 近邻算法等。
在机器学习中,有一种叫做“没有免费的午餐”的定理。简而言之,它指出没有任何一种算法对所有问题都有效,在监督学习(即预测建模)中尤其如此。
例如,你不能说神经网络总是比决策树好,反之亦然。有很多因素在起作用,例如数据集的大小和结构。
因此,你应该针对具体问题尝试多种不同算法,并留出一个数据“测试集”来评估性能、选出优胜者。
当然,你尝试的算法必须适合你的问题,也就是选择正确的机器学习任务。打个比方,如果你需要打扫房子,你可能会用吸尘器、扫帚或拖把,但是你不会拿出铲子开始挖土。
大原则
不过也有一个普遍原则,即所有监督机器学习算法预测建模的基础。
机器学习算法被描述为学习一个目标函数 f,该函数将输入变量 X 最好地映射到输出变量 Y:Y = f(X)
这是一个普遍的学习任务,我们可以根据输入变量 X 的新样本对 Y 进行预测。我们不知道函数 f 的样子或形式。如果我们知道的话,我们将会直接使用它,不需要用机器学习算法从数据中学习。
最常见的机器学习算法是学习映射 Y = f(X) 来预测新 X 的 Y。这叫做预测建模或预测分析,我们的目标是尽可能作出最准确的预测。
对于想了解机器学习基础知识的新手,本文将概述数据科学家使用的 top 10 机器学习算法。
1. 线性回归
线性回归可能是统计学和机器学习中最知名和最易理解的算法之一。
预测建模主要关注最小化模型误差或者尽可能作出最准确的预测,以可解释性为代价。我们将借用、重用包括统计学在内的很多不同领域的算法,并将其用于这些目的。
线性回归的表示是一个方程,它通过找到输入变量的特定权重(称为系数 B),来描述一条最适合表示输入变量 x 与输出变量 y 关系的直线。
线性回归
例如:y = B0 + B1 * x
我们将根据输入 x 预测 y,线性回归学习算法的目标是找到系数 B0 和 B1 的值。
可以使用不同的技术从数据中学习线性回归模型,例如用于普通最小二乘法和梯度下降优化的线性代数解。
线性回归已经存在了 200 多年,并得到了广泛研究。使用这种技术的一些经验是尽可能去除非常相似(相关)的变量,并去除噪音。这是一种快速、简单的技术,可以首先尝试一下。
2. Logistic 回归
Logistic 回归是机器学习从统计学中借鉴的另一种技术。它是解决二分类问题的首选方法。
Logistic 回归与线性回归相似,目标都是找到每个输入变量的权重,即系数值。与线性回归不同的是,Logistic 回归对输出的预测使用被称为 logistic 函数的非线性函数进行变换。
logistic 函数看起来像一个大的 S,并且可以将任何值转换到 0 到 1 的区间内。这非常实用,因为我们可以规定 logistic 函数的输出值是 0 和 1(例如,输入小于 0.5 则输出为 1)并预测类别值。
Logistic 回归
由于模型的学习方式,Logistic 回归的预测也可以作为给定数据实例(属于类别 0 或 1)的概率。这对于需要为预测提供更多依据的问题很有用。
像线性回归一样,Logistic 回归在删除与输出变量无关的属性以及非常相似(相关)的属性时效果更好。它是一个快速的学习模型,并且对于二分类问题非常有效。
3. 线性判别分析(LDA)
Logistic 回归是一种分类算法,传统上,它仅限于只有两类的分类问题。如果你有两个以上的类别,那么线性判别分析是首选的线性分类技术。
LDA 的表示非常简单直接。它由数据的统计属性构成,对每个类别进行计算。单个输入变量的 LDA 包括:
每个类别的平均值;
所有类别的方差。
线性判别分析
进行预测的方法是计算每个类别的判别值并对具备最大值的类别进行预测。该技术假设数据呈高斯分布(钟形曲线),因此最好预先从数据中删除异常值。这是处理分类预测建模问题的一种简单而强大的方法。
4. 分类与回归树
决策树是预测建模机器学习的一种重要算法。
决策树模型的表示是一个二叉树。这是算法和数据结构中的二叉树,没什么特别的。每个节点代表一个单独的输入变量 x 和该变量上的一个分割点(假设变量是数字)。
决策树
决策树的叶节点包含一个用于预测的输出变量 y。通过遍历该树的分割点,直到到达一个叶节点并输出该节点的类别值就可以作出预测。
决策树学习速度和预测速度都很快。它们还可以解决大量问题,并且不需要对数据做特别准备。
5. 朴素贝叶斯
朴素贝叶斯是一个简单但是很强大的预测建模算法。
该模型由两种概率组成,这两种概率都可以直接从训练数据中计算出来:1)每个类别的概率;2)给定每个 x 的值,每个类别的条件概率。一旦计算出来,概率模型可用于使用贝叶斯定理对新数据进行预测。当你的数据是实值时,通常假设一个高斯分布(钟形曲线),这样你可以简单的估计这些概率。
贝叶斯定理
朴素贝叶斯之所以是朴素的,是因为它假设每个输入变量是独立的。这是一个强大的假设,真实的数据并非如此,但是,该技术在大量复杂问题上非常有用。
6. K 近邻算法
KNN 算法非常简单且有效。KNN 的模型表示是整个训练数据集。是不是很简单?
KNN 算法在整个训练集中搜索 K 个最相似实例(近邻)并汇总这 K 个实例的输出变量,以预测新数据点。对于回归问题,这可能是平均输出变量,对于分类问题,这可能是众数(或最常见的)类别值。
诀窍在于如何确定数据实例间的相似性。如果属性的度量单位相同(例如都是用英寸表示),那么最简单的技术是使用欧几里得距离,你可以根据每个输入变量之间的差值直接计算出来其数值。
K 近邻算法
KNN 需要大量内存或空间来存储所有数据,但是只有在需要预测时才执行计算(或学习)。你还可以随时更新和管理训练实例,以保持预测的准确性。
距离或紧密性的概念可能在非常高的维度(很多输入变量)中会瓦解,这对算法在你的问题上的性能产生负面影响。这被称为维数灾难。因此你最好只使用那些与预测输出变量最相关的输入变量。
7. 学习向量量化
K 近邻算法的一个缺点是你需要遍历整个训练数据集。学习向量量化算法(简称 LVQ)是一种人工神经网络算法,它允许你选择训练实例的数量,并精确地学习这些实例应该是什么样的。
学习向量量化
LVQ 的表示是码本向量的集合。这些是在开始时随机选择的,并逐渐调整以在学习算法的多次迭代中最好地总结训练数据集。在学习之后,码本向量可用于预测(类似 K 近邻算法)。最相似的近邻(最佳匹配的码本向量)通过计算每个码本向量和新数据实例之间的距离找到。然后返回最佳匹配单元的类别值或(回归中的实际值)作为预测。如果你重新调整数据,使其具有相同的范围(比如 0 到 1 之间),就可以获得最佳结果。
如果你发现 KNN 在你的数据集上达到很好的结果,请尝试用 LVQ 减少存储整个训练数据集的内存要求。
8. 支持向量机(SVM)
支持向量机可能是最受欢迎和最广泛讨论的机器学习算法之一。
超平面是分割输入变量空间的一条线。在 SVM 中,选择一条可以最好地根据输入变量类别(类别 0 或类别 1)对输入变量空间进行分割的超平面。在二维中,你可以将其视为一条线,我们假设所有的输入点都可以被这条线完全的分开。SVM 学习算法找到了可以让超平面对类别进行最佳分割的系数。
支持向量机
超平面和最近的数据点之间的距离被称为间隔。分开两个类别的最好的或最理想的超平面具备最大间隔。只有这些点与定义超平面和构建分类器有关。这些点被称为支持向量,它们支持或定义了超平面。实际上,优化算法用于寻找最大化间隔的系数的值。
SVM 可能是最强大的立即可用的分类器之一,值得一试。
9. Bagging 和随机森林
随机森林是最流行和最强大的机器学习算法之一。它是 Bootstrap Aggregation(又称 bagging)集成机器学习算法的一种。
bootstrap 是从数据样本中估算数量的一种强大的统计方法。例如平均数。你从数据中抽取大量样本,计算平均值,然后平均所有的平均值以便更好的估计真实的平均值。
bagging 使用相同的方法,但是它估计整个统计模型,最常见的是决策树。在训练数据中抽取多个样本,然后对每个数据样本建模。当你需要对新数据进行预测时,每个模型都进行预测,并将所有的预测值平均以便更好的估计真实的输出值。
随机森林
随机森林是对这种方法的一种调整,在随机森林的方法中决策树被创建以便于通过引入随机性来进行次优分割,而不是选择最佳分割点。
因此,针对每个数据样本创建的模型将会与其他方式得到的有所不同,不过虽然方法独特且不同,它们仍然是准确的。结合它们的预测可以更好的估计真实的输出值。
如果你用方差较高的算法(如决策树)得到了很好的结果,那么通常可以通过 bagging 该算法来获得更好的结果。
10. Boosting 和 AdaBoost
Boosting 是一种集成技术,它试图集成一些弱分类器来创建一个强分类器。这通过从训练数据中构建一个模型,然后创建第二个模型来尝试纠正第一个模型的错误来完成。一直添加模型直到能够完美预测训练集,或添加的模型数量已经达到最大数量。
AdaBoost 是第一个为二分类开发的真正成功的 boosting 算法。这是理解 boosting 的最佳起点。现代 boosting 方法建立在 AdaBoost 之上,最显着的是随机梯度提升。
AdaBoost
AdaBoost与短决策树一起使用。在第一个决策树创建之后,利用每个训练实例上树的性能来衡量下一个决策树应该对每个训练实例付出多少注意力。难以预测的训练数据被分配更多权重,而容易预测的数据分配的权重较少。依次创建模型,每个模型在训练实例上更新权重,影响序列中下一个决策树的学习。在所有决策树建立之后,对新数据进行预测,并且通过每个决策树在训练数据上的精确度评估其性能。
因为在纠正算法错误上投入了太多注意力,所以具备已删除异常值的干净数据非常重要。
总结
初学者在面对各种机器学习算法时经常问:“我应该用哪个算法?”这个问题的答案取决于很多因素,包括:(1)数据的大小、质量和特性;(2)可用的计算时间;(3)任务的紧迫性;(4)你想用这些数据做什么。
即使是经验丰富的数据科学家在尝试不同的算法之前,也无法分辨哪种算法会表现最好。虽然还有很多其他的机器学习算法,但本篇文章中讨论的是最受欢迎的算法。如果你是机器学习的新手,这将是一个很好的学习起点。

阅读全文

与如何了解最新机器学习算法相关的资料

热点内容
控制面板命令行 浏览:49
为什么空气难压缩是因为斥力吗 浏览:641
郭天祥单片机实验板 浏览:599
服务器有什么危害 浏览:256
饥荒怎么开新的独立服务器 浏览:753
文件夹变成了 浏览:560
linuxpython绿色版 浏览:431
怎么下载小爱同学音箱app 浏览:554
python占位符作用 浏览:76
javajdbcpdf 浏览:543
php网页模板下载 浏览:192
python试讲课pygame 浏览:409
安居客的文件夹名称 浏览:677
家里服务器如何玩 浏览:451
网站源码使用视频 浏览:748
stc89c52单片机最小系统 浏览:452
邮件安全证书加密 浏览:416
云服务器如何访问百度 浏览:279
常州电信服务器dns地址 浏览:839
用小方块制作解压方块 浏览:42