人工神经网络算法
算法名称
|
算法描述
|
---|---|
ANFIS自适应神经网络 | 神经网络镶嵌在一个所有模糊的结果之中,在不知不觉中向训练数据学习,自动生产,修正并高度归纳出最佳的输入与输出变量的隶属函数以及模糊规则;另外,神经网络的各层结构于参数也都具备了明确的,易于理解的物理意义. |
BP神经网络 | 是一种按偏差逆传播算法训练的多层前馈网络,学习算法是δ学习规则,是目前应用最普遍的神经网络模型之一 |
FNN神经网络 | FNN模糊神经网络是具备模糊权系数或者输入信号是模糊量的神经网络,是模糊系统与神经网络项结合的产物,它汇聚了神经网络与模糊系统的优势,集联想,识别,自适应及模糊信息处理于一体. |
GMDH神经网络 | GMGH网络也称为多项式网络,它是前馈神经网络中经常使用的一种用于预测的神经网络,它的特色是网络结构不固定,并且在训练过程当中不断改变 |
LM神经网络 | 是基于梯度降低法和牛顿法结合的多层前馈网络,特色:迭代次数少,收敛速度快,精确度高 |
RBF径向基神经网络 | RBF网络可以以任意精度逼近任意连续函数,从输入层到隐含层的变换是非线性的,而从隐含层到输出层的变换是线性的,特别适合于解决分类问题api |
# -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf-8") """ 使用神经网络算法预测销量高低 """ # 参数初始化 import pandas as pd data = pd.read_csv("./sales.csv", header=None, sep="\t", names=["date", "sale", "item1", "item2", "item3", "item4"]) # 根据类别表前转化成数据 data[data["item1"] == u"好"] = 1 data[data["item1"] != u"好"] = 0 data[data["item2"] == u"好"] = 1 data[data["item2"] != u"好"] = 0 data[data["item3"] == u"好"] = 1 data[data["item3"] != u"好"] = 0 data[data["item4"] == u"好"] = 1 data[data["item4"] != u"好"] = 0 x = data.iloc[:, :3].as_matrix().astype(int) # 转化称int y = data.iloc[:3].as_matrix().astype(int) # 转化成int from keras.models import Sequential from keras.layers.core import Dense, Activation model = Sequential() # 创建模型 model.add(Dense(3, 10)) model.add(Activation('relu')) # 用relu函数做为激活函数,可以大幅提供精准度 model.add(Dense(10, 1)) model.add(Activation('sigmoid')) # 因为是0-1输出,用sigmoid函数做为激活函数 model.compile(loss='binary_crossentropy',optimizer='adam', class_mode='binary') # 编译 模型,因为作的是二元分类,因此指定损失函数为binary_crossentropy,以及模式为binary # 另外常见的损失函数还有mean_squared_error,categorical_crossentropy等, model.fit(x,y, nb_epoch=1000, batch_size=10) # 训练模型 # 学习1000次 yp = model.predict_classes(x).reshape(len(y)) # 分类预测