在机器学习领域,“没有免费的午餐”是一个不变的定理。简而言之,没有一种算法是完美的,可以作为任何问题的最佳解决方案。认清这一点,对于解决监督学习问题(如预测建模问题)尤其重要。我们不能总说神经网络就是比决策树好,反之亦然。影响算法性能的因素有很多,比如数据集的大小和结构。因此,对于自己的问题,要尝试多种不同的算法,并使用测试数据集来评估各个算法的性能,以选出效果最优的那一个。

对于渴望理解机器学习基本概念的各位新手,我们特地整理出数据科学家最常用的十大机器学习算法,便于大家快速上手。

▌ 1- 线性回归

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

预测建模主要关注的是如何最小化模型的误差,或是如何在一个可解释性代价的基础上做出最为准确的预测。我们将借用、重用和窃取包括统计学在内的多个不同领域的算法,并将其用于这些目的。

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

线性回归

例如:y = B0 + B1 * x

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

找出数据的线性回归模型有多种不同的技巧,例如将线性代数解用于普通最小二乘法和梯度下降优化问题。

线性回归业已存在200多年,并已被广泛研究过。使用该算法的一些窍门,是尽可能地去除非常相似的相关变量以及数据中的噪声。这是一个快速、简单而又好用的算法。

▌ 2 - 逻辑回归

逻辑回归是机器学习借自统计领域的另一项技术,用于解决二元分类问题(有两个类值的问题)。

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

逻辑回归的函数图像看起来是一个大的S形,并将任何值转换至0到1的区间。这种形式非常有用,因为我们可以用一个规则把逻辑函数的值转化成0和1(例如,如果函数值小于0.5,则输出1),从而预测类别。

逻辑回归

基于模型学习的方式,逻辑回归的输出值也可以用来预测给定数据实例属于类别0和类别1的概率。当你的预测需要更多依据时,这一点会非常有用。

跟线性回归一样,当你剔除与输出变量无关或与之除非常相似(相关)的属性后,逻辑回归的效果会更好。对于二元分类问题,它是一个易于上手、快速而又有效的模型。

▌ 3 - 线性判别分析

一般来说,逻辑回归仅限于二元分类问题。 但如果分类类别超过两个,线性判别分析就成为你首选的线性分类算法。

线性判别分析的表达式非常简单。 它由数据的统计属性组成,并计算每个类别的属性值。对于单个输入变量,它包括:

每个类别的平均值。

所有类别的方差。

线性判别分析

线性判别分析通过计算每个类别的差别值,并对拥有最大值的类别进行预测。 该方法假定数据服从高斯分布(钟形曲线),因此预测前从数据中移除异常值会是一个很好的习惯。对于分类预测问题来说,它是一个简单而又强大的方法。

▌ 4 - 分类和回归树

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

决策树模型的表现形式为二叉树,也就是来自算法和数据结构方面的二叉树,没有什么特别。树上每个节点代表一个输入变量(x)与一个基于该变量的分离点(假定这个变量是数字)。

决策树

叶节点包含了用于预测的输出变量(y)。预测是通过遍历树的分离点开始,直到抵达每一个叶节点,并输出该叶节点的分类值。

决策树算法学习起来很快,预测速度也很快。决策树对于各种各样的问题都能做出准确的预测,并且无需对数据做任何特殊的预处理。

▌ 5 - 朴素贝叶斯

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

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

朴素贝叶斯

朴素贝叶斯假定每个输入变量都是独立,所以被称为“朴素的”。这是一个强假设,对真实数据而言有点不切实际,但该方法在大范围的复杂问题上非常有效。

▌ 6 - K-最近邻算法

K-最近邻算法是一种非常简单和有效。它的模型所表示是整个训练数据集,看上去很简单,对吧?

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

使用K-最近邻算法的诀窍,是在于如何确定数据实例之间的相似性。最简单的方法,如果你的属性在欧几里德距离上尺度相同(例如均以英寸为单位),那么基于每个输入变量之间的差异,你就可以直接计算其数值来确定相似性。

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

距离或紧密度的概念在非常高的维度(大量的输入变量)中可能会失效,因为输入变量的数量对于算法性能有着很大的负面影响。这就是维度灾难。这就要求你只使用那些与预测输出变量最相关的输入变量。

▌ 7 - 学习向量量化

K-最近邻算法的一个缺点是你需要使用整个训练数据集。而作为人工神经网络,学习向量量化算法(简称LVQ)允许你选择训练实例的数量,并能准确地学习这些实例所应有的特征。

学习向量量化

学习向量量化算法所表示的是码本向量的集合。这些向量在初始化的时候随机选择出来,并在学习算法的多次迭代中优化成最能概括训练数据集的集合。在学习完成后,码本向量可以像K-最近邻算法一样进行预测。通过计算每个码本向量和新数据实例之间的距离来找到最相似的邻居(最佳匹配码本向量),然后返回最佳匹配单元的类别值或(在回归情况下的实际值)作为预测。如果能重新调整数据使其处于相同的区间(如0到1之间),则可以获得最佳的预测结果。

如果K-最近邻算法在你的数据集上已经给出了很好的预测结果,那么可以尝试用学习向量量化算法来减少整个训练数据集的内存存储需求。

▌ 8 - 支持向量机

支持向量机可能是最受欢迎、讨论最为广泛的机器学习算法之一。

超平面是输入变量空间内的一条分割线。在支持向量机中,超平面可以通过类别(0类或1类)最佳分割输入变量空间。在二维空间内,超平面可被视为一条线,我们假设所有的输入点都可以被该线完全分开。支持向量机的目标是找到一个分离系数,让一个超平面能够对不同类别的数据进行最佳分割。

支持向量机

超平面与最近的数据点之间的距离被称为边距。在分离两个类上具有最大边距的超平面被称为最佳超平面。超平面的确定只跟这些点及分类器的构造有关。这些点被称为支持向量,它们支持并定义超平面。在实践中,可以使用优化算法来找到能够最大化边距的系数。

支持向量机可能是最为强大的“开箱即用”分类器之一,值得你尝试。

▌ 最后的建议

初学者常常会被眼花缭乱的机器学习算法所困扰,提出“我该使用哪种算法?”这样的问题。

此问题的答案取决于许多因素,包括:

(1)数据的大小、质量和性质;
(2)可用的计算时间;
(3)任务的紧迫性;
(4)你想要用数据来做什么。

即使是一位经验丰富的数据科学家,在尝试不同的算法之前,也无法回答哪种算法的性能会是最好的。机器学习的算法还有很多,但以上这些是最受欢迎的算法。如果你刚入门机器学习,这将是一个很好的学习起点。

干货丨入门机器学习,从搞懂这8大经典算法开始相关推荐

  1. 上手机器学习,从搞懂这十大经典算法开始

    上手机器学习,从搞懂这十大经典算法开始 翻译 | AI科技大本营(rgznai100) 参与 | 林椿眄 编辑 | 波波,Donna 在机器学习领域,"没有免费的午餐"是一个不变的 ...

  2. 干货 | 上手机器学习,从搞懂这十大经典算法开始

    翻译 | AI科技大本营(rgznai100) 参与 | 林椿眄 编辑 | 波波,Donna 在机器学习领域,"没有免费的午餐"是一个不变的定理.简而言之,没有一种算法是完美的,可 ...

  3. 机器学习与数据挖掘中的十大经典算法

    转载https://www.cnblogs.com/liulunyang/p/3868808.html 参考可见 https://blog.csdn.net/fuqiuai/article/detai ...

  4. python 类-Python入门--一篇搞懂什么是类

    原标题:Python入门--一篇搞懂什么是类 写一篇Python类的入门文章,在高级编程语言中,明白类的概念和懂得如何运用是必不可少的.文章有点长,3000多字. Python是面向对象的高级编程语言 ...

  5. 区块链入门-带你搞懂区块链-熊丽兵-专题视频课程

    区块链入门-带你搞懂区块链-221人已学习 课程介绍         区块链已火遍全球,很多人都想要能够清晰的了解什么是区块链以及区块链的价值在哪里,本课程将从入门开始,为你讲解区块链技术核心概念与原 ...

  6. java--JUC快速入门(彻底搞懂JUC)

    java–JUC快速入门(彻底搞懂JUC) 文章目录 java--JUC快速入门(彻底搞懂JUC) 1.学习多线程之前需要知道的一些概念. 2.JUC的结构 3.Lock锁(重点) 4.集合类不安全 ...

  7. 【深度学习计算机指令系统,彻底搞懂指令十大寻址方式】

    系列文章目录 1.<带你深挖计算机底层逻辑,打通你计算机基础知识的任督二脉> 2.<深度学习计算机底层原理,深度剖析存储器> 3.<基于内存全面理解高速缓冲存储器> ...

  8. pagerank数据集_机器学习十大经典算法-PageRank(附实践代码)

    Yo, yo, check it out. 保证看完不晕倒... 如果公式让你脑瓜疼,请忽略公式,或者忽略脑瓜. Kagging咖金:推荐系统之关联规则(附实践代码)​zhuanlan.zhihu.c ...

  9. 机器学习十大经典算法:深入浅出聊贝叶斯决策(贝叶斯公式,最小风险贝叶斯,最小错误贝叶斯)

    前言    常听人说,在学习一个东西时,如果能够深入浅出的讲给别人听,才算是真的懂了.最近正好在学模式识别,于是就用它来练笔了.贝叶斯决策(Bayes Decision) 是十大经典机器学习算法之一, ...

最新文章

  1. 使用OUYA第一次启动OUYA
  2. 定义一个圆类java用echo_正则表达式中圆括号的作用
  3. 关于卡特兰数及典型例题
  4. mysql的库和表相关操作
  5. C#中实现简单的预警提示功能(语音提示与弹窗提示)
  6. 集成学习(ensemble learning)(二)
  7. 这几个 IntelliJ IDEA 高级调试技巧,用了都说爽!
  8. 云主机tracert外网无返回需在安全组入方向加ICMP Time Exceeded TTLexpired in transit
  9. hdu4956 Poor Hanamichi
  10. Linux lua 性能,systemTab动态分析linux下lua性能
  11. 机票预定系统类图_出行干货|在法国,廉价机票攻略
  12. sizeof运算符介绍以及常见的坑
  13. 【Matlab学习笔记】matlab的编程规则
  14. kettle安装,启动spoon之后一闪就没了问题
  15. iOS Extension调试 无法在Xcode上进行调试
  16. 我所理解的CPU中断
  17. 【STM32学习】(22)STM32实现360度旋转编码器
  18. 第一章概述-------第一节--1.5 计算机网络的类别
  19. Esp8266(NodeMCU)物联网芯片的基本简介
  20. 编码器脉冲计数器/2路DI高速计数器Modbus RTU模块

热门文章

  1. ResNets王者回归、「极飞科技」刷新中国农业AI领域最大融资纪录 | AI日报
  2. 中国量子计算原型机 九章 问世 | AI日报
  3. 深入理解神经网络之逻辑回归
  4. 什么是二进制数 为什么用二进制数表示计算机信息?
  5. Jolt大奖作品、重磅星级图书尽在十月
  6. 李飞飞入选美国国家医学科学院,她用AI改变了医疗
  7. 告别深度学习炼丹术!谷歌大脑提出“权重无关”神经网络
  8. 人脸照片秒变艺术肖像画:清华大学提出APDrawingGAN CVPR 2019 oral paper
  9. TaggerX——AI数据标注引入乡村振兴工作站解决农村地区青年就业问题【数据故事计划一等奖】...
  10. 因为站在船头,所以难以沉默——专访数据院执行副院长韩亦舜【第一届数据故事计划】...