jaringan syaraf tiruan: neuron, sekilas

Hmm kenapa ya kepikir tentang neuron di jaringan syaraf tiruan/JST (artificial neural network / ANN)? Bukan kepikir mengenai konsep neuronnya, tapi mengenai ‘how to make it’ alias codingannya.. Coba deh.. hmm baca-baca dikit dari Wikipedia: Artificial Neuron tentang neuron.


Model neuron:
model neuron

Model matematis dari neuron tersebut:
model matematis artificial neuron

gambar diambil dari Wikipedia

dengan Phi (Phi) adalah fungsi transfer.

First try kodenya dalam bahasa c++ (method2 ditulis inline):

class Neuron {
  public:
    /** konstruktor Neuron
     * @param nInput jumlah nilai masukan/input
     */
    inline Neuron(int anInput, TransferFunction &aTransferFunction, InitialWeightor &aIw)
    : nInput(anInput), transferFunction(aTransferFunction) {
      weight = new float[nInput + 1];
      for(int i=0; i<nInput+1; i++)
        weight[i] = aIw.GetWeight();
    }
    
    /** destruktor */
    inline ~Neuron() {
      delete [] weight;
    }
    
    /** memproses nilai-nilai input menjadi nilai output */
    float Process(float[] input) {
      float hasil = weight[0];
      for(int i=1; i<nInput+1; i++)
        hasil += weight[i] * input[i-1];
      return transferFunction.Phi(hasil);
    }
    
  private:
    int nInput;                         ///< jumlah nilai input
    float *weight;                      ///< beban setiap nilai input
    TransferFunction &transferFunction; ///< fungsi transfer
};

/** kelas untuk menginisiasi weight awal */
virtual class InitialWeightor {
  public:
    /** mengembalikan nilai weight awal pada sebuah input di suatu neuron */
    virtual float GetWeight() = 0;
}

/** kelas untuk menghitung nilai akhir dari hasil perkalian dan penjumlahan
 * nilai masukan
 */
virtual class TransferFunction {
  public:
    /** fungsi Phi */
    virtual float Phi(float hasil) = 0;
}

2 thoughts on “jaringan syaraf tiruan: neuron, sekilas

  1. unchan 15 April 2009 / 11:57

    coding yang dibuat itu untuk berapa parameter inputan dan berapa kelas outputnya?
    tx b4

  2. viey 15 Mei 2009 / 23:57

    di bhs java?????

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s