+++
此程式碼由成德高中810038羅崧瑋所撰寫
為自主學習之項目 若有不足請見諒
+++
-
Perceptron.java
主程式 -
train.java
net函數
公式: $net=\displaystyle\sum_{i=1}^n x i\times w_i= x 1*w_ 1-\Theta$
public double Sigma(final double x) { net = (x * w - e); return net; }
正確率函數
公式:
$正確率=1-\frac{錯誤次數}{總次數}$ public float per(int wr, int dataset) { //錯誤次數 //總次數 return (1 - (wr * 1.00f / dataset)); }
-
Data.java
產生亂數
利用 Java 內建
Math.random()
函數生成 max ~ min 的隨機亂數public double data(double max,double min){ double x=(int)(Math.random() * (max - min + 1) + min); return (int)x; }
-
actFunction.java
激活函數
-
Sigmoid
公式:
$y(x)=\frac{1}{1-E^{-net}}$ public static float Sigmoid(double net){ double y=(float)1/(1+Math.pow(Math.E,-1*net)); return (float) y; }
-
ReLU
公式: $$ f(n)= \begin{cases} 0 & \text for &\ x<0 \ x & \text for &\ x \ge 0 \end{cases} $$
public static float ReLU(double net) { double y=(net>0)?net:0; return (float)y; }
-