"多层感知器"--MLP神经网络算法

本文介绍了多层感知器(MLP)神经网络的基础,包括神经网络中的非线性矫正,如ReLU和tanh函数的作用。讨论了神经网络的参数设置,如隐藏层节点数、激活函数选择以及模型的alpha参数。强调了参数调节对模型性能的影响,并给出了隐藏层节点数的参考原则。最后提到了在Python中进行深度学习的库Keras和TensorFlow。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提到人工智能(Artificial Intelligence,AI),大家都不会陌生,在现今行业领起风潮,各行各业无不趋之若鹜,作为技术使用者,到底什么是AI,我们要有自己的理解.

目前,在人工智能中,无可争议的是深度学习占据了统治地位,,其在图像识别,语音识别,自然语言处理,无人驾驶领域应用广泛.

如此,我们要如何使用这门技术呢?下面我们来一起了解"多层感知器",即MLP算法,泛称为神经网络.

神经网络顾名思义,就像我们人脑中的神经元一样,为了让机器来模拟人脑,我们在算法中设置一个个节点,在训练模型时,输入的特征与预测的结果用节点来表示,系数w(又称为"权重")用来连接节点,神经网络模型的学习就是一个调整权重的过程,训练模型一步步达到我们想要的效果.

理解了原理,下面来上代码直观看一下:

1.神经网络中的非线性矫正

每个输入数据与输出数据之间都有一个或多个隐藏层,每个隐藏层包含多个隐藏单元.

在输入数据和隐藏单元之间或隐藏单元和输出数据之间都有一个系数(权重).

计算一系列的加权求和和计算单一的加权求和和普通的线性模型差不多.

线性模型的一般公式:

y = w[0]▪x[0]+w[1]▪x[1] + ▪▪▪ + w[p]▪x[p] + b

为了使得模型比普通线性模型更强大,所以我们要进行一些处理,即非线性矫正(rectifying nonlinearity),简称为(rectified linear unit,relu).或是进行双曲正切处理(tangens hyperbolicus,tanh)

#############################  神经网络中的非线性矫正  #######################################
#导入numpy
import numpy as np
#导入画图工具
import matplotlib.pyplot as plt
#导入numpy
import numpy as py
#导入画图工具
import matplotlib.pyplot as plt

#生成一个等差数列
line = np.linspace(-5,5,200)
#画出非线性矫正的图形表示
plt.plot(line,np.tanh(line),label='tanh')
plt.plot(line,np.maximum(line,0),label='relu')

#设置图注位置
plt.legend(loc='best')
#设置横纵轴标题
plt.xlabel('x')
plt.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值