神经网络(Neural Network)是一种模仿人脑神经系统的计算模型,由大量的处理单元(称为神经元或节点)通过各种连接进行信息的传递和处理。在机器学习领域中,神经网络常用于解决分类、回归、聚类、强化学习等多种问题。
应用场景:
- 图像识别:如人脸识别、物体识别等,深度神经网络(如卷积神经网络CNN)在此领域有广泛应用。
- 语音识别与合成:将语音信号转化为文本(语音识别),或者生成语音(语音合成),例如百度、阿里等公司的语音助手技术。
- 自然语言处理:如机器翻译、情感分析、智能问答等,常见的如循环神经网络RNN及变种LSTM、GRU等。
- 推荐系统:利用深度学习进行用户行为预测,提升推荐效果。
- 游戏AI:如AlphaGo系列在围棋、星际争霸等领域的应用,使用了深度强化学习方法。
1from keras.models import Sequential
2from keras.layers import Dense
3
4# 创建一个简单的全连接神经网络模型
5model = Sequential()
6
7# 添加输入层,假设特征数为10
8model.add(Dense(32, input_dim=10, activation='relu')) # 第一层,32个神经元,激活函数为ReLU
9
10# 添加隐藏层
11model.add(Dense(64, activation='relu')) # 第二层,64个神经元
12
13# 添加输出层,假设类别数为1
14model.add(Dense(1, activation='sigmoid')) # 输出层,1个神经元,激活函数为Sigmoid,适用于二分类问题
15
16# 编译模型,指定损失函数、优化器和评估指标
17model.compile(loss='binary_crossentropy', # 二分类交叉熵损失函数
18 optimizer='adam', # Adam优化器
19 metrics=['accuracy']) # 准确率作为评估指标
20
21# 训练模型,假设X_train是输入数据,y_train是对应的目标值
22model.fit(X_train, y_train, epochs=10, batch_size=32)
以上代码创建了一个简单的前馈神经网络模型,并进行了编译和训练。