目录
一、从生物神经元到人工神经元的进化之路
1.1 生物启发与数学建模
McCulloch-Pitts神经元模型:
现代激活函数进化:
import tensorflow as tf
import matplotlib.pyplot as plt
x = tf.linspace(-5., 5., 200)
activations = {
"Sigmoid": tf.sigmoid,
"ReLU": tf.nn.relu,
"Swish": lambda x: x * tf.sigmoid(x)
}
plt.figure(figsize=(12, 6))
for i, (name, func) in enumerate(activations.items()):
plt.subplot(1, 3, i+1)
plt.plot(x, func(x))
plt.title(name)
plt.tight_layout()
二、多层感知机(MLP)架构解析
2.1 手写数字识别实战
from tensorflow.keras import layers, models
# 构建MLP模型
model = models.Sequential([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(512, activation='relu'),
layers.Dropout(0.2),
layers.Dense(256, activation='relu'),
layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
2.2 模型结构可视化
from tensorflow.keras.utils import plot_model
plot_model(model, to_file='mlp_architecture.png', show_shapes=True)
三、Keras核心API实战指南
3.1 数据预处理流程
from tensorflow.keras.datasets import mnist
# 加载与预处理数据
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train / 255.0
X_test = X_test / 255.0
# 添加通道维度(可选,适配不同后端)
# X_train = X_train[..., tf.newaxis]
# X_test = X_test[..., tf.newaxis]