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

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

3天内不再提示

机器学习基本过程

jt_rfid5 来源:新机器视觉 作者:新机器视觉 2022-10-27 15:12 次阅读

机器学习(Machine Learning)本质上就是让计算机自己在数据中学习规律,并根据所得到的规律对未来数据进行预测。

机器学习包括如聚类、分类、决策树、贝叶斯、神经网络深度学习(Deep Learning)等算法

机器学习的基本思路是模仿人类学习行为的过程,如我们在现实中的新问题一般是通过经验归纳,总结规律,从而预测未来的过程。机器学习的基本过程如下:

机器学习基本过程

01 机器学习发展历程

从机器学习发展的过程上来说,其发展的时间轴如下所示:

cc6e622e-551d-11ed-a3b6-dac502259ad0.png

机器学习发展历程

从上世纪50年代的图灵测试提出、塞缪尔开发的西洋跳棋程序,标志着机器学习正式进入发展期。

60年代中到70年代末的发展几乎停滞。

80年代使用神经网络反向传播(BP)算法训练的多参数线性规划(MLP)理念的提出将机器学习带入复兴时期。

90年代提出的“决策树”(ID3算法),再到后来的支持向量机(SVM)算法,将机器学习从知识驱动转变为数据驱动的思路。

21世纪初Hinton提出深度学习(Deep Learning),使得机器学习研究又从低迷进入蓬勃发展期。

从2012年开始,随着算力提升和海量训练样本的支持,深度学习(Deep Learning)成为机器学习研究热点,并带动了产业界的广泛应用。

02 机器学习分类

机器学习经过几十年的发展,衍生出了很多种分类方法,这里按学习模式的不同,可分为监督学习、半监督学习、无监督学习和强化学习。

监督学习

监督学习(Supervised Learning)是从有标签的训练数据中学习模型,然后对某个给定的新数据利用模型预测它的标签。如果分类标签精确度越高,则学习模型准确度越高,预测结果越精确。

监督学习主要用于回归和分类。

常见的监督学习的回归算法有线性回归、回归树、K邻近、Adaboost、神经网络等。

常见的监督学习的分类算法有朴素贝叶斯、决策树、SVM、逻辑回归、K邻近、Adaboost、神经网络等。

半监督学习

半监督学习(Semi-Supervised Learning)是利用少量标注数据和大量无标注数据进行学习的模式。

半监督学习侧重于在有监督的分类算法中加入无标记样本来实现半监督分类。

常见的半监督学习算法有Pseudo-Label、Π-Model、Temporal Ensembling、Mean Teacher、VAT、UDA、MixMatch、ReMixMatch、FixMatch等。

无监督学习

无监督学习(Unsupervised Learning)是从未标注数据中寻找隐含结构的过程。

无监督学习主要用于关联分析、聚类和降维。

常见的无监督学习算法有稀疏自编码(Sparse Auto-Encoder)、主成分分析(Principal Component Analysis, PCA)、K-Means算法(K均值算法)、DBSCAN算法(Density-Based Spatial Clustering of Applications with Noise)、最大期望算法(Expectation-Maximization algorithm, EM)等。

强化学习

强化学习(Reinforcement Learning)类似于监督学习,但未使用样本数据进行训练,是是通过不断试错进行学习的模式。

在强化学习中,有两个可以进行交互的对象:智能体(Agnet)和环境(Environment),还有四个核心要素:策略(Policy)、回报函数(收益信号,Reward Function)、价值函数(Value Function)和环境模型(Environment Model),其中环境模型是可选的。

强化学习常用于机器人避障、棋牌类游戏、广告和推荐等应用场景中。

为了便于读者理解,用灰色圆点代表没有标签的数据,其他颜色的圆点代表不同的类别有标签数据。监督学习、半监督学习、无监督学习、强化学习的示意图如下所示:

ccd9758c-551d-11ed-a3b6-dac502259ad0.png

03 机器学习应用之道

机器学习是将现实中的问题抽象为数学模型,利用历史数据对数据模型进行训练,然后基于数据模型对新数据进行求解,并将结果再转为现实问题的答案的过程。机器学习一般的应用实现步骤如下:

将现实问题抽象为数学问题;

数据准备;

选择或创建模型;

模型训练及评估;

预测结果;

cd09feb4-551d-11ed-a3b6-dac502259ad0.png

这里我们以Kaggle上的一个竞赛Cats vs. Dogs(猫狗大战)为例来进行简单介绍,感兴趣的可亲自实验。

现实问题抽象为数学问题

现实问题:给定一张图片,让计算机判断是猫还是狗?

数学问题:二分类问题,1表示分类结果是狗,0表示分类结果是猫。

数据准备

数据下载地址:
https://www.kaggle.com/c/dogs-vs-cats。

下载 kaggle 猫狗数据集解压后分为 3 个文件 train.zip、 test.zip 和 sample_submission.csv。

train 训练集包含了 25000 张猫狗的图片,猫狗各一半,每张图片包含图片本身和图片名。命名规则根据 “type.num.jpg” 方式命名。

训练集示例

test 测试集包含了 12500 张猫狗的图片,没有标定是猫还是狗,每张图片命名规则根据“num.jpg”命名。

测试集示例

sample_submission.csv 需要将最终测试集的测试结果写入.csv 文件中。

sample_submission示例

我们将数据分成3个部分:训练集(60%)、验证集(20%)、测试集(20%),用于后面的验证和评估工作。

选择模型

机器学习有很多模型,需要选择哪种模型,需要根据数据类型,样本数量,问题本身综合考虑。

如本问题主要是处理图像数据,可以考虑使用卷积神经网络(Convolutional Neural Network, CNN)模型来实现二分类,因为选择CNN的优点之一在于避免了对图像前期预处理过程(提取特征等)。猫狗识别的卷积神经网络结构如下面所示:

最下层是网络的输入层(Input Layer),用于读入图像作为网络的数据输入;最上层是网络的输出层(Output Layer),其作用是预测并输出读入图像的类别,由于只需要区分猫和狗,因此输出层只有2个神经计算单元;位于输入和输出层之间的,都称之为隐含层(Hidden Layer),也叫卷积层(Convolutional Layer),这里设置3个隐含层。

模型训练及评估

我们预先设定损失函数Loss计算得到的损失值,通过准确率Accuracy来评估训练模型。损失函数LogLoss作为模型评价指标:

ce9d3cb4-551d-11ed-a3b6-dac502259ad0.pngcea925b0-551d-11ed-a3b6-dac502259ad0.jpg

准确率(accuracy)来衡量算法预测结果的准确程度:

cee11f60-551d-11ed-a3b6-dac502259ad0.png

TP(True Positive)是将正类预测为正类的结果数目。

FP(False Positive)是将负类预测为正类的结果数目。

TN(True Negative)是将负类预测为负类的结果数目。

FN(False Negative)是将正类预测为负类的结果数目。

cef38f88-551d-11ed-a3b6-dac502259ad0.png

训练过中的 loss 和 accuracy

预测结果

训练好的模型,我们载入一张图片,进行识别,看看识别效果:

04 机器学习趋势分析

机器学习正真开始研究和发展应该从80年代开始,我们借助AMiner平台,将近些年机器学习论文进行统计分析所生成的发展趋势图如下所示:

cf431792-551d-11ed-a3b6-dac502259ad0.png

可以看出,深度神经网络(Deep Neural Network)、强化学习(Reinforcement Learning)、卷积神经网络(Convolutional Neural Network)、循环神经网络(Recurrent Neural Network)、生成模型(Generative Model)、图像分类(Image Classification)、支持向量机(Support Vector Machine)、迁移学习(Transfer Learning)、主动学习(Active Learning)、特征提取(Feature Extraction)是机器学习的热点研究。

以深度神经网络、强化学习为代表的深度学习相关的技术研究热度上升很快,近几年仍然是研究热点。

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

    关注

    42

    文章

    4732

    浏览量

    100373
  • 数据
    +关注

    关注

    8

    文章

    6786

    浏览量

    88705
  • 机器学习
    +关注

    关注

    66

    文章

    8337

    浏览量

    132255

原文标题:【光电智造】超全干货!机器学习基础知识大总结

文章出处:【微信号:今日光电,微信公众号:今日光电】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    未来出行说 | 皮埃罗·斯加鲁菲:自动驾驶技术目前还不值得信任

    目前车辆所谓的自动驾驶或者辅助驾驶,还只是一个缺乏常识性的机器,其实不值得我们去信任。它可能还需要一个很长的机器学习过程
    的头像 发表于 09-26 11:21 4189次阅读

    [1.4.1]--典型的机器学习过程

    机器学习
    jf_90840116
    发布于 :2023年02月22日 10:37:43

    典型的机器学习过程#机器学习

    机器学习
    未来加油dz
    发布于 :2023年07月14日 16:09:16

    机器人从事件提取规律或道理行得通吗?

    比如说下面的文字模拟一下机器学习过程:我:昨天我喝醉了。机器人:原来,人可以喝醉。我:但我摔了一跤。机器人:摔跤是好事吗?我:是坏事。
    发表于 03-09 14:29

    机器学习必须避开的九大陷阱

    意识到可能会扭曲团队工作结果的常见问题。为了实现可靠的机器学习过程,以下是要避免的九个常见陷阱,以及可采用的最佳实践方法。
    发表于 05-07 12:39 2517次阅读

    谷歌用神经网络根据笔画生成汉字,新造了一系列“假汉字

    在一定程度上,机器学习过程也一样,最初都是从简单的分类问题开始:判断输入的图像是猫还是狗,交易是真实的还是是欺诈……这些任务非常有用。但是,hardmaru认为,更有趣的任务是生成数据,在
    的头像 发表于 06-25 11:44 7621次阅读
    谷歌用神经网络根据笔画生成汉字,新造了一系列“假汉字

    AutoML模型压缩技术,利用强化学习将压缩流程自动化

    “Cloud AutoML 产品设计让机器学习过程变得更简单,让即便没有机器学习经验的人也可以享受机器
    的头像 发表于 09-24 08:44 5221次阅读

    什么是机器学习机器学习是如何工作的呢?

    为了更清楚地理解机器学习过程,我们将以开发能够识别手写数字的机器为具体例子来考虑模式识别的问题。这样的机器应该能够准确识别一个字符所代表的
    的头像 发表于 01-12 10:05 7702次阅读

    先考虑AI带来的好处还是带来的忧患

    AI 以及机器学习等,由于需要通过收集大量数据以完成机器学习过程,因此在企业角度来说,稍一不慎便很容易误堕法网,尤其是对于某些行业。
    发表于 01-07 17:11 662次阅读

    如何用数学函数去理解机器学习过程

    机器学习,需要先学习才能预测判断,样本则是机器学习的信息输入,样本的质量很大程度上决定了机器
    的头像 发表于 04-15 15:39 1876次阅读

    人工智能(AI)和机器学习(ML)

    总的来说人工智能是一种具体的结果,而机器学习是我们达到人工智能的一个途径。人工智能可以主导机器学习过程,但是
    的头像 发表于 04-15 17:19 2910次阅读

    为生产系统构建机器学习的一些考虑

    这篇文章介绍了为生产系统构建机器学习过程的很多方面的内容,都是从实践中总结出来的。
    的头像 发表于 04-19 11:34 1528次阅读

    手把手教你在机器学习过程设计Python接口

    为了进行机器学习工程,首先要部署一个模型,在大多数情况下作为一个预测API。为了使此API在生产中工作,必须首先构建模型服务基础设施。这包括负载平衡、扩展、监视、更新等等。
    的头像 发表于 08-20 14:29 1784次阅读
    手把手教你在<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>过程</b>设计Python接口

    机器学习的基本过程及关键要素

    机器学习的基本过程,罗列了几个主要流程和关键要素;继而展开介绍机器学习主要的算法框架,包括监督学习
    发表于 11-12 10:28 1.1w次阅读

    人工智能正在加快速度从“云端”走向“边缘”

    人工智能(AI)正在加快速度从“云端”走向“边缘”,进入到越来越小的物联网设备中。在终端和边缘侧的微处理器上,实现的机器学习过程,被称为微型机器学习
    的头像 发表于 04-04 12:01 1208次阅读
    人工智能正在加快速度从“云端”走向“边缘”