神经网络算法
M-P 神经元模型
模拟神经元,通过函数将输入的向量转化为输出。
多层前馈网络
单层神经元学习能力非常有限,故而添加多个神经元,将神经元分为多层,它们不存在跨层连接,也没有同层连接,每层神经元和下一级神经元完全互连,这样的神经网络被称为“多层前馈网络”。其中,输入层神经元只负责输入,隐层神经元和输出层神经元都包含功能神经元,即包含激活函数。学习的过程即根据训练数据来调节神经元之间的“连接权”,以及功能神经元的阈值。
误差逆传播算法(BP 神经网络算法)
调节参数的过程可以看做误差通过函数作用于神经元网络逆着传输回去。
通过 sk-learn 实现 BP 算法
import os
import pandas as pd
from sklearn import svm
from sklearn.neural_network import MLPClassifier
base_dir = os.getcwd()
data = pd.read_csv(base_dir + r"\read\bupa.csv")
dataLen, dataWid = data.shape
# 训练数据集
xList = []
# 标签数据集
lables = []
# 读取数据
cnt = 0
print(dataLen)
for i in range(dataLen):
row = data.values[i]
xList.append(row[0:dataWid - 1])
lables.append(cnt)
cnt += 1
cnt %= 8
# 设置训练函数
clf = MLPClassifier(solver='lbfgs', alpha=1e-5,
hidden_layer_sizes=(10, 7, 7, 7, 13), random_state=1, max_iter=1000)
# 开始训练数据clf.fit(xList, lables)
print(lables)
y_pred = clf.fit(xList, lables)
m_p = clf.predict([[2, 0, 0, 0, 0, 0.3]])
print(m_p)
sk-learn 官方文档
![525bfb1a92fae34be7c9f5b4626417e.jpg]
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于