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)

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

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

    关注

    1791

    文章

    46927

    浏览量

    237784
  • 机器学习
    +关注

    关注

    66

    文章

    8382

    浏览量

    132464
收藏 人收藏

    评论

    相关推荐

    NPU与机器学习算法的关系

    在人工智能领域,机器学习算法是实现智能系统的核心。随着数据量的激增和算法复杂度的提升,对计算资源的需求也在不断增长。NPU作为一种专门为深度学习
    的头像 发表于 11-15 09:19 351次阅读

    人工智能、机器学习和深度学习存在什么区别

    人工智能指的是在某种程度上显示出类似人类智能的设备。AI有很多技术,但其中一个很大的子集是机器学习——让算法从数据中学习
    发表于 10-24 17:22 2465次阅读
    人工智能、<b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>存在什么区别

    LIBS结合机器学习算法的江西名优春茶采收期鉴别

    以庐山云雾茶和狗牯脑茶的明前茶、雨前茶为对象,研究激光诱导击穿光谱结合机器学习的茶叶鉴别方法。将茶叶茶,水数据融合可有效鉴别春茶采收期,且数据融合后表现出更好的稳定性和鲁棒性,LIBS结合机器
    的头像 发表于 10-22 18:05 207次阅读
    LIBS结合<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>算法</b>的江西名优春茶采收期鉴别

    深度学习算法在嵌入式平台上的部署

    随着人工智能技术的飞速发展,深度学习算法在各个领域的应用日益广泛。然而,将深度学习算法部署到资源受限的嵌入式平台上,仍然是一个具有挑战性的任务。本文将从嵌入式平台的特点、深度
    的头像 发表于 07-15 10:03 1225次阅读

    利用Matlab函数实现深度学习算法

    在Matlab中实现深度学习算法是一个复杂但强大的过程,可以应用于各种领域,如图像识别、自然语言处理、时间序列预测等。这里,我将概述一个基本的流程,包括环境设置、数据准备、模型设计、训练过程、以及测试和评估,并提供一个基于Mat
    的头像 发表于 07-14 14:21 1973次阅读

    如何理解机器学习中的训练集、验证集和测试集

    理解机器学习中的训练集、验证集和测试集,是掌握机器学习核心概念和流程的重要一步。这三者不仅构成了模型学习
    的头像 发表于 07-10 15:45 3383次阅读

    机器学习中的数据预处理与特征工程

    机器学习的整个流程中,数据预处理与特征工程是两个至关重要的步骤。它们直接决定了模型的输入质量,进而影响模型的训练效果和泛化能力。本文将从数据预处理和特征工程的基本概念出发,详细探讨这两个步骤的具体内容、方法及其在
    的头像 发表于 07-09 15:57 322次阅读

    机器学习算法原理详解

    机器学习作为人工智能的一个重要分支,其目标是通过让计算机自动从数据中学习并改进其性能,而无需进行明确的编程。本文将深入解读几种常见的机器学习
    的头像 发表于 07-02 11:25 836次阅读

    机器学习在数据分析中的应用

    随着大数据时代的到来,数据量的爆炸性增长对数据分析提出了更高的要求。机器学习作为一种强大的工具,通过训练模型从数据中学习规律,为企业和组织提供了更高效、更准确的数据分析能力。本文将深入探讨机器
    的头像 发表于 07-02 11:22 558次阅读

    深度学习与传统机器学习的对比

    在人工智能的浪潮中,机器学习和深度学习无疑是两大核心驱动力。它们各自以其独特的方式推动着技术的进步,为众多领域带来了革命性的变化。然而,尽管它们都属于机器
    的头像 发表于 07-01 11:40 1214次阅读

    机器学习的经典算法与应用

    关于数据机器学习就是喂入算法和数据,让算法从数据中寻找一种相应的关系。Iris鸢尾花数据集是一个经典数据集,在统计学习
    的头像 发表于 06-27 08:27 1587次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的经典<b class='flag-5'>算法</b>与应用

    机器学习怎么进入人工智能

    ,人工智能已成为一个热门领域,涉及到多个行业和领域,例如语音识别、机器翻译、图像识别等。 在编程中进行人工智能的关键是使用机器学习算法,这是一类基于样本数据和模型训练来进行预测和判断的
    的头像 发表于 04-04 08:41 275次阅读

    机器学习8大调参技巧

    今天给大家一篇关于机器学习调参技巧的文章。超参数调优是机器学习例程中的基本步骤之一。该方法也称为超参数优化,需要搜索超参数的最佳配置以实现最佳性能。
    的头像 发表于 03-23 08:26 575次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>8大调参技巧

    AI算法的本质是模拟人类智能,让机器实现智能化

    电子发烧友网报道(文/李弯弯)AI算法是人工智能领域中使用的算法,用于模拟、延伸和扩展人的智能。这些算法可以通过机器学习、深度
    的头像 发表于 02-07 00:07 5671次阅读

    目前主流的深度学习算法模型和应用案例

    深度学习在科学计算中获得了广泛的普及,其算法被广泛用于解决复杂问题的行业。所有深度学习算法都使用不同类型的神经网络来执行特定任务。
    的头像 发表于 01-03 10:28 1818次阅读
    目前主流的深度<b class='flag-5'>学习</b><b class='flag-5'>算法</b>模型和应用案例