帮我用python 代码实现多层感知机并 实现 MNIST 分类
时间: 2024-10-21 11:11:08 浏览: 26
手写MLP多层感知机,并测试MNIST数据集.zip
在Python中,我们可以使用深度学习库如Keras或PyTorch来实现一个多层感知机(MLP),然后训练它来进行MNIST手写数字分类。这里我会给出一个基本的例子,使用Keras库,因为它的API更直观。
```python
# 首先,确保安装了必要的库
import keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense
from keras.utils import to_categorical
# 加载MNIST数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train = x_train.reshape(60000, 784) / 255.0
x_test = x_test.reshape(10000, 784) / 255.0
y_train = to_categorical(y_train, 10)
y_test = to_categorical(y_test, 10)
# 创建一个简单的MLP模型
model = Sequential([
Dense(512, activation='relu', input_shape=(784,)), # 输入层和隐藏层
Dense(256, activation='relu'),
Dense(128, activation='relu'),
Dense(10, activation='softmax') # 输出层,使用softmax作为激活函数,10表示10个类别
])
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=10, batch_size=128, validation_split=0.2)
# 评估模型性能
test_loss, test_acc = model.evaluate(x_test, y_test)
print(f'Test accuracy: {test_acc}')
阅读全文