设为首页 - 加入收藏 大理站长网 (http://www.0872zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 2015 进军 开源 专访
当前位置: 首页 > 亚博娱乐入口 > 动态 > 正文

快上车!机器学习新手十大算法之旅启程

发布时间:2018-06-01 04:44 所属栏目:[动态] 来源:李佳惠
导读:【资讯】在机器学习中,有一种叫做“没有免费的午餐”的定理。简而言之,它指出没有任何一种算法能够适用每一个问题,而且它对于监督式学习(即预测性建模)尤其重要。 例如,你不能说神经网络总是比决策树好,反之亦然。有很多因素在起作用,比如数据集的

  【资讯】在机器学习中,有一种叫做“没有免费的午餐”的定理。简而言之,它指出没有任何一种算法能够适用每一个问题,而且它对于监督式学习(即预测性建模)尤其重要。

  机器学习新手十大算法之旅!

  例如,你不能说神经网络总是比决策树好,反之亦然。有很多因素在起作用,比如数据集的大小和结构。

  因此,你应该为你的问题尝试许多不同的算法,同时使用数据的“测试集”来评估性能并选择胜出者。

  当然,你尝试的算法必须适合你的问题,这就是选择正确的机器学习任务的地方。打一个比方,如果你需要清理你的房子,你可以使用真空吸尘器、扫帚或拖把,但是你不会用一个铲子来挖掘。

  大的原则

  然而,有一个共同的原则,即所有监督机器学习算法预测建模的基础。

  机器学习算法被描述为学习一个目标函数,将输入变量(X)最佳映射到输出变量(Y)的目标函数(f):Y = f(X)

  这是一个通用的学习任务,我们希望在未来(Y)给出预测输入变量(X)的新例子。我们不知道函数(f)是什么样子或是它的形式。如果这样做,我们会直接使用它,不需要使用机器学习算法从数据中学习它。

  最常见的机器学习类型是学习映射Y = f(X)来预测新的X。这被称为预测建模或预测分析,我们的目标是使最准确的预测成为可能。

  对于渴望了解机器学习基础知识的机器学习新手,请浏览数据科学家使用的前10位的机器学习算法。

  1 - 线性回归

  线性回归可能是统计学和机器学习中最知名和最易理解的算法之一。

  预测建模主要关注最小化模型的误差或者以可解释性为代价来做出最准确的预测。我们将借用、重用和窃取包括统计数据在内的许多不同领域的算法,并将其用于这些目的。

  线性回归的表示是一个方程,通过找到称为系数(B)的输入变量的特定权重来描述最适合输入变量(x)和输出变量(y)之间关系的线。

  机器学习新手十大算法之旅!

  例如:y = B0 + B1 * x

  给定输入x,我们将预测y,线性回归学习算法的目标是找到系数B0和B1的值。

  可以使用不同的技术从数据中学习线性回归模型,例如用于普通最小二乘和梯度下降优化的线性代数解。

  线性回归已经存在了200多年,并且已经被广泛研究。如果可能的话,使用这种技术的一些经验法则是去除非常相似的变量(相关),并从数据中去除噪声。这是一个快速和简单的技术,也是一个好的算法。

  2 - Logistic回归

  逻辑回归是机器学习从统计领域借鉴的另一种技术。这是二进制分类问题的首选方法(有两个类值的问题)。

  逻辑回归就像线性回归,因为目标是找出加权每个输入变量的系数值。与线性回归不同,输出的预测使用称为逻辑函数的非线性函数进行变换。

  逻辑函数看起来像一个大S,并将任何值转换为0到1的范围。这是有用的,因为我们可以将规则应用到逻辑函数的输出,将值捕设为0和1(例如,IF小于0.5,则输出1)并预测一个类别值。

快上车!机器学习新手十大算法之旅启程

  由于模型的学习方式,逻辑回归的预测也可以作为一个给定数据实例的概率,属于第0类或第1类。这对于需要为预测提供更多理由的问题很有用。

  像线性回归一样,逻辑回归在删除与输出变量无关的属性以及非常相似(相关)的属性时效果更好。对于二元分类问题,这是一个快速学习和且有效的二元分类问题的模型。

  3 - 线性判别分析

  Logistic回归是传统上仅限于两类分类问题的分类算法。如果你有两个以上的类,那么,线性判别分析算法是首选的线性分类技术。

  LDA的表示非常简单。它由你的数据统计属性组成,为每个类别计算。对于单个输入变量,这包括:

  ·在所有类中计算的方差

  ·线性判别分析

  机器学习新手十大算法之旅!

  预测是通过计算每个类别的识别值并对具有最大值的类别进行预测来进行的。该技术假定数据具有高斯分布(钟形曲线),因此在手之前从数据中移除异常值是个好主意。这是一个简单而强大的分类预测建模问题的方法。

  4 - 分类和回归树

  决策树是机器学习预测建模的重要算法。

  决策树模型的表示是二叉树,来自算法和数据结构,没什么特别的。每个节点代表一个单独的输入变量(x)和该变量上的一个拆分点(假定变量是数值)。

  机器学习新手十大算法之旅!

  树的叶节点包含用于进行预测的输出变量(y)。预测是通过遍历树的分裂进行的,直到到达叶节点并输出该叶节点的类值。

  树的学习速度快,预测速度快。对于广泛的问题,它们也经常是准确的,不需要为你的数据做任何特别准备。

  5 - 朴素贝叶斯

  朴素贝叶斯是一个简单但又强大的预测建模算法。

  该模型由两种概率组成,可以从你的训练数据中直接计算:1)每个类别的概率;和2)给定每个x值的每个类别的条件概率。一旦计算出来,就可以使用概率模型来使用贝叶斯定理对新数据进行预测。当你的数据是实值时,通常假定一个高斯分布(钟形曲线),这样你可以很容易地估计这些概率。

  机器学习新手十大算法之旅!

  朴素贝叶斯假定每个输入变量是独立的,这是一个强大的假设,对于真实的数据是不切实际的,但是,这种技术在大范围的复杂问题上是非常有效的。

  6-K-近邻算法

  KNN算法非常简单而且非常有效。 KNN的模型表示是整个训练数据集,比较简单。

  通过搜索K个最相似的实例(邻居)的整个训练集并且汇总这些K个实例的输出变量来预测新的数据点。对于回归问题,这可能是平均输出变量,对于分类问题,这可能是模式(或最常见的)类值。

  诀窍在于如何确定数据实例之间的相似性。最简单的方法就是就是使用Euclidean距离,你可以根据每个输入变量之间的差异直接计算一个数字。

  机器学习新手十大算法之旅!

  KNN可能需要大量的内存或空间来存储所有的数据,但是只有在需要预测时才会执行计算(或学习)。你也可以随时更新和管理你的训练实例,以保持预测的准确性。

  距离或贴近度的概念可能在非常高的维度(大量的输入变量)中分解,这会对算法在你的问题上的性能产生负面影响。它建议你只使用那些与预测输出变量最相关的输入变量。

  7 - 学习矢量量化

  KNN的一个缺点是你需要坚持你的整个训练数据集,学习矢量量化算法(简称LVQ)是一种人工神经网络算法,可以让你选择多少个训练实例,并精确地学习这些实例应该是什么样的。

  机器学习新手十大算法之旅!

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章