机器学习算法模型
❶ 干货 | 基础机器学习算法
本篇内容主要是面向机器学习初学者,介绍常见的机器学习算法,当然,欢迎同行交流。
哲学要回答的基本问题是从哪里来、我是谁、到哪里去,寻找答案的过程或许可以借鉴机器学习的套路:组织数据->挖掘知识->预测未来。组织数据即为设计特征,生成满足特定格式要求的样本,挖掘知识即建模,而预测未来就是对模型的应用。
特征设计依赖于对业务场景的理解,可分为连续特征、离散特征和组合高阶特征。本篇重点是机器学习算法的介绍,可以分为监督学习和无监督学习两大类。
无监督学习算法很多,最近几年业界比较关注主题模型,LSA->PLSA->LDA 为主题模型三个发展阶段的典型算法,它们主要是建模假设条件上存在差异。LSA假设文档只有一个主题,PLSA 假设各个主题的概率分布不变(theta 都是固定的),LDA 假设每个文档和词的主题概率是可变的。
LDA 算法本质可以借助上帝掷骰子帮助理解,详细内容可参加 Rickjin 写的《 LDA 数据八卦》文章,浅显易懂,顺便也科普了很多数学知识,非常推荐。
监督学习可分为分类和回归,感知器是最简单的线性分类器,现在实际应用比较少,但它是神经网络、深度学习的基本单元。
线性函数拟合数据并基于阈值分类时,很容易受噪声样本的干扰,影响分类的准确性。逻辑回归(Logistic Regression)利用 sigmoid 函数将模型输出约束在 0 到 1 之间,能够有效弱化噪声数据的负面影响,被广泛应用于互联网广告点击率预估。
逻辑回归模型参数可以通过最大似然求解,首先定义目标函数 L ( theta ),然后 log 处理将目标函数的乘法逻辑转化为求和逻辑(最大化似然概率 -> 最小化损失函数),最后采用梯度下降求解。
相比于线性分类去,决策树等非线性分类器具有更强的分类能力,ID3 和 C4.5 是典型的决策树算法,建模流程基本相似,两者主要在增益函数(目标函数)的定义不同。
线性回归和线性分类在表达形式上是类似的,本质区别是分类的目标函数是离散值,而回归的目标函数是连续值。目标函数的不同导致回归通常基于最小二乘定义目标函数,当然,在观测误差满足高斯分布的假设情况下,最小二乘和最大似然可以等价。
当梯度下降求解模型参数时,可以采用 Batch 模式或者 Stochastic 模式,通常而言,Batch 模式准确性更高,Stochastic 模式复杂度更低。
上文已经提到,感知器虽然是最简单的线性分类器,但是可以视为深度学习的基本单元,模型参数可以由自动编码( Auto Encoder )等方法求解。
深度学习的优势之一可以理解为特征抽象,从底层特征学习获得高阶特征,描述更为复杂的信息结构。例如,从像素层特征学习抽象出描述纹理结构的边缘轮廓特征,更进一步学习获得表征物体局部的更高阶特征。
俗话说三个臭皮匠赛过诸葛亮,无论是线性分类还是深度学习,都是单个模型算法单打独斗,有没有一种集百家之长的方法,将模型处理数据的精度更进一步提升呢?当然,Model Ensembe l就是解决这个问题。Bagging 为方法之一,对于给定数据处理任务,采用不同模型/参数/特征训练多组模型参数,最后采用投票或者加权平均的方式输出最终结果。
Boosting为Model Ensemble 的另外一种方法,其思想为模型每次迭代时通过调整错误样本的损失权重提升对数据样本整体的处理精度,典型算法包括 AdaBoost 、GBDT 等。
不同的数据任务场景,可以选择不同的 Model Ensemble 方法,对于深度学习,可以对隐层节点采用 DropOut 的方法实现类似的效果。
介绍了这么多机器学习基础算法,说一说评价模型优劣的基本准则。欠拟合和过拟合是经常出现的两种情况,简单的判定方法是比较训练误差和测试误差的关系,当欠拟合时,可以设计更多特征来提升模型训练精度,当过拟合时,可以优化特征量降低模型复杂度来提升模型测试精度。
特征量是模型复杂度的直观反映,模型训练之前设定输入的特征量是一种方法,另外一种比较常用的方法是在模型训练过程中,将特征参数的正则约束项引入目标函数/损失函数,基于训练过程筛选优质特征。
模型调优是一个细致活,最终还是需要能够对实际场景给出可靠的预测结果,解决实际问题。期待学以致用! 作者 晓惑 本文转自阿里技术,转载需授权
❷ 机器学习一般常用的算法有哪些
机器学习是人工智能的核心技术,是学习人工智能必不可少的环节。机器学习中有很多算法,能够解决很多以前难以企的问题,机器学习中涉及到的算法有不少,下面小编就给大家普及一下这些算法。
一、线性回归
一般来说,线性回归是统计学和机器学习中最知名和最易理解的算法之一。这一算法中我们可以用来预测建模,而预测建模主要关注最小化模型误差或者尽可能作出最准确的预测,以可解释性为代价。我们将借用、重用包括统计学在内的很多不同领域的算法,并将其用于这些目的。当然我们可以使用不同的技术从数据中学习线性回归模型,例如用于普通最小二乘法和梯度下降优化的线性代数解。就目前而言,线性回归已经存在了200多年,并得到了广泛研究。使用这种技术的一些经验是尽可能去除非常相似(相关)的变量,并去除噪音。这是一种快速、简单的技术。
二、Logistic 回归
它是解决二分类问题的首选方法。Logistic 回归与线性回归相似,目标都是找到每个输入变量的权重,即系数值。与线性回归不同的是,Logistic 回归对输出的预测使用被称为 logistic 函数的非线性函数进行变换。logistic 函数看起来像一个大的S,并且可以将任何值转换到0到1的区间内。这非常实用,因为我们可以规定logistic函数的输出值是0和1并预测类别值。像线性回归一样,Logistic 回归在删除与输出变量无关的属性以及非常相似的属性时效果更好。它是一个快速的学习模型,并且对于二分类问题非常有效。
三、线性判别分析(LDA)
在前面我们介绍的Logistic 回归是一种分类算法,传统上,它仅限于只有两类的分类问题。而LDA的表示非常简单直接。它由数据的统计属性构成,对每个类别进行计算。单个输入变量的 LDA包括两个,第一就是每个类别的平均值,第二就是所有类别的方差。而在线性判别分析,进行预测的方法是计算每个类别的判别值并对具备最大值的类别进行预测。该技术假设数据呈高斯分布,因此最好预先从数据中删除异常值。这是处理分类预测建模问题的一种简单而强大的方法。
四、决策树
决策树是预测建模机器学习的一种重要算法。决策树模型的表示是一个二叉树。这是算法和数据结构中的二叉树,没什么特别的。每个节点代表一个单独的输入变量x和该变量上的一个分割点。而决策树的叶节点包含一个用于预测的输出变量y。通过遍历该树的分割点,直到到达一个叶节点并输出该节点的类别值就可以作出预测。当然决策树的有点就是决策树学习速度和预测速度都很快。它们还可以解决大量问题,并且不需要对数据做特别准备。
五、朴素贝叶斯
其实朴素贝叶斯是一个简单但是很强大的预测建模算法。而这个模型由两种概率组成,这两种概率都可以直接从训练数据中计算出来。第一种就是每个类别的概率,第二种就是给定每个 x 的值,每个类别的条件概率。一旦计算出来,概率模型可用于使用贝叶斯定理对新数据进行预测。当我们的数据是实值时,通常假设一个高斯分布,这样我们可以简单的估计这些概率。而朴素贝叶斯之所以是朴素的,是因为它假设每个输入变量是独立的。这是一个强大的假设,真实的数据并非如此,但是,该技术在大量复杂问题上非常有用。所以说,朴素贝叶斯是一个十分实用的功能。
六、K近邻算法
K近邻算法简称KNN算法,KNN 算法非常简单且有效。KNN的模型表示是整个训练数据集。KNN算法在整个训练集中搜索K个最相似实例(近邻)并汇总这K个实例的输出变量,以预测新数据点。对于回归问题,这可能是平均输出变量,对于分类问题,这可能是众数类别值。而其中的诀窍在于如何确定数据实例间的相似性。如果属性的度量单位相同,那么最简单的技术是使用欧几里得距离,我们可以根据每个输入变量之间的差值直接计算出来其数值。当然,KNN需要大量内存或空间来存储所有数据,但是只有在需要预测时才执行计算。我们还可以随时更新和管理训练实例,以保持预测的准确性。
七、Boosting 和 AdaBoost
首先,Boosting 是一种集成技术,它试图集成一些弱分类器来创建一个强分类器。这通过从训练数据中构建一个模型,然后创建第二个模型来尝试纠正第一个模型的错误来完成。一直添加模型直到能够完美预测训练集,或添加的模型数量已经达到最大数量。而AdaBoost 是第一个为二分类开发的真正成功的 boosting 算法。这是理解 boosting 的最佳起点。现代 boosting 方法建立在 AdaBoost 之上,最显着的是随机梯度提升。当然,AdaBoost 与短决策树一起使用。在第一个决策树创建之后,利用每个训练实例上树的性能来衡量下一个决策树应该对每个训练实例付出多少注意力。难以预测的训练数据被分配更多权重,而容易预测的数据分配的权重较少。依次创建模型,每一个模型在训练实例上更新权重,影响序列中下一个决策树的学习。在所有决策树建立之后,对新数据进行预测,并且通过每个决策树在训练数据上的精确度评估其性能。所以说,由于在纠正算法错误上投入了太多注意力,所以具备已删除异常值的干净数据十分重要。
八、学习向量量化算法(简称 LVQ)
学习向量量化也是机器学习其中的一个算法。可能大家不知道的是,K近邻算法的一个缺点是我们需要遍历整个训练数据集。学习向量量化算法(简称 LVQ)是一种人工神经网络算法,它允许你选择训练实例的数量,并精确地学习这些实例应该是什么样的。而学习向量量化的表示是码本向量的集合。这些是在开始时随机选择的,并逐渐调整以在学习算法的多次迭代中最好地总结训练数据集。在学习之后,码本向量可用于预测。最相似的近邻通过计算每个码本向量和新数据实例之间的距离找到。然后返回最佳匹配单元的类别值或作为预测。如果大家重新调整数据,使其具有相同的范围,就可以获得最佳结果。当然,如果大家发现KNN在大家数据集上达到很好的结果,请尝试用LVQ减少存储整个训练数据集的内存要求
❸ 机器学习模型可解释的重要及必要性
机器学习模型可解释的重要及必要性
不管你是管理自己的资金还是客户资金,只要你在做资产管理,每一步的投资决策都意义重大,做技术分析或基本面分析的朋友很清楚地知道每一个决策的细节,但是通过机器学习、深度学习建模的朋友可能就会很苦恼,因为直接产出决策信号的模型可能是个黑盒子,很难明白为什么模型会产出某一个信号,甚至很多保守的私募基金把模型的可解释性放入了事前风控。其实,模型的可解释性是很容易做到的,难点在于研究员是否对模型有深入的思考和理解。
介绍
机器学习领域在过去十年中发生了显着的变化。从一个纯粹的学术和研究领域方向开始,我们已经看到了机器学习在各个领域都有着广泛的应用,如零售,技术,医疗保健,科学等等。在21世纪,数据科学和机器学习的重要目标已经转变为解决现实问题,自动完成复杂任务,让我们的生活变得更加轻松,而不仅仅是在实验室做实验发表论文。机器学习,统计学或深度学习模型工具已基本成型。像Capsule Networks这样的新模型在不断地被提出,但这些新模型被工业采用却需要几年时间。因此,在工业界中,数据科学或机器学习的主要焦点更多在于应用,而不是理论。这些模型可以在正确数据上有效应用来解决现实问题是至关重要的。
机器学习模型本质上就是一种算法,该算法试图从数据中学习潜在模式和关系,而不是通过代码构建一成不变的规则。所以,解释一个模型是如何在商业中起作用总会遇到一系列挑战。在某些领域,特别是在金融领域,比如保险、银行等,数据科学家们通常最终不得不使用更传统更简单的机器学习模型(线性模型或决策树)。原因是模型的可解释性对于企业解释模型的每一个决策至关重要。然而,这常常导致在性能上有所牺牲。复杂模型像如集成学习和神经网络通常表现出更好更精准的性能(因为真实的关系在本质上很少可以通过线性划分的),然而,我们最终无法对模型决策做出合适的解释。为了解决和探讨这些差距,本文中,我会重点解释模型可解释性的重要及必要性。
动机
作为一名在企业工作的数据科学家并时常指导他人,我发现数据科学仍然常常被视为一个黑盒,它能用“魔法”或“炼金术”提供人们想要的东西。然而,严酷的现实是,如果不对模型进行合理足够的解释,现实世界的项目很少成功。如今,数据科学家通过构建模型并为业务提供解决方案。企业可能不知道模型实现的复杂细节,却要依靠这些模型做出决策,他们确实有权提出这样的问题:“我怎样才能相信你的模型?”或“你的模型是如何决策的”?”回答这些问题是数据科学实践者和研究人员数年来一直在尝试的事情。
数据科学家知道,模型解释性与模型性能之前有一个权衡。在这里,模型性能不是运行时间或执行性能,而是模型在做出预测时的准确度。有几种模型(包括简单的线性模型甚至基于树的模型),他们的预测的原理很好直观理解,但是需要牺牲模型性能,因为它们的产生的结果偏差或者方差很高(欠拟合:线性模型),或者容易过拟合(基于树的模型)。更复杂的模型,如集成模型和近期快速发展的深度学习通常会产生更好的预测性能,但被视为黑盒模型,因为要解释这些模型是如何真正做出决策是一件非常困难的事情。
虽然有些人说,知道模型性能好就行了,为什么还要知道它背后的原理呢? 然而,作为人类,大多数决策基于逻辑和推理。 因此,人工智能(AI)作出决策的模式无疑会受到怀疑。 在很多现实情况下,有偏差的模型可能会产生真正的负面影响。 这包括预测潜在的犯罪、司法量刑、信用评分、欺诈发现、健康评估、贷款借款、自动驾驶等,其中模型的理解和解释是最重要的。 数据科学家、作家Cathy O’ Neil在她的着名着作《Weapons of Math Destruction》中也强调了这一点。
着名学者和作家凯特克劳福德在NIPS 2017主题演讲《The Trouble with Bias》中谈到了偏差在机器学习中的影响以及它对社会的影响。
有兴趣的读者也可以看看她在纽约时报的着名文章《 Artificial Intelligence’s White Guy Problem》,向我们展示了机器学习应用的案例,包括图像分类、犯罪风险预测、交付服务可用性等等,这些应用对黑人极不亲善。 如果我们想利用机器学习来解决这些问题,所有这些真实世界的场景都在告诉我们模型解释是多么的重要。
在过去的一年里,我在解决行业问题的同时也看到了对模型解释的需求,同时我也在写我的新书《Practical Machine Learning with python2》。在这段时间里,我有机会与DataScience.com的优秀员工进行互动,他们非常清楚在机器学习模型中人类可解释性的必要性和重要性。他们也一直在积极研究解决方案,并开发了流行的python框架Skater。后续我们将深入研究Skater,并在本系列文章中做一些实际的模型解释。
理解模型解释
机器学习(尤其是深度学习)仅在最近几年才得到广泛的行业采用。因此,模型解释作为一个概念仍然主要是理论和主观的。
任何机器学习模型都有一个响应函数,试图映射和解释自(输入)变量和因(目标或响应)变量之间的关系和模式。
模型解释试图理解和解释响应函数做出的这些决定。模型解释的关键在于透明度以及人们理解模型决策的容易程度。模型解释的三个最重要的方面解释如下。
什么主导了模型预测?我们应该找出特征的相互作用,以了解在模型的决策策略中哪些特征可能是重要的。这确保了模型的公平性。
为什么模型做出某个特定决策?我们还应该能够验证为什么某些关键特征在预测期间推动某个模型所做出的某些决定。这确保了模型的可靠性。
我们如何相信模型预测?我们应该能够评估和验证任何数据点以及模型如何作出决策。对于模型按预期运行的直接利益相关者来说,这应该是可证明的,并且易于理解。这确保了模型的透明度。
可解释性是指人(包括机器学习中的非专家)能够理解模型在其决策过程中所做出的选择(怎么决策,为什么决策和决策了什么)。
在模型比较时,除了模型的性能,如果一个模型的决策比另一个模型的决策更容易被人类理解,则说该模型比另一个模型具有更好的可解释性。
模型解释的重要性
在解决机器学习问题时,数据科学家通常倾向于注意模型性能指标,如准确性、精确度和召回率等(毫无疑问,这很重要!)。但是,度量标准只能说明模型预测性决策的一部分内容。随着时间的推移,由于环境中各种因素造成的模型概念漂移,性能可能会发生变化。因此,了解什么促使模型作出某些决定是极为重要的。
我们中的一些人可能会认为模型已经工作得很好了,为什么还要深入挖掘呢?一定要记住,当解决现实世界中的数据科学问题时,为了让企业相信你的模型预测和决策,他们会不断提问“我为什么要信任你的模型?”,这非常合理。如果一个人患有癌症或糖尿病,如果一个人可能对社会构成风险,或者即使客户流失,您是否会满意于只是预测和做出决定(如何)的模型?也许另外一种会更好,如果我们可以更多地了解模型的决策过程(为什么以及如何),我们可能更喜欢它。这为我们提供了更多的透明度,说明为什么模型会做出某些决定,在某些情况下可能会出错,并且随着时间的推移它可以帮助我们在这些机器学习模型上建立一定的信任度。
这一部分关键的一点是,现在是时候停止将机器学习模型视为黑盒子,不仅尝试和分析数据,而且还要分析模型如何做出决策。实际上,走向这条道路的一些关键步骤是由着名论文《Why Should I Trust You?》(解释了任意分类器的预测)”开始的,由MT Ribeiro,S. Singh和C. Guestrin在SIGKDD 2016上介绍了LIME(Local Interpretable Model-Agnostic Explanations)(局部可解释模型 - 不可知论解释)的概念。
他们在论文中提到了一些值得记住的关键点。
然而,理解预测背后的原因在评估信任方面非常重要,如果计划基于预测采取行动,或者选择是否部署新模型,则对模型的信任是至关重要的。 无论人类是直接使用机器学习分类器作为工具还是在其他产品中部署模型,仍然存在一个至关重要的问题:如果用户不信任模型或预测,他们将不会使用它。
这是我们在本文中多次讨论的内容,也是决定数据科学项目在业界成功与否的关键因素之一。这就推动了模型解释的必要性和重要性。
模型解释方法的标准
对于模型解释方法的分类有特定的标准。在Christoph Molnar的“Interpretable Machine Learning,Making Guide for Making Black Box Models Explainable”中提到了一个很好的指导标准:
内在或事后?内在解释性是关于利用机器学习模型的,它本质上是解释性的(像线性模型、参数模型或基于树的模型)。事后解释性意味着选择和训练一个黑盒模型(集成方法或神经网络)并在训练后应用可解释性方法(特征重要性,部分依赖关系图)。我们将在我们的系列文章中更多地关注事后模型可解释的方法。
是针对某个模型的还是通用的?特定于模型的解释工具对固有模型解释方法非常具体,这些解释方法完全取决于每个模型的能力和特征。这可以是系数,p值,与回归模型相关的AIC分数,决策树的规则等等。通用的模型解释方法还是依赖于事后对模型的分析,可用于任何机器学习模型。通常通过分析特征输入和输出对来运行。根据定义,这些方法无法访问任何模型内部,如权重,约束或假设。
本地还是全局?这种解释的分类会谈到解释方法是解释单个预测还是整个模型行为?或者如果范围介于两者之间?我们将尽快讨论更多关于局部和全局的解释。
这并不是对可解释方法进行分类的一套完整的标准,因为这仍然是一个新兴的领域,但这可以是一个很好的标准,可以在多种方法之间进行比较和对比。
模型解释的范围
我们如何界定解释的范围和界限?一些有用的方面可以是模型的透明度,公平性和可靠性。本地还是全局模型解释是定义模型解释范围的明确方法。
全局解释性
这就是要试图理解“模型如何做出预测?”和“模型的子集如何影响模型决策?”。为了一次理解和解释整个模型,我们需要全局解释。全局可解释性是指能够基于完整数据集上的依赖(响应)变量和独立(预测)特征之间的条件相互作用来解释和理解模型决策。试图理解特征的相互作用和重要性,往往是理解全局解释的好的一步。当然,在尝试分析交互时,在超过两个或三个维度后对特征进行可视化变得非常困难。因此,经常查看可能会影响全局知识模型预测的模块化部分和特征子集,对全局解释是有所帮助的。完整的模型结构知识,假设和约束是全局解释所必需的。
局部解释性
这就是要了解“为什么模型会为单个实例做出特定决策?”以及“为什么模型会为一组实例做出特定决策?”。对于局部的可解释性,我们不关心模型的内在结构或假设,我们把它当作一个黑箱子。为了理解单个数据点的预测决策,我们专门关注该数据点,并在该点附近的特征空间中查看局部子区域,并尝试根据此局部区域了解该点的模型决策。局部数据分布和特征空间可能表现完全不同,并提供更准确的解释而不是全局解释。局部可解释模型 - 不可知论解释(LIME)框架是一种很好的方法,可用于模型不可知的局部解释。我们可以结合使用全局解释和局部解释来解释一组实例的模型决策。
模型透明度
这就是要了解“从算法和特征中创建模型的过程如何?”。我们知道,典型的机器学习模型都是关于利用一个算法在数据特征之上构建一个表示,将输入映射到潜在的输出(响应)。模型的透明性可以尝试理解模型如何构建的更多技术细节,以及影响其决策的因素。这可以是神经网络的权值,CNN滤波器的权值,线性模型系数,节点和决策树的分割。然而,由于企业对这些技术细节可能并不十分熟悉,试图用不可知的局部和全局解释方法来解释模型决策有助于展示模型的透明度。
结论
模型可解释是一个对现实世界机器学习项目非常重要的一件事情。让我们试着去研究人类可解释的机器学习,让每个人都打开机器学习模型的黑箱,并帮助人们增加对模型决策的信任。
写在最后:模型解释性很重要,这能够加深我们对模型的信心,尤其是在金融市场中,当模型持续回撤时,信心比黄金还重要。之前有一个私募团队使用了StockRanker策略,但是迟迟不肯上实盘,后来在弄清楚模型的理论原理和每一步细节、处理流程后,终于有信心上实盘,实盘前期遇到回撤也能明白是正常情况,并非模型预测失效,扛住前期的回撤后策略净值开始上升。因此,机器学习模型可解释很重要,模型也是可以解释的,只是需要研究员付出更多的心血
❹ 目前最流行的机器学习算法是什么
毫无疑问,机器学习在过去几年越来越受欢迎。由于大数据是目前技术行业最热门的趋势,机器学习是非常强大的,可以根据大量数据进行预测或计算推理。
如果你想学习机器算法,要从何下手呢?
监督学习
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相关,但它是一种更强大的技术,能够在这些经典方法完全失败时找到潜在的源因素。其应用包括数字图像、文档数据库、经济指标和心理测量。
❺ 机器学习的常见算法
机器学习算法如下:
机器学习(MachineLearning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
揭开神秘的机器学习算法:
我们越来越多地看到机器学习算法在实用和可实现的目标上的价值,例如针对数据寻找可用的模式然后进行预测的机器学习算法。通常,这些机器学习算法预测模型用于操作流程以优化决策过程,但同时它们也可以提供关键的洞察力和信息来报告战略决策。
机器学习算法的基本前提是算法训练,提供特定的输入数据时预测某一概率区间内的输出值。请记住机器学习算法的技巧是归纳而非推断——与概率相关,并非最终结论。构建这些机器学习算法的过程被称之为机器学习算法预测建模。
一旦掌握了这一机器学习算法模型,有时就可以直接对原始数据机器学习算法进行分析,并在新数据中应用该机器学习算法模型以预测某些重要的信息。模型的输出可以是机器学习算法分类、机器学习算法可能的结果、机器学习算法隐藏的关系、机器学习算法属性或者机器学习算法估计值。
机器学习算法技术通常预测的是绝对值,比如标签、颜色、身份或者质量。比如,某个机器学习算法主题是否属于我们试图保留的用户?用户会付费购买吗?用户会积极响应邀约吗?
如果我们关心的是机器学习算法估算值或者连续值,机器学习算法预测也可以用数字表示。输出类型决定了最佳的学习方法,并会影响我们用于判断模型质量的尺度。