神经网络方面的研究很早就已经出现了,最近一类被称为神经网络的算法以深度学习的名字再度流行。深度学习以神经网络为基础,神经网络由多个感知机组成,并引入激活函数,是一个比感知机更复杂,能解决更多问题的模型。
本实训项目的主要内容是基于pytorch框架搭建出卷积神经网络模型,并训练出一个能够正确对手写数字进行识别的模型。
激活函数
#encoding=utf8
def relu(x):
'''
x:负无穷到正无穷的实数
'''
#********* Begin *********#
if x <= 0:
return 0
else:
return x
#********* End *********#
反向传播算法
#encoding=utf8
import os
import pandas as pd
from sklearn.neural_network import MLPClassifier
if os.path.exists('./step2/result.csv'):
os.remove('./step2/result.csv')
#获取训练数据
train_data = pd.read_csv('./step2/train_data.csv')
#获取训练标签
train_label = pd.read_csv('./step2/train_label.csv')
train_label = train_label['target']
#获取测试数据
test_data = pd.read_csv('./step2/test_data.csv')
#调用MLP模型并进行训练
mlp = MLPClassifier(solver='lbfgs',max_iter =500,
alpha=1e-3