【python】keras包:深度学习( MLP多层感知器 Multi-Layer Perceptron)

本文介绍了如何通过多层感知器(MLP)神经网络用Keras库来解决图像分类问题,特别是区分猫和狗。首先,解释了MLP如何通过逻辑回归的组合模拟人脑思考。接着,详细展示了构建Sequential模型的步骤,包括添加Dense层、设置激活函数、配置损失函数和优化器。然后,对数据进行预处理并训练模型,最后进行预测并转换输出结果格式。

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

MLP多层感知器 Multi-Layer Perceptron

Part 1. 算法逻辑

实现经典问题——如何通过图像区分猫和狗
神经网络:建立模型,模仿人的思考机制
在这里插入图片描述

将“机器学习_逻辑回归”按照神经元的逻辑,组成逻辑网络。
解释: 假设自变量x[]和应变量y,机器学习只能做到 y= f(x)的拟合;而神经网络学习做到的是,生成中间变量 z[]=f(x[]),并拟合 y=g(z[]),从而得到 y=g(f(x[]))。这个过程好像神经元的生成过程。
简化理解: 就是多个逻辑回归、线性回归的“迭代”,越迭代越准确。

Part 2. 算法流程

Step 1. 建立 Sequential模型

from keras.models import Sequential
model = Sequential()

Step 2. 通过.add()叠加各层神经网络

from keras.layers import Dense,activation
model.add( Dense(units=3,activation='sigmoid',input_dim=3) )
# 表示:添加一个隐藏层,隐藏层符合下述规则
# 该层(输出层)有units个神经元,输入层有input_dim个神经元
# 该层(输出)采用"sigmoid"即逻辑回归法,作为中间神经联系
model.add( Dense(units=1,activation='sigmoid') )

注:activation 激活参数 的常见参数
sigmoid: 逻辑回归
softmax

Step 3. 通过.compile()配置模型求解过程的参数

model.compile(loss='categorical_crossentropy',optimizer='sgd' )
# loss表示所使用的损失函数
# 参数优化器 采用 'sgd'

注:loss 损失函数 的常见参数
categorical_crossentropy: 分类问题的损失函数
损失函数的选择,参考本链接

注:optimizer 参数优化器 的常见参数
'sgd'
'adam'
参数优化器的选择,参考本链接

Step 4. 模型训练

feature_size = (img1.shape[0])*(img1.shape[1])
x_train_format = x_train.reshape(x_train.shape[0],feature_size)
# 转换输入数据的维度

model.fit(x_train,y_train,epochs=5)
# 迭代epoch次训练

Step 5. 结果预测

pred_y_test = model.predict_classes(x_test)

Step 6. 转换输出结果的格式

from keras.utils import to_categorical
y_train_format = to_categorical(y_train)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

GoesM

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

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

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

打赏作者

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

抵扣说明:

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

余额充值