深度学习-多层感知器-建立MLP实现非线性二分类-MLP实现图像多分类

本文介绍了如何使用Keras库构建多层感知器(MLP),包括线性和非线性分类任务的实现,如基于data.csv数据的二分类,以及基于MNIST数据集的图像多分类。通过实例展示了模型构建、训练、预测及性能评估的过程。

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

多层感知器(Multi-Layer Perceptron)(人工神经网络)

多层感知器模型框架
image.png

MLP用于非线性分类预测

在不增加高次项数据的情况下,如何通过MLP实现非线性分类预测
image.png
image.png
image.png
image.png

image.png
image.png
image.png
image.png

image.png
image.png
image.png
image.png

image.png
image.png
image.png
image.png
image.png
image.png
MLP模型框架
image.png
MLP实现多分类预测
image.png
image.png

实战准备

Keras

Keras是一个用Python编写的用于神经网络开发的应用接口,调用开接口可以实现神经网络、卷积神经网络、循环神经网络等常用深度学习算法的开发
特点:

  • 集成了深度学习中各类成熟的算法,容易安装和使用,样例丰富,教程和文档也非常详细
  • 能够以TensorFlow,或者Theano作为后端运行

Keras or Tensorflow
Tensorflow是一个采用数据流图,用于数值计算的开源软件库,可自动计算模型相关的微分导数:非常适合用于神经网络模型的求解。
Keras可看作为tensorflow封装后的一个接口(Keras作为前端,TensorFlow作为后端。
Keras为用户提供了一个易于交互的外壳,方便进行深度学习的快速开发
Keras建立MLP模型

# 建立一个Sequential顺序模型
from keras.models import Sequential
model = Sequential()
# 通过.add()叠加各层网络
from keras.layers import Dense
model.add(Dense(units=3,activation='sigmoid',input_dim=3))
model.add(Dense(units=1,activation='sigmoid'))
# 通过.compile()配置模型求解过程参数
model.compile(loss='categorical_crossentropy',optimizer='sgd'])
# 训练模型
model.fit(x_train,y_train,epochs=5)

image.png
实战-建立MLP实现非线性二分类
image.png
任务:基于data.csv数据,建立mlp模型,计算其在测试数据上的准确率,可视化模型预测结果︰

  • 进行数据分离:

test_size=0.33,random_state=10

  • 模型结构:一层隐藏层,有20个神经元

image.png
建立MLP模型,查看模型结构

from keras.models import Sequential
from keras.layers import Dense,Activation
mlp = Sequential()
mlp.add(Dense(20,input_dim=2,activation='sigmoid'))
mlp.add(Dense(1,activation='sigmoid'))
mlp.summary()

配置模型参数

mlp.compile(optimizer='adam',loss='binary_crossentropy')

模型训练

mlp.fit(X_train,y_train,epochs=3000)

结果预测

y_test_predict = mlp.predict_classes(X_test)

把预测结果转换为可用于索引的Series类型

y_range_predict = pd.Series([i[0] for i in y_range_predict])

实战:MLP实现图像多分类
image.png
任务:基于mnist数据集,建立mlp模型,实现0-9数字的十分类:

  • 实现mnist数据载入,可视化图形数字
  • 完成数据预处理:图像数据维度转换与归一化、输出结果格式转换
  • 计算模型在预测数据集的准确率
  • 模型结构:两层隐藏层,每层有392个神经元

mnist数据集介绍
机器学习领域

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小旺不正经

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值