using system.collections;
using system.collections.generic;
using unityengine;
using system;
using system.io;
/// /// 神經網路
///
public class neuralnetwork
set}
private listoutlist = new list();//計算好的返回值
public int bodyinfo;
/// /// 初始化神經網路的時候就要指定好層數和對應神經元個數
///
public neuralnetwork(int bodyinfo)
//將所有神經元的權重集合 作為一條基因//
foreach (var layer in neurallayerlist)}}
}public void foresh(double d)
debug.logerror("權重s:" + str);//
}//給所有神經細胞按照儲存好權重load賦值
public void loadweight(double weightlist)}}
}//給所有神經細胞按照儲存好權重load賦值
public void loadweight(listweightlist)}}
}/// /// 輸入,然後計算返回值出去
///
public double pushout(double inputs)
//重置每個神經元自己的值
private void resetneuralvalue()}}
//各種加權求和
private listcalculate(double inputs)
}///隱藏層
for (int i = 1; i < neurallayerlist.count - 1; i++)//一層裡面 有一豎行神經元
neural.value = activationfunc(neural.value);}}
///輸出層
for (int i = 0; i < neurallayerlist[neurallayerlist.count - 1].neurallist.count; i++)//輸出層
double value = outneural.value;
// double value = activationfunc(outneural.value);//輸入和輸出層 通常不需要啟用函式
outlist.add(value);
}return outlist;
}//啟用函式
private double activationfunc(double x)
//y=1/(1+e^-x)//值->0-1
private double sigmoidfunction(double x)
//啟用函式[返回值在-1,1]
//y=sinh(x)/cosh(x)=(e^x - e^-x)/(e^x + e^-x)tanh函式
private double tanhfunction(double x)
}/// /// 神經層
///
public class neurallayer
}public listneurallist = new list();
}/// /// 神經元
///
public class neural
public double value;
public double weights;//權重
private void randomweights()//隨機乙個權重|有資料的話 外面再重新賦值
}}
人工神經網路 多層神經網路
模型原型 sklearn.neural network.mlpclassifier hidden layer sizes 100,activation relu algorithm adam alpha 0.0001,batch size auto learning rate constant le...
人工神經網路
人工神經網路 artificial neural network,ann 通過對大量歷史資料的計算來建立分類和 模型。神經網路的學習就是通過迭代演算法對權值逐步修改優化的過程。學習的目標是通過修改權值是訓練樣本集中所有樣本都能被正確分類。人工神經元用於模擬生物神經元,人工神經元可以看作乙個多輸入 單...
人工神經網路
import numpy as np import matplotlib.pyplot as plt import pandas as pd import seaborn as sns from sklearn.model selection import train test splitann建模...