人工神經網絡算法
算法名稱
|
算法描述
|
---|---|
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)) # 分類預測