点击上方,选择星标置顶,每天给你送干货

阅读大概需要7分钟

跟随小博主,每天进步一丢丢

Datawhale干货

来自:Datawhale

作者:Sambodhi,海边的拾遗者

导读

机器学习涉及到机器学习算法和模型的使用。对于初学者来说,这很容易让人混淆,因为“机器学习算法”经常与“机器学习模型”交替使用。这两个到底是一样的东西呢,还是不一样的东西?作为开发人员,你对排序算法、搜索算法等“算法”的直觉,将有助于你厘清这个困惑。在本文中,我将阐述机器学习“算法”和“模型”之间的区别。

机器学习中的“算法”是什么?

机器学习中的“算法”是在数据上运行以创建机器学习“模型”的过程。

机器学习算法执行“模式识别”。算法从数据中“学习”,或者对数据集进行“拟合”。

机器学习算法有很多。比如,我们有分类的算法,如 K- 近邻算法;回归的算法,如线性回归;聚类的算法,如 K- 均值算法。

下面是机器学习算法的例子:

  • 线性回归

  • 逻辑回归

  • 决策树

  • 人工神经网络

  • K- 最近邻

  • K- 均值

你可以把机器学习算法想象成计算机科学中的任何其他算法。

例如,你可能熟悉的一些其他类型的算法包括用于数据排序的冒泡排序和用于搜索的最佳优先排序。

因此,机器学习算法具有许多特性:

  • 机器学习计算法可以用数学和伪代码来描述。

  • 可以对机器学习算法的效率进行分析和描述。

  • 机器学习算法可以用任何一种现代编程语言来实现。

例如,你可能会在研究论文和教科书中看到用伪代码或 线性代数 描述的机器学习算法。你可以看到一个特定的机器学习算法与另一个特性算法相比的计算效率。

学术界可以设计出全息你的机器学习算法,而机器学习实践者可以在他们的项目中使用标准的机器学习算法。这就像计算机科学的其他领域一样,学者可以设计出全新的排序算法,程序员可以在应用程序中使用标准的排序算法。

你还可能会看到多个机器学习算法实现,并在一个具有标准 API 的库中提供。一个流行的例子是 scikit-learn 库,它在 Python 中提供了许多分类、回归和聚类机器学习算法的实现。

机器学习中的“模型”是什么?

机器学习中的“模型”是运行在数据上的机器学习算法的输出。

模型表示机器学习算法所学到的内容。

模型是在训练数据上运行机器学习算法后保存的“东西”,它表示用于进行预测所需的规则、数字和任何其他特定于算法的数据结构。

我举一些例子,可能会让人更清楚地明白这一点:

  • 线性回归算法的结果是一个由具有特定值的稀疏向量组成的模型。

  • 决策树算法的结果是一个由具有特定值的 if-then 语句树组成的模型。

  • 神经网络 / 反向传播 / 梯度下降算法一起产生一个由具有特定值的向量或权重矩阵和特定值的图结构组成的模型。

机器学模型对于初学者来说更具挑战性,因为它与计算机科学中的其他算法没有明确的类比。

例如,排序算法的排序列表输出并不是真正的模型。

最好的类比是将机器学习模型想象成一个“程序”。

机器学习模型“程序”由数据和利用数据进行预测的过程组成。

例如,考虑线性回归算法和由此产生的模型。该模型由系数(数据)向量组成,这些系数(数据)与作为输入的一行新数据相乘并求和,以便进行预测(预测过程)。

我们将数据保存为机器学习模型,以备后用。

我们经常使用机器学习库提供的机器学习模型的预测过程。有时候,我们可以自己实现预测过程作为我们应用程序的一部分。考虑到大多数预测过程都非常简单,这通常都是直截了当的。

算法与模型框架

现在我们已经熟悉了机器学习的“算法”和机器学习的“模型”。

具体来说,就是对数据运行算法来创建模型。

  • 机器学习 =>机器学习模型

我们还了解到,模型由数据和如何使用数据对新数据进行预测的过程组成。如果你愿意的话,你也可以将这一过程视为一种预测算法。

  • 机器学习模型 == 模型数据 + 预测算法

这种区分对于理解广泛的算法非常有帮助。

例如,大多数算法的所有工作都在“算法”中,而“预测算法”的工作很少。

通常情况下,算法是某种优化程序,即在训练数据集上使模型(数据 + 预测算法)的误差最小化。线性回归算法就是一个很好的例子。它执行一个优化过程(或用线性代数进行分析求解),找到一组权重,使训练数据集上的误差之和平方最小化。

线性回归

  • 算法:在训练数据集上找到误差最小的系数集。

  • 模型

    • 模型数据:整个训练数据集。

    • 预测算法:找出 K 个最相似的行,取其目标变量的平均值。

有些算法很琐碎,甚至什么都不做,所有的工作都在模型或预测算法中。

K- 最近邻算法除了保存整个训练数据集外没有其他的算法。因此,弄醒数据就是整个训练数据集,所有的工作都在预测算法中,即,一行新数据如何与保存的训练数据集交互以作出预测。

K- 最近邻

  • 算法:保存训练数据。

  • 模型

    • 模型数据:整个训练数据集。

    • 预测过程:找出 K 个最相似的行,取其目标变量的平均值。

你可以把这个分解作为一个框架来理解任何机器学习算法。

机器学习是自动编程

我们真的只是想要一个机器学习的“模型”,而“算法”就是我们获得模型的路径。

机器学习技术用于解决其他方法无法有效或高效解决的问题。

例如,如果我们需要将电子邮件分类为垃圾邮件或非垃圾邮件,我们需要一个软件程序来完成此任务。

我们可以坐下来,手动查看大量的电子邮件,然后写 if 语句来完成合格任务。人们已经试过这个方法。事实证明,这种方法是缓慢的、脆弱的,而且效果也不是很好。

相反,我们可以使用机器学习技术来解决这个问题。具体来说,像 朴素贝叶斯(Naive Bayes)这样的算法就可以从大量的历史邮件样本数据集中学习如何将邮件分类为垃圾邮件和非垃圾邮件。

我们不想要“朴素的贝叶斯”,我们想要朴素贝叶斯给出的模型,就是我们可以用来对邮件进行分类的模型(概率向量和使用概率概率的预测算法)。我们想要的是模型,而不是用来创建模型的算法。

从这个意义上来说,机器学习模型是一个由机器学习算法自动编写、或创建、或学习的程序,用来解决我们的问题。

作为开发人员,我们对人工智能意义上的机器学习算法的“学习”不太感兴趣。我们并不关心模拟学习过程。有些人可能会关心,这很有趣,但这不是我们使用机器学习算法的原因。

相反,我们更看重的是机器学习算法提供的自动编程能力更感兴趣。我们希望能够有效地创建一个有效的模型,并将其融入到我们的软件项目中。

机器学习算法执行自动编程,而机器学习模型是为我们创建的程序。

作者介绍

Jason Brownlee 博士是机器学习专家,他教授开发人员如何通过实践教程使用现代机器学习方法获得结果。

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心


投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

推荐两个专辑给大家:

专辑 | 李宏毅人类语言处理2020笔记

专辑 | NLP论文解读


机器学习中算法与模型的区别相关推荐

  1. 机器学习中的判别式模型和生成式模型

    首发于人工智能 写文章 机器学习中的判别式模型和生成式模型 Microstrong 微信公众号:Microstrong,人工智能算法工程师 已关注 78 人赞同了该文章 目录: 基本概念 用例子说明概 ...

  2. 机器学习中的分类模型整理

    概要 机器学习中的分类模型有逻辑回归.朴素贝叶斯.决策树.支持向量机.随机森林.梯度提升树等分类算法,不仅可以进行二分类,还可以进行多分类. 一.逻辑回归 逻辑回归的本质就由线性回归演变而来,是一个线 ...

  3. 机器学习中如何评价模型的好坏

    机器学习中如何评价模型的好坏 Week 2 主要学习机器学习中的基础知识 Targets for this week: 数据拆分:训练数据集&测试数据集 评价分类结果:精准度.混淆矩阵.精准率 ...

  4. 机器学习中的生成式模型VS判别式模型,分类,特点

    机器学习中的生成式模型VS判别式模型,分类,特点 提示: 本文将从生成式模型与判别式模型的概念, 适用环境 具体模型 三个方面分析比较这两个模型, 并在最后对列出模型范例,进行范例比较. 基础知识: ...

  5. 机器学习中激活函数和模型_探索机器学习中的激活和丢失功能

    机器学习中激活函数和模型 In this post, we're going to discuss the most widely-used activation and loss functions ...

  6. 机器学习中训练的模型,通俗理解

    概率统计(建模.学习) 很多新手在初学机器学习/深度学习中,会产生这样的疑问?为什么要训练模型,模型是什么,如何训练- 本人刚开始接触时也产生过类似地疑问,现在为大家排解这些疑问. 1.机器学习中大概 ...

  7. 一文带你入门机器学习中的树模型(附源码)

    树模型 树模型在机器学习中至关重要,它不仅本身具有较好的性能,也可以用于优化其他的算法. 我们在本节将要介绍优化KNN~KNN~ KNN 算法的树模型以及决策树. 一.KNN~KNN~ KNN 的数据 ...

  8. 机器学习中的数学——学习曲线如何区别欠拟合与过拟合

    通过这篇博客,你将清晰的明白什么是如何区别欠拟合与过拟合.这个专栏名为白话机器学习中数学学习笔记,主要是用来分享一下我在 机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私 ...

  9. 机器学习中的生成模型与判别模型

    1.概述 在机器学习中,对于有监督学习,它的任务就是要学习一个模型,应用这个模型,对给定的输入预测相应的输出.监督学习方法可以分为生成方法(generative approach)和判别方法(disc ...

最新文章

  1. 搭建Harbor 2.x仓库 - docker私仓搭建
  2. redux常见问题答疑
  3. 瑞星08试用版到期了,下面装个什么杀毒软件比较好呢?
  4. CSDN 文章标题含非法字符
  5. hashlib 加密
  6. 使用自己的数据集训练GoogLenet InceptionNet V1 V2 V3模型(TensorFlow)
  7. app开发人脸登录和指纹登录_易讯云通讯推出“一键登录”,为App登录提供新方案...
  8. 一个树杈y图片_鬼脸纹:黄花梨树上一个树杈,反映到主干上时,会形成一个疖痕...
  9. python __file__怎么实现_python怎么实现文件上传界面
  10. 爬虫实战——QQ空间自动点赞!这个脚本值三千五你信吗?
  11. 二维数组传参,用int指针接收
  12. 房产证和不动产权证有什么区别?
  13. 发布功能完成02《ivx低代码签到系统制作》
  14. FFMPEG的像素格式
  15. 地图导航APP开发功能
  16. EXE文件结构及原理
  17. 【SQLite预习课2】SQLite 和 HeidiSQL 的安装
  18. VirtualNES虚拟红白机
  19. 浪漫行星,不浪漫你打我
  20. 分享 :几个超级实用的excel小技巧

热门文章

  1. Java爬虫,爬取竞彩网数据并按指定格式输出到excel表格中
  2. java入门第一周总结
  3. python数据分析的一般步骤_50. Python 数据处理(1)
  4. SwitchHosts 模拟本地域名解析访问
  5. 【淘宝开店教程】淘宝直通车常见问题讲解
  6. ArcGIS全流程从无到有制作一张全国人口专题图(以七普数据为例)
  7. 申报高新技术企业认定哪些地方需要注意?
  8. Armadillo安装
  9. 网易云音视频多人通话webRTC的实现(接)。
  10. 笔记本连接html后分成两个屏,笔记本电脑关掉自带显示屏,外接两个显示器做分屏的实现方法。...