APP下载

你也可以体验的机器学习

2020-04-28

电脑报 2020年10期
关键词:正确率准确率神经元

1. 机器学习是什么?

传统上如果我们想让计算机工作,我们给它一串指令,然后它遵照这个指令一步步执行下去。有因有果,非常明确。

机器学习与人类思考的类比

但机器学习则是完全不同的过程,比如要教会计算机做加法。我们不告诉计算机1+1=2。而是先在计算机中搭建好类似人类大脑的神经网络,然后通过输入大量算式(5000组),并告诉计算机算出结果是对还是错,而且只告诉计算机对错而不告诉正确答案,经过大量反复训练(5000道题目做100次),计算机会得到某种正确率最高的模型,计算机可能重新发现了1+1=2但也可能和加法规则毫无关系。最后我们会利用这个模型去处理新的数据。

由于经过机器学习得出的模型能够以近似于人的方式解决很多灵活复杂的问题,所以在模式识别、统计学习、数据挖掘、计算机视觉、语音识别、自然语言处理等领域有着很广泛的应用。

一般来说机器学习是相当高深的领域,但是在慧编程中有机器学习加法训练的扩展模块,无需高深的编程知识就可以方便使用了,我们就用这个功能来体验一下机器学习吧。

2. 下载和安装

在www.mblock.cc下载并安装慧编程,这是基于Scratch 3.0开发的儿童编程软件,除了基本的积木式编程和Python代碼编程外,它特别融入了AI(人工智能)和 IoT(物联网)等前沿技术。

对角色添加扩展,在第二页找到“机器学习之加法训练”并添加。

3. 积木说明

这个模块是使用上千组数据对机器进行加法训练,得出输入和输出之间的对应关系即训练模型。可以通过调整不同的训练参数,了解各种机器学习的相关概念和作用。

1) 加数和被加数的位数2

提供的数据都是两位数以下的加法。

2) 样本数据数5000

给机器学习的数据数量,5000道加法题。

3) 选择RNN的网络类型

这里提供了三种使用非常广泛的循环神经网络模型。循环神经网络是当前深度学习热潮中最重要和最核心的技术之一。这里我们无需了解它的运算过程直接使用就可以了。

Simple RNN 简单循环神经网络,GRN 门控循环单元网络,LSTM 长短期记忆网络。

4) 隐藏层数量

一个神经网络包括有多个神经元层,输入层、隐藏层及输出层。输入层负责接收输入及分发到隐藏层(因为用户看不见这些层,所以叫做隐藏层)。这些隐藏层负责所需的计算及输出结果给输出层,而用户则可以看到最终结果。

隐藏层就是把输入数据的特征,抽象到另一个维度空间,来展现其更抽象化的特征,这些特征能更好地进行线性划分。多个隐藏层其实是对输入特征多层次的抽象,最终的目的就是为了更好的线性划分不同类型的数据。

5) 每个隐藏层的神经元数量

神经元是处理数据的节点。每个神经元会对前一个神经元传来的数据,按照自己拥有的一个权重系数进行加工。确定合适的神经元数量是一项很专业的技能,我们直接使用默认数据即可。

6) 迭代次数

使用训练集的全部数据对模型进行一次完整训练称之为“一代训练”,迭代次数100就表示用全部数据对模型训练100次。

理论上,隐藏层越多神经元数量越多迭代次数越多,结果的准确率就会越高甚至达到100%,但是增加这些参数一方面计算量会急剧增大,训练时间会非常长。另外某些参数设置过高除了效果提升效果不明显以外可能还会产生过拟合。

4. 运行效果

开始训练,计算机准备数据时会卡一会儿,等一会儿后点一下打开数据看板,可以看到训练集和测试集曲线。随着不断迭代loss损失越来越低,accuracy准确率越来越高,当准确率接近100%说明训练的效果已经达到,模型对于样本库的数据可以做到全部判断正确了,我们判断模型训练成功了。你可以通过变动各种参数,自己观察训练时间和训练效果。

5. 测试模型

根据训练曲线,模型已经获得很高的正确率。用50组数据进行测试。点击“打开数据面板”可以看到模型预测结果和正确结果的对比。如果数据少迭代次数不够模型训练不好正确率就不会高。

这个加法训练可以让你更好地理解机器学习。慧编程中还有更实用的机器学习模块就需要你花不少功夫去学习相关知识才能使用了。

猜你喜欢

正确率准确率神经元
个性化护理干预对提高住院患者留取痰标本正确率的影响
课程设置对大学生近视认知的影响
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
AI讲座:神经网络的空间对应
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
仿生芯片可再现生物神经元行为
这个神经元负责改变我们的习惯
生意