多层感知机(二)

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 多层感知机(二)

开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):多层感知机(二)

课程地址:https://edu.aliyun.com/course/3112108/lesson/19267

 

多层感知机(二)

三、BP神经网络算法概述


BP 神经网络算法,BP 是 back propagation,BP 算法是神经网络深度学习里面最重要的算法之一,了解这个算法可以让我们更加了解神经网络深度学习模型训练的本质。

BP 神经网络是在 1986 年的时候就提出来的概念,它是一种按照误差命传播算法训练的多层神经网络,是应用会最广泛的神经网络模型之一。


BP 神经网络算法其实它的这个思想就已经写在这里,就是正向传播求损失,反向传播求误差,回传误差,它是根据误差的信号来修正每一层的权重。


比如你去投篮,打篮球的时候去投篮,把球扔向篮筐的时候可能力气大了,可能力气小了,我们目标就是把篮球投进去,每次投篮的时候,如果投不进,就要进行调整,这个调整就是学习的过程,神经网络的训练跟你去打篮球,这个投篮训练是很像的,你去训练的时候很重要的就是你需要有这个反馈,就是要知道你这个投篮的时候问题在哪里?是这个力气大了,还是力气小了还是这个方向不对正向传播求损失,就是按照现在的模式去投篮,投篮之后你需要去观察这个损失,你的力气大了还是小了,这个差别就是这个损失。


比如我这次投篮力气大了,那损失就是力气大了,这个投篮投过了,那我要把这个学习进来。我知道大了很多,我下一次就要修正,下次出手的力量要少一点,这个就是反向传播,我看到,我学习,我要调整,我下一次的动作就小一点,他可能就进。


这个根据误差信号来修正其实也是你投篮力气大了很多,你就是小多一点,力气小得多一点,如果下次力气小了,小了一点点,你下次调整就稍微大一点,这个修正误差的时候是根据上修正这个权重的时候,是根据上一次的误差来做这个调整的。


所以这里面有几个关键词,一个是损失,损失就是投篮的时候离这个投进差了多少,然后这个怎么样去修正这个权重,也就是你根据这个损失大小,回来去调整权重,这样就达到一个训练的目

BP 神经网络就是这样,就是正向传播,正向传播来了一个数据,就相当于你去投篮,开始有一个输入的值,它穿过隐层,比如这里用 sigmoid 的这个函数,然后输出,得到一个预测值,预测值就是你扔出去的那个,真实值就好像篮框真正的这个位置一样,他们可能差有差别,这个差别其实就是差别大了之后说明这个训练的不够,但是他们两个可以得到损失值,就根据预测值和真实值,就知道损失值是怎样。


根据这个损失值再反向的回去调整,根据损失值来调节这个参数,调节完之后下一次再输入训练得到预测值,再根据这个输入的训练的真实值来调整,然后再改变这个权重。你训练的时候要先知道我们在这个训练这个神经网络的时候是有训练数据的,其实已经预先知道这个输入值和这个真实值,你经过这种不断的训练,用数据不断的去训练,然后不断地去调节这个参数,这个神经网络就会被训练到这个误差,这个损失值会越来越小。


有可能是设定误差损失值小到什么程度之后就停止,或者我训练多少次之后停止。这个像打球时,我可能连续投进 10 个球就停止训练,或者是我今天要投进 200 个球,投完 200 个球,然后才能完成这个训练,就是按照训练次数或者是训练目标来决定什么时候完成。


这个算法的思想就是这个 BP 神经网络算法,这里在调节这个权重去进行修正的时候,就可以用我们之前有提到的这个梯度下降的方式去调节,这里面还有很多技术可以调优的地方。 BP 神经网络算法,我们就介绍到这里。

图片518.png

 

四、本节回顾

 

通过本节的学习,我们学到了:

1、感知机的概述

感知机是一种有监督的二分类算法,只能解决线性问题

2、多层感知机的层级结构与激活函数

多层感知机的层级结构主要包含输入层、隐藏层和输出层,可以用于拟合非线性函数

激活函数是一种在人工智能神经网络的神经单元上运行的函数,旨在帮助网络学习数据中的复杂模式,负责将神经元节点的输入映射到输出端

常见激活函数:Sigmoid函数、Tanh函数、ReLU函数等等

3、BP神经网络算法

BP神经网络是一种按误差逆传播算法训练的多层神经网络,正向传播求损失,反向传播回传误差,根据误差信号修正每层的权重

相关文章
|
2月前
|
机器学习/深度学习 测试技术 Python
【激活函数】基础回顾:带你认识神经网络中常见的激活函数
【激活函数】基础回顾:带你认识神经网络中常见的激活函数
442 0
【激活函数】基础回顾:带你认识神经网络中常见的激活函数
|
23天前
|
机器学习/深度学习 数据采集 数据处理
多层感知机(MLP)解决二分类任务
分类任务: 开发一个神经网络,预测一氧化碳 (CO) 浓度是否超过某一阈值(CO(GT) 值的平均值)。这项任务涉及二元分类,即您的模型学会将实例分为两类:高于或低于阈值。阈值。要确定阈值,您必须首先计算CO(GT) 的平均值,其中不包括未知数据(缺失值)。然后,使用该阈值来预测网络预测的值是高于还是低于该阈值。但是您的网络应该能够处理缺失值。
|
23天前
|
机器学习/深度学习 PyTorch 算法框架/工具
神经网络中的归一化
**神经网络中的归一化方法加速和稳定学习,避免梯度问题。通过批量归一化(Batch Normalization),每个mini-batch数据被调整至均值0、标准差1的分布,减少数据分布变化带来的不稳定性,提升模型训练速度与泛化能力。归一化也包括L1和L2正则化,如sklearn库中的Lasso和Ridge实现。批量归一化层如PyTorch中的`nn.BatchNorm2d`,调整输入数据分布并学习可变参数。**
|
23天前
|
机器学习/深度学习 算法 Serverless
神经网络的激活函数(二)
本文介绍了神经网络中的激活函数,特别是tanh和ReLU。tanh函数将输入映射到(-1,1),以0为中心,加快了训练速度,但两侧导数为0可能导致梯度消失。ReLU函数在正区间的导数为1,解决了梯度消失问题,常用于隐藏层。softmax函数用于多分类,将输出转换为概率分布。文章还包含了代码示例,展示了这些函数的图形和导数。
|
23天前
|
机器学习/深度学习 算法
神经网络的激活函数(一)
人工神经网络( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN),是一种模仿生物神经网络结构和功能的 计算模型。人脑可以看做是一个生物神经网络,由众多的神经元连接而成。各个神经元传递复杂的电信号,树突接收到输入信号,然后对信号进行处理,通过轴突输出信号。
|
2月前
|
机器学习/深度学习 人工智能 算法
神经网络中的神经元和激活函数介绍
神经网络中的神经元和激活函数介绍
27 0
|
8月前
|
机器学习/深度学习 存储 算法
前向神经网络-多层感知器、损失函数、反向传播
前向神经网络-多层感知器、损失函数、反向传播
67 0
|
10月前
|
机器学习/深度学习 人工智能 算法
多层感知机(一)
多层感知机(一)
67 0
|
机器学习/深度学习 TensorFlow 算法框架/工具
神经网络中的激活函数
神经网络中的激活函数
103 0
|
机器学习/深度学习 数据可视化
前馈神经网络--常见激活函数之Swish
前馈神经网络--常见激活函数之Swish
195 0

相关实验场景

更多