机器学习新手必须掌握的十大算法指南
在机器学习中有一种“无免费午餐(NFL)”的定理。简而言之,它指出没有任何一个算法可以适用于每个问题,尤其是与监督学习相关的。
因此,你应该尝试多种不同的算法来解决问题,同时还要使用“测试集”对不同算法进行评估,并选出最优者。
大原则
然而,这些都有一个共同的原则,那就是所有监督机器学习算法都是预测建模的基础。
机器学习算法包括目标函数(f),输入映射变量(X),生成输出变量(y):Y=f(X)。这是一个通用的学习任务,希望在给出新案例的输入变量(X)能预测出(Y)。
最常见的机器学习方式是Y= f(X)的映射来预测新的X,这被称为预测建模或预测分析。
对于渴望了解机器学习基础的机器学习新手来说这非常难,那么下面来为大家介绍数据科学家最常使用的10种机器学习算法。
1——线性回归
线性回归是统计学和机器学习中最著名和最容易理解的算法之一。
预测建模主要关注如何最小化模型的错误或如何做出最准确的预测,而相应的代价是解释能力的欠缺。我们将从许多不同的领域借用、重用甚至窃取算法和统计数据,来实现这个目标。
线性回归是一个方程,通过找到拥有特定权重的被称为字母系数(B)的输入变量,来描绘出最适合输入变量X和输出变量Y关系的一条线。
线性回归
可以使用不同的技术从数据中学习线性回归模型,例如用于普通最小二乘和梯度下降优化的线性代数解。
线性回归已经存在了200多年,使用这种技术的一些经验是:尽可能的去除相似变量,并从数据中去除噪声。
2——逻辑回归
逻辑回归是机器学习从统计学领域借鉴的另一种技术。它是解决二进制分类问题的首选方法。
逻辑回归与线性回归的相似点在于,两者目标都是找出每个输入变量加权的系数值。不同于线性回归的是,输出的预测需要用非线性函数的逻辑函数进行变换的。
逻辑函数看起来像一个大S,并将任何值转换成0到1的范围内。这是有用的,因为我们可以将逻辑函数的输出规范成0和1(例如,如果小于0.5,则输出1),并预测类别值。
逻辑回归
由于模型的学习方式,逻辑回归的预测也可以用来求给定数据实例的概率,属于第0类或第1类。当需要对预测结果做出合理解释时这非常有用。
与线性回归一样,当你删除与输出变量无关的属性和非常相似(相关)的属性时,逻辑回归的效果会更好。对于二元分类问题,这是一个快速且有效的模型。
3——线性判别分析
逻辑回归算法是传统的分类算法,如果你有两个以上的类,那么线性判别分析算法是首选的线性分类技术。LDA的表达式非常直接,由数据统计值组成,为每个类别分别计算。对单个输入变量来说包括:
1、ã 每个类的平均值。
2、ã 所有类的计算方差。
线性判别分析
线性判别分析计算每个类别的差别值,并对具有最大差别值的类别进行预测。该技术假定数据的分布遵循高斯分布(钟形曲线),因此在开始分析之前,需要移除数据中的异常值。对于分类预测建模问题来说,这是有效的方法。
4——分类和回归树
决策树是机器学习预测建模的重要算法。
决策树模型为二叉树形式,就是像算法和数据结构中的二叉树。每个节点表示一个单独的输入变量(x)和该变量上分裂点(假设变量为数值)。
决策树
树的叶节点包含用于预测的输出变量(y),预测从树干开始遍历,直到到达叶节点并输出叶节点的值。树的学习速度和预测速度都非常快,并且不需要对数据进行任何的准备。
5——朴素贝叶斯
朴素贝叶斯是一种简单但功能强大的预测建模算法。
该模型由两种类型的概率组成,这两种概率可以从训练数据中直接计算:1)每个类别的概率,2)给定每个x值的每个类别的条件概率。计算出来后,就可以用贝叶斯定理对新数据进行预测。当你的数据是实值时,通常采用高斯分布(钟形曲线),这样你就可以很容易的估计出这些概率。
贝叶斯定理
朴素贝叶斯之所以被称为朴素,是因为它假定每个输入的变量都是独立的。
6——K-近邻算法
KNN算法是非常简单有效的,因为KNN的模型是整个训练数据集表示的。
通过在整个数据集中搜索K个最相似的样本,并将这些输出变量进行汇总来预测新的数据点。对于回归问题,这可能是平均输出变量,对于分类问题,这可能是模式(或最常见的)类值。
关键在于如何确定数据实例之间的相似性。如果你的属性都是相同的比例(例如都以英寸为单位),最简单的就是使用Euclidean距离,你可以根据每个输入变量之间的差异直接计算出一个数字。
K-近邻算法
KNN需要大量的内存或空间来存储所有的数据,但是只有在需要预测时才会执行计算(或学习)。你也可以随时更新和管理你的训练实例,以保持预测的准确性。
当有大量的输入变量时距离或紧密性可能会奔溃,导致算法性能下降,所以建议只是用那些与预测变量最相关的输入变量。
7——学习向量量化
K-近邻算法的缺点之一是你需要利用整个数据集进行训练,而学习向量量化算法(LVQ)是一种人工神经网络算法,可以让你选择训练实例的个数,并精确地学习这些实例应该是什么样的。
L-
学习向量量化
LVQ的表示是一个码本向量的集合。这些都是在开始时随机选取,并根据学习算法的多次迭代对数据集进行总结。在学习之后,这些向量表可以用来做类似K-紧邻算法一样的预测。计算每个码本向量和新数据实例之间的距离,找到最相似的邻居(最佳匹配的码本向量)。然后将最佳匹配单元的类值或(回归的实际值)作为预测返回。
8——支持向量机
支持向量机可能是最受欢迎的机器学习算法之一。
超平面是一个分割输入变量空间的线。在SVM中,可以选择一个超平面来将输入变量空间中的点与它们的类(0类或1类)分开。在二维中,你可以将其想象成一条线,假设输入的所有点都可以被这条线完全隔开。SVM学习算法可以找到能够被超平面完美分割类别的系数。
支持向量机
超平面和最近数据点之间的距离被称为间隔,能够区分这两个类的最好或最优的超平面是有最大间隔的直线。这些与定义超平面和分类器构造有关的点成为支持向量。在实践中,可以使用优化算法来找到最大化间隔的系数的值。
SVM可能是最强大的分类器之一,值得在你的数据集上尝试。
9——Bagging和随机森林
随机森林是最受欢迎和最强大的机器学习算法之一。它是一种集成机器学习算法,称为Bootstrap聚合或bagging。
Bootstrap是一种强大的统计方
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/geek/post/%E4%BA%92%E8%81%94%E7%BD%91/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E6%96%B0%E6%89%8B%E5%BF%85%E9%A1%BB%E6%8E%8C%E6%8F%A1%E7%9A%84%E5%8D%81%E5%A4%A7%E7%AE%97%E6%B3%95%E6%8C%87%E5%8D%97/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com