0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习算法基础与流程

倩倩 来源:人人都是产品经理 2020-04-15 17:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、什么是机器学习

1. 含义

机器学习machine learning,是人工智能的分支,专门研究计算机怎样模拟或实现人类的学习行为,其通过各种算法训练模型,并用这些模型对新问题进行识别与预测。

本质上机器学习是一种从数据或以往的经验中提取模式,并以此优化计算机程序的性能标准。

2. 解决什么问题

解决复杂规则的问题。如果简单规则可以实现,则没必要借助机器学习算法实现。

2009年ACM世界冠军戴文渊加入百度的时候,百度所有的搜索、广告都是基于1万条的专家规则。借助于机器算法,戴文渊把百度广告的规则从1万条提升到了1000亿条。与此相对应的,百度的收入在四年内提升了八倍。

3. 三个名词之间的关系

人工智能》机器学习》深度学习

以机器学习算法是否应用了神经网络作为区分标准,应用了多隐含层神经网络的机器学习就是深度学习。

4. 对AI产品经理的要求

熟悉机器学习流程(详见文章第三部分);

了解机器学习可以解决的问题分类(详见文章第四部分);

了解算法的基本原理;

了解工程实践中算数据和计算资源三者间的依赖关系等。

二、机器学习的基础

1. 机器学习的基础——数据

人工智能产品由数据、算法、计算能力三部分组成,而数据,是其中的基础。

全球顶尖人工智能科学家李飞飞的成功离不开ImageNet千万级的数据集。

“ImageNet 让 AI 领域发生的一个重大变化是,人们突然意识到构建数据集这个苦活累活是 AI 研究的核心,”李飞飞说: “人们真的明白了,数据集跟算法一样,对研究都至关重要。”“如果你只看 5 张猫的照片,那么你只知道这 5 个摄像机角度、照明条件和最多 5 种不同种类的猫。但是,如果你看过 500 张猫的照片,你就能从更多的例子中发现共同点。”

数据量多大为好?

千级别:基本要求,可以解决简单手写体数字识别问题,例如MNIST;

万级别:一般要求,可以解决图片分类问题,例如cifar-100;

千万级:比较好,例如ImageNet,准确率2%左右,超过了人类5.1%。

2. 数据的衡量

人工智能产品对数据除了有量的要求,还有质的要求,衡量数据质量的标准包括四个R:关联度relevancy(首要因素)、可信性reliability(关键因素)、范围range、时效性recency。

数据获取地址:

ICPSR:www.icpsr.umich.edu

美国政府开放数据:www.data.gov

加州大学欧文分校:archive.ics.uci.edu/ml

数据堂:www.datatang.com

三、机器学习的流程

机器学习的流程可以划分为以下几个主要步骤:目标定义、数据收集、数据预处理、模型训练、准确率测试、调参、模型输出。

机器学习流程拆解

1. 目标定义

确认机器学习要解决的问题本质以及衡量的标准。

机器学习的目标可以被分为:分类、回归、聚类、异常检测等。

2. 数据采集

原始数据作为机器学习过程中的输入来源是从各种渠道中被采集而来的。

3. 数据预处理

普通数据挖掘中的预处理包括数据清洗、数据集成、数据转换、数据削减、数据离散化。

深度学习数据预处理包含数据归一化(包含样本尺度归一化、逐样本的均值相减、标准化)和数据白化。需要将数据分为三种数据集,包括用来训练模型的训练集(training set),开发过程中用于调参(parameter tuning)的验证集(validation set)以及测试时所使用的测试集(test set)。

数据标注的质量对于算法的成功率至关重要。

4. 模型训练

模型训练流程:每当有数据输入,模型都会输出预测结果,而预测结果会用来调整和更新W和B的集合,接着训练新的数据,直到训练出可以预测出接近真实结果的模型。

5. 准确率测试

用第三步数据预处理中准备好的测试集对模型进行测试。

6. 调参

参数可以分为两类,一类是需要在训练(学习)之前手动设置的参数,即超参数(hypeparameter),另外一类是通常不需要手动设置、在训练过程中可以被自动调整的参数(parameter)。

调参通常需要依赖经验和灵感来探寻其最优值,本质上更接近艺术而非科学,是考察算法工程师能力高低的重点环节。

7. 模型输出

模型最终输出应用于实际应用场景的接口或数据集。

四、算法分类

机器学习囊括了多种算法,通常按照模型训练方式和解决任务的不同进行分类。

1. 按照模型训练方式不同,可以分为

(1)监督学习supervised learning

定义:监督学习指系统通过对带有标记信息的训练样本进行学习,以尽可能准确地预测未知样本的标记信息。

常见的监督学习类算法包括:人工神经网络artificial neural network、贝叶斯bayesian、决策树decision tree、线性分类器linear classifier(svm支持向量机)等。

(2)无监督学习unsupervised learning

定义:无监督学习指系统对没有标记信息的训练样本进行学习,以发现数据中隐藏的结构性知识。

常见的无监督学习类算法包括:人工神经网络artificial neural network、关联规则学习association rule learning、分层聚类hierarchical clustering、聚类分析cluster analysis、异常检测anomaly detection等。

(3)半监督学习semi-supervised learning

含义:半监督学习指系统在学习时不仅有带有标记信息的训练样本,还有部分标记未知信息的训练样本。

常见的半监督学习算法包括:生成模型generative models、低密度分离low-density separation、基于图形的方法graph-based methods、联合训练co-training等。

(4)强化学习reinforcement learning

定义:强化学习指系统从不标记信息,但是会在具有某种反馈信号(即瞬间奖赏)的样本中进行学习,以学到一种从状态到动作的映射来最大化累积奖赏,这里的瞬时奖赏可以看成对系统的某个状态下执行某个动作的评价。

常见的强化学习算法包括:Q学习Q-learning、状态-行动-奖励-状态-行动state-action-reward-state-action,SARSA、DQN deep Q network、策略梯度算法policy gradients、基于模型强化学习model based RL、时序差分学习temporal different learning等。

(5)迁移学习transfer learning

定义:迁移学习指通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。

迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

常见的迁移学习算法包括:归纳式迁移学习inductive transfer learning、直推式迁移学习transductive transfer learning、无监督式迁移学习unsupervised transfer learning、传递式迁移学习transitive transfer learning等。

(6)深度学习deep learning

定义:深度学习是指多层的人工神经网络和训练它的方法。一层神经网络会把大量矩阵数字作为输入,通过非线性激活方法取权重,再产生另一个数据集合作为输出。

这就像生物神经大脑的工作机理一样,通过合适的矩阵数量,多层组织链接一起,形成神经网络“大脑”进行精准复杂的处理,就像人们识别物体标注图片一样。

常见的深度学习算法包括:深度信念网络deep belief machines、深度卷积神经网络deep convolutional neural networks、深度递归神经网络deep recurrent neural networks、深度波尔兹曼机deep boltzmann machine,DBM、栈式自动编码器stacked autoencoder、生成对抗网络generative adversarial networks等。

迁移学习与半监督学习的区别:迁移学习的初步模型是完整的,半监督学习的已标注部分无法形成完整的模型。

2. 按照解决任务的不同分类,可以分为

(1)二分类算法two-class classification,解决非黑即白的问题。

(2)多分类算法muti-class classification,解决不是非黑即白的多种分类问题。

(3)回归算法regression,回归问题通常被用来预测具体的数值而非分类。除了返回的结果不同,其他方法与分类问题类似。我们将定量输出,或者连续变量预测称为回归;将定性输出,或者离散变量预测称为分类。

(4)聚类算法clustering,聚类的目标是发现数据的潜在规律和结构。聚类通常被用做描述和衡量不同数据源间的相似性,并把数据源分类到不同的簇中。

(5)异常检测anomaly detection,异常检测是指对数据中存在的不正常或非典型的分体进行检测和标志,有时也称为偏差检测。异常检测看起来和监督学习问题非常相似,都是分类问题。都是对样本的标签进行预测和判断,但是实际上两者的区别非常大,因为异常检测中的正样本(异常点)非常小。

3. 对AI产品经理的要求

产品经理应了解和掌握每种常见算法的基本逻辑、最佳使用场景以及每种算法对数据的需求。

这样有助于:

建立必要的知识体系以与研发人员进行良好的交流;

在团队需要的时候提供必要的帮助;

识别和评估产品迭代过程中的风险、成本、预期效果等。

五、各类算法的对比

1. 算法与学习过程的对比

监督学习——上课:有求知欲的学生从老师那里获取知识、信息,老师提供对错指示、告知最终答案的学习过程;

无监督学习——自习:没有老师的情况下,学生自习的过程;

强化学习下——自测:没有老师提示的情况下,自己对预测的结果进行评估的方法。

2. 算法适用场景的影响因素

业务核心问题;

数据大小、质量;

计算时间要求;

算法精度要求。

3. 算法优缺点及适用场景

注意:

(1)目前监督学习和强化学习是目前应用范围最广且效果最好的机器学习方式。

(2)深度学习将在后续的文章中单独介绍。

(3)半监督学习依赖以下3个模型假设才能确保它良好的学习性能。

1)平滑假设(Smoothness Assumption)

位于稠密数据区域的两个距离很近的样例的类标签相似,当两个样例北稀疏区域分开时,它们的类标签趋于不同。

2)聚类假设(Cluster Assumption)

当两个样例位于同一聚类簇时,它们在很大的概率在有相同的类标签。这个假设的等价定义为低密度分类假设(Low Density Separation Assumption),即分类决策边界应该穿过稀疏数据区域,而避免将稠密数据区域的样例划分到决策边界两侧。

3)流形假设(Manifold Assumption)

将高维数据嵌入到低维流形中,当两个样例位于低维流形中的一个小局部邻域内时,它们具有相似的类标签。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1819

    文章

    50290

    浏览量

    266828
  • 机器学习
    +关注

    关注

    67

    文章

    8561

    浏览量

    137208
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    算法工程师需要具备哪些技能?

    算法工程师需要掌握一系列跨学科的技能,涵盖数学基础、编程能力、算法理论、工程实践以及业务理解等多个方面。 以下是具体技能及学习建议: 线性代数核心内容:矩阵运算、特征值分解、向量空间等。应用场
    发表于 02-27 10:53

    机器学习特征工程:分类变量的数值化处理方法

    编码是机器学习流程里最容易被低估的环节之一,模型没办法直接处理文本形式的分类数据,尺寸(Small/Medium/Large)、颜色(Red/Blue/Green)、城市、支付方式等都是典型的分类
    的头像 发表于 02-10 15:58 436次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>特征工程:分类变量的数值化处理方法

    机器学习和深度学习中需避免的 7 个常见错误与局限性

    无论你是刚入门还是已经从事人工智能模型相关工作一段时间,机器学习和深度学习中都存在一些我们需要时刻关注并铭记的常见错误。如果对这些错误置之不理,日后可能会引发诸多麻烦!只要我们密切关注数据、模型架构
    的头像 发表于 01-07 15:37 337次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>中需避免的 7 个常见错误与局限性

    从0到1,10+年资深LabVIEW专家,手把手教你攻克机器视觉+深度学习(5000分钟实战课)

    “告别检测系统能力缺陷!10+年LabVIEW视觉资深专家手把手教你:5000+分钟高清教程(含工具、算法原理、实战操作、项目优化全流程讲解)”——从传统视觉算法→深度学习建模→工业级
    的头像 发表于 12-02 08:07 734次阅读
    从0到1,10+年资深LabVIEW专家,手把手教你攻克<b class='flag-5'>机器</b>视觉+深度<b class='flag-5'>学习</b>(5000分钟实战课)

    量子机器学习入门:三种数据编码方法对比与应用

    在传统机器学习中数据编码确实相对直观:独热编码处理类别变量,标准化调整数值范围,然后直接输入模型训练。整个过程更像是数据清洗,而非核心算法组件。量子机器
    的头像 发表于 09-15 10:27 934次阅读
    量子<b class='flag-5'>机器</b><b class='flag-5'>学习</b>入门:三种数据编码方法对比与应用

    AI 驱动三维逆向:点云降噪算法工具与机器学习建模能力的前沿应用

    在三维逆向工程领域,传统方法在处理复杂数据和构建高精度模型时面临诸多挑战。随着人工智能(AI)技术的发展,点云降噪算法工具与机器学习建模能力的应用,为三维逆向工程带来了创新性解决方案,显著提升
    的头像 发表于 08-20 10:00 845次阅读
    AI 驱动三维逆向:点云降噪<b class='flag-5'>算法</b>工具与<b class='flag-5'>机器</b><b class='flag-5'>学习</b>建模能力的前沿应用

    PID控制算法学习笔记资料

    用于新手学习PID控制算法
    发表于 08-12 16:22 7次下载

    FPGA在机器学习中的具体应用

    ,越来越多地被应用于机器学习任务中。本文将探讨 FPGA 在机器学习中的应用,特别是在加速神经网络推理、优化算法和提升处理效率方面的优势。
    的头像 发表于 07-16 15:34 3068次阅读

    【嘉楠堪智K230开发板试用体验】K230机器视觉相关功能体验

    K230开发板摄像头及AI功能测评 摄像头作为机器视觉应用的基础,能够给机器学习模型提供输入,提供输入的质量直接影响机器学习模型的效果。 K
    发表于 07-08 17:25

    机器学习异常检测实战:用Isolation Forest快速构建无标签异常检测系统

    本文转自:DeepHubIMBA无监督异常检测作为机器学习领域的重要分支,专门用于在缺乏标记数据的环境中识别异常事件。本文深入探讨异常检测技术的理论基础与实践应用,通过IsolationForest
    的头像 发表于 06-24 11:40 1586次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>异常检测实战:用Isolation Forest快速构建无标签异常检测系统

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    视觉巡线,展示了如何从数据采集、模型训练到机器人部署的完整流程。 值得注意的是,深度学习模型的实时性对机器人计算资源提出了较高要求,优化模型(如TensorRT加速)是实际部署的关键。
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】机器人入门的引路书

    的限制和调控) 本书还有很多前沿技术项目的扩展 比如神经网络识别例程,机器学习图像识别的原理,yolo图像追踪的原理 机器学习训练三大点: 先准备一个基本的模型结构 和训练时的反馈函
    发表于 04-30 01:05

    机器人主控芯片平台有哪些 机器人主控芯片一文搞懂

    AI芯片在人形机器人中的应用越来越广泛。这些AI芯片专门设计用于执行人工智能算法,如深度学习机器学习等。
    的头像 发表于 04-25 16:26 8293次阅读
    <b class='flag-5'>机器</b>人主控芯片平台有哪些  <b class='flag-5'>机器</b>人主控芯片一文搞懂

    基于RV1126开发板实现自学习图像分类方案

    在RV1126开发板上实现自学习:在识别前对物体图片进行模型学习,训练完成后通过算法分类得出图像的模型ID。 方案设计逻辑流程图,方案代码分为分为两个业务
    的头像 发表于 04-21 13:37 11次阅读
    基于RV1126开发板实现自<b class='flag-5'>学习</b>图像分类方案

    复合机器人为什么要使用单点纠偏算法

    复合机器人单点纠偏算法
    的头像 发表于 04-20 14:59 857次阅读
    复合<b class='flag-5'>机器</b>人为什么要使用单点纠偏<b class='flag-5'>算法</b>?