belajar neural network

16
Belajar neural network Menjawab beberapa pertanyaan rekan2 lain di thread terpisah, sebaiknya saya jadikan satu topik supaya lebih gampang. Saya juga masih belajar mengenai neural network (NN) jadi kalau ada yg kurang atau salah kata harap dimaklumi Aplikasi NN ini sebenarnya sangat luas tapi saya coba batasi pembahasannya lebih fokus ke arah financial time series forecasting. Apa itu neural network? Silakan baca di sini dulu http://en.wikipedia.org/wiki/Neural_network Pada mulanya istilah neural network mengacu pada sistem syaraf biologis (biological neuron system) seperti jaringan otak manusia. Tapi sekarang ini neural network sering diartikan sebagai jaringan syaraf buatan (artificial neural network) yang dipakai sebagai dasar pengembangan kecerdasan buatan (artificial intelligence). Neural network biologis yang kita punya (otak) setiap hari menyelesaikan berbagai masalah dari yang sederhana sampai yang rumit. Contohnya kita mampu membedakan jenis makanan berdasarkan warna, bentuk, bau dan tekstur permukaan. Bagaimana cara kerja otak sehingga mampu membedakan jenis makanan? Ilustrasi: Cari anak balita yang belum pernah liat spaghetti. Kita sodorkan sepiring spaghetti trus tanya ke si kecil "Ini makanan apa?" Jawabnya "Nggak tau". OK sekarang kakak ajarin ya.... coba pegang makanan ini. Lalu coba cium baunya. Lalu coba lihat warnanya. Terakhir coba makan & rasanya bagaimana? Jawab si kecil "ooo... ini namanya spaghetti, makasih ya kk"

Upload: chuenk99

Post on 15-Sep-2015

12 views

Category:

Documents


3 download

DESCRIPTION

Neural Network

TRANSCRIPT

Belajar neural network

Belajar neural network

Menjawab beberapa pertanyaan rekan2 lain di thread terpisah, sebaiknya saya jadikan satu topik supaya lebih gampang. Saya juga masih belajar mengenai neural network (NN) jadi kalau ada yg kurang atau salah kata harap dimaklumi http://en.wikipedia.org/wiki/Neural_network INCLUDEPICTURE "http://www.indofx-trader.net/images/smiles/icon_biggrin.gif" \* MERGEFORMATINET

Aplikasi NN ini sebenarnya sangat luas tapi saya coba batasi pembahasannya lebih fokus ke arah financial time series forecasting.

Apa itu neural network? Silakan baca di sini dulu

Pada mulanya istilah neural network mengacu pada sistem syaraf biologis (biological neuron system) seperti jaringan otak manusia. Tapi sekarang ini neural network sering diartikan sebagai jaringan syaraf buatan (artificial neural network) yang dipakai sebagai dasar pengembangan kecerdasan buatan (artificial intelligence).

Neural network biologis yang kita punya (otak) setiap hari menyelesaikan berbagai masalah dari yang sederhana sampai yang rumit. Contohnya kita mampu membedakan jenis makanan berdasarkan warna, bentuk, bau dan tekstur permukaan. Bagaimana cara kerja otak sehingga mampu membedakan jenis makanan?

Ilustrasi: Cari anak balita yang belum pernah liat spaghetti. Kita sodorkan sepiring spaghetti trus tanya ke si kecil "Ini makanan apa?" Jawabnya "Nggak tau". OK sekarang kakak ajarin ya.... coba pegang makanan ini. Lalu coba cium baunya. Lalu coba lihat warnanya. Terakhir coba makan & rasanya bagaimana? Jawab si kecil "ooo... ini namanya spaghetti, makasih ya kk"

Boleh dibilang kita sedang mengajari (training) si kecil untuk mengenali spaghetti.

Besoknya kita bawa sepiring mie goreng kecap lalu tanya ke si kecil "Ini makanan apa?". Si kecil pasti masih inget spaghetti yang kemarin, tapi koq yang ini sedikit beda ya? Dipegang bentuknya mirip, tapi baunya beda, lalu warnanya beda. Terakhir dikunyah... oh rasanya juga beda. "Ini namanya mie goreng". Si kecil mengangguk tanda mengerti.

Besoknya kita bawa mie bakso pangsit. Prosesnya sama seperti sebelumnya. Si kecil mulai belajar membedakan jenis makanan yang mirip tapi tak sama. Proses kerja otak si kecil kurang lebih seperti ini:

Pertama kita memberi "input" kepada si kecil berupa: - tekstur makanan - bau makanan - warna makanan - rasa makanan

Lalu kita memberikan output ke si kecil berupa nama makanan "spaghetti, mie goreng, mie bakso" dan kita ajari beberapa kali dengan menyodorkan berbagai jenis makanan mie.

Setelah tiga kali diajarin, kita sodorkan mie pangsit. Otak si kecil langsung bekerja:

Input --> proses --> output

Lalu si kecil ngomong "KK ini mirip mie bakso seperti kemarin tapi ada pangsitnya. Saya kasih nama mie pangsit ya" Horee si kecil udah mulai pinter. Besoknya dia sudah bisa membedakan i fu mie, kwetiaw goreng, kwetiaw rebus dll.

Dari ilustrasi di atas kita sekarang aplikasikan ke trading. Setiap hari sebenarnya seorang trader sedang training dirinya masing-masing:

Input ----> Proses ----> Output - indicator - biological neural network - buy - chart pattern (otak kita) - sell - candlestick pattern - hold - news - dllINPUT

Ada pepatah bibit menentukan masa depan. Ini juga berlaku dalam proses NN. Pemilihan input sangat krusial. Coba kalau kita pakai indicator yang nggak ada korelasi dengan market, keputusan trading juga pasti jadi ngaco. Seorang trader kalau dikasih indicator banyak mungkin bakalan bingung sendiri. Atau coba bayangin kita dapat berita yang menyesatkan, open trade kita juga bakal tersesat menuju MC

Jadi sekarang pertanyaan mendasar: input apa yang paling bagus? Dari sepuluh input mana yang bisa dipakai, mana yang bisa dibuang?

Kita bisa cari jawabannya dengan mencoba satu per satu setiap input. Hari ini coba pakai MACD, setting standard, dikombinasikan dengan RSI setting standard. Kalau hasilnya jelek, coba pakai settingan berbeda. Kalau hasilnya masih jelek juga coba gabugkan dengan indicator lain. Besok coba lagi pakai indicator A s/d Z. Mirip saya waktu awal2 belajar trading Kalau inget cape juga... tapi wajar dalam proses belajar semua pasti pernah ngalamin.

Cara lain yang lebih praktis kita tanya ke komputer: nih saya kasih 10 input, coba pilih sendiri mana yang terbaik. Trus kamu cari sendiri setting yang paling optimal. Komputer bisa bekerja jauh lebih cepat daripada otak & otot kita. Hasilnya jauh lebih akurat dan menghemat waktu.

PROSES

Tahapan proses dalam NN biologis (otak kita) sangat-sangat kompleks, karena jaringan syaraf otak kita mengandung milyaran sel. Masing-masing sel, atau bisa kita sebut "node" mengandung bobot dan informasi yang mempengaruhi output.

Dalam konteks trading, NN biologis punya kelemahan karena terpengaruh oleh "node" yang namanya emosi. Nggak perlu saya jelasin teman2 pasti udah ngerti.

Artificial NN berbeda dengan NN biologis. Proses dalam artificial NN murni menggunakan kalkulasi matematis. Karena menggunakan kalkulasi matematis muncullah beberapa pendekatan - mungkin teman2 pernah denger - yang namanya polynomial, probabilistic, backpropagation, kohonen, dsb. Saya nggak akan membahas pendekatan matematis tsb karena (1) masuk materi kuliah tingkat master/doktoral (2) nggak ada waktu buat belajar.

Kalau udah liat aplikasi Ezdemo pasti punya gambaran jelas. Masing-masing nodes memberikan bobot dalam kalkulasi, dan bagaimana masing-masing node berinteraksi satu sama lain tergantung dari formula matematis yang digunakan (polynomial, probabilistic, dsb)

Oh ya, ada yang beranggapan model NN buatan ada sentuhan "human" nya. Sekali lagi perlu diingat model NN buatan adalah murni proses kalkulasi matematis yang meniru cara kerja NN biologis.

Jadi sama sekali tidak ada sentuhan "human" apalagi unsur emosi. Model NN boleh dibilang mirip dengan formula matematika non linear. Kasarnya, hari ini 2+2=4 tapi besok bisa jadi 2+2=5

OUTPUT

Dalam konteks trading, output dari model NN bisa berupa:

1. prediksi price di masa depan 2. klasifikasi chart pattern 3. klasifikasi price pattern 4. prediksi nilai indikator di masa depan 5. (ada yg bisa nambahin?)

Kelebihan utama dari konsep NN adalah kemampuannya untuk memprediksi value di masa depan. Dari ilustrasi awal, si anak kecil sudah bisa membedakan jenis makanan setelah tiga kali ditraining. Berikutnya disodori mie ayam dia akan langsung berpikir "ini mirip mie pangsit tapi nggak ada pangsit, cuma ada bakso, berarti namanya mie ayam!"

Dari ilustrasi Ezdemo (link download postingan awal) kita bisa menggunakan model NN untuk memprediksi nilai penjualan. Seperti yang kita lihat bahwa nilai prediksi tidak pernah 100% tepat dengan nilai aktual, tapi nilai prediksi yang mendekati nilai aktual sudah lebih dari cukup untuk mengambil keputusan. Ini namanya value approximation.

Kelebihan lain dari konsep NN ini adalah kemampuannya beradaptasi.

Ingat, setiap model NN selalu memerlukan yang namanya proses training. Sama seperti kita sebelum test/ujian selalu perlu yang namanya belajar dan latihan soal dulu.

Dalam proses training kita tentukan satu data set berupa price history - bisa seminggu, dua minggu, satu bulan, dst. Kalau saya biasanya menggunakan data set dua minggu ke belakang untuk digunakan trading satu minggu ke depan. Model NN nya menggunakan time frame 1 hour. Setelah satu minggu selesai lalu training ulang, begitu seterusnya.

Sekarang coba perhatikan. Ada periode EURUSD bergerak cuma 200-300 pips dalam satu minggu. Tapi kemarin EU bergerak sampai 300 pips dalam satu hari. Kalau model NN ditraining dengan range 300 pips seminggu, dia akan bereaksi bagus jika minggu berikutnya price masih sideways. Kalau model NN ditraining dengan range 300 pips sehari, dia akan bereaksi bagus jika minggu berikutnya price bergerak trending. Lebih baik lagi jika model NN bereaksi bagus pada saat sideways dan trending. Nah menemukan model NN seperti itu yang sulit.

Sekedar bahan pemikiran buat rekan2: System trading konvensional yang kita pakai di MT4 kebanyakan bersifat statis. Betul? Kita menggunakan rules dari beberapa indicator, dari waktu ke waktu tidak berubah. Parameter atau settingan juga tidak berubah dari waktu ke waktu. Ini kalau tradernya konsisten ya.

Nah kita pasti sepakat bahwa market selalu bergerak dinamis. Sekarang apa jadinya kalau system yang bersifat statis diterapkan di market yang selalu dinamis? Pasti selalu ada saat systemnya tidak bekerja alias sering loss. Ada saatnya juga sering profit.

Saya tidak mengatakan system trading yang statis adalah jelek. Sama sekali tidak. Saya cuma ingin mengatakan akan lebih baik lagi kalau kita menggunakan system yang dinamis untuk market yang dinamis.

System yang berbasis NN sudah diterapkan di beberapa mobil. Saya pernah ikut training Volkswagen, di mobil mereka ada fitur yang namanya "Brake Assist". System ini bisa mendeteksi apakah situasi mobil saat itu sedang dalam kondisi pengereman darurat atau tidak. Kalau terdeteksi pengereman darurat maka system akan memerintahkan mobil untuk mencengkeram piringan rem lebih kuat karena tidak semua pengendara kakinya cukup kuat untuk menginjak pedal rem, apalagi dalam keadaan panik. System brake assist ini terpisah dengan ABS (Anti Lock Brake System). Brake assist mengatur kuat-lemahnya injakan pedal rem, sedangkan ABS mencegah roda terkunci sehingga mengurangi gejala slip.

Ada juga yang diterapkan di sistem transmisi. Volkswagen Golf GTI dulu masih transmisi manual tapi sekarang yg generasi kelima sudah transmisi matic. Teknologi transmisinya namanya DSG, respon perpindahan giginya kurang dari satu detik. DSG bisa mendeteksi apakah pengendara butuh yang normal (jalan pelan-pelan) atau butuh yang sport. Kalau normal maka perpindahan gigi dilakukan pada RPM rendah sedangkan kalau sport perpindahan giginya di RPM tinggi.

Tools untuk membuat model NN banyak, tapi di antara semuanya top of the list nya hanya 2: Neuroshell dan Mat Lab. Saya belum pakai Mat Lab, cuma neuroshell. Pelan-pelan ya... nanti kita bahas ke situ. Lebih baik kita pahami dulu beberapa istilah supaya jangan rancu dan akhirnya malah bingung sendiri.

Model NN bisa digambarkan seperti ini:

Yang paling kiri disebut input layer, di tengah disebut hidden layer atau hidden neuron, di sebelah kanan disebut output layer. Gambar ini adalah model NN yang sudah jadi. Sedangkan model NN yang masih mentah bentuknya seperti ini:

Model NN yang belum jadi kalau diberikan data di input layer akan menghasilkan nilai output jauh dari yang diharapkan, atau dengan kata lain errornya masih tinggi. Tapi model NN yang sudah jadi bisa memberikan nilai output yang mendekati aktual.

Bagaimana proses model NN dari yang mentah sampai jadi? Melalui proses training atau proses learning. Di aplikasi Ezdemo kita lihat proses trainingnya dengan cara memasukkan node di hidden layer satu per satu sampai akhirnya nilai output mendekati nilai aktual. Setiap node di hidden layer juga memberikan bobot berbeda satu sama lain. Lalu bagaimana mencari nilai bobot dari masing2 node? Caranya menggunakan teknik optimization.

Teknik optimization murni menggunakan algoritma matematis. Dari beberapa teknik ada dua yang saya tahu: exhaustive search algorithm dan genetic algorithm.

Exhaustive search algorithm pendekatannya mencoba semua kombinasi yang ada, satu per satu. Teknik ini hasilnya sangat akurat tapi kelemahannya makan waktu sangat-sangat lama sekali. Bayangkan kalau hidden layernya ada 30 node dan masing2 node punya bobot berkisar 1 sampai 200.

How Does a Genetic Algorithm Work?

A genetic algorithm solves optimization problems by creating a population or group of possible solutions to the problem. The individuals in this population will carry chromosomes that are the values of variables of the problem.

The genetic algorithm actually solves your problem by allowing the less fit individuals in the population to die (peacefully) and selectively breeding the most fit individuals (the ones that solve the problem best). This process is called selection, as in selection of the fittest. The genetic algorithm will take two fit individuals and mate them (a process called crossover). The offspring of the mated pair will receive some of the characteristics of the mother, and some of the father.

In nature, offspring often have some slight abnormalities, called mutations. Usually these mutations are disabling and inhibit the ability of the children to survive, but once in a while they improve the fitness of the individual (like toes stuck together in a web-like fashion). The genetic algorithm similarly occasionally causes mutations in its populations by randomly changing the value of a variable.

After the genetic algorithm mates fit individuals and mutates some, the population undergoes a generation change. The population will then consist of offspring plus a few of the older individuals, which the genetic algorithm allows to survive to the next generation because they are the most fit in the population, and we will want to keep them breeding. These most fit individuals are called elite individuals.

After dozens or even hundreds of "generations", a population eventually emerges wherein the individuals will solve the problem very well. In fact, the most fit (elite) individual will be an optimum or close to optimum solution.

The processes of selection, crossover, and mutation are called genetic operator.

Genetic algorithm adalah kalkulasi matematis yang meniru proses seleksi alam.

Lalu pertanyaan berikutnya: apakah cuma hidden neuron saja yang perlu optimization. Sekarang kita lihat input layer. Misalkan input layer kita berikan tiga indicator:

MACD 12,26,9 RSI 14 CCI 14

Katakanlah parameter inputnya kita buat statis dan kita training model NN nya (optimize hidden layer), dan akhirnya jadi. Lalu setelah itu kita iseng rubah satu saja parameter input seperti ini:

MACD 12,26,9 RSI 14 CCI 21

sedangkan hidden layer tetap. Output pasti sama sekali berbeda dengan model awal. Kita harus training ulang model NN karena parameter inputnya berubah. Sekali lagi kita perlu ingat input menentukan hasil jadi kita harus mencari input yang bagus plus parameter yang bagus. Caranya mencari parameter yang bagus kembali lagi menggunakan teknik optimization.

Jadi kesimpulannya ada dua layer yang perlu optimization: input layer dan hidden layer.

Genetic algorithm di MT4

Buat teman2 penggemar EA, sebenarnya ada fitur optimization yang sudah built in di MT4. Fitur optimization ini digunakan untuk mencari parameter EA yang paling optimal, misalnya mencari value TP dan SL.

Coba buka strategy tester. Di situ ada checkbox "Optimization".

Lalu klik "Expert properties". Di tab "Testing" ada check box genetic algorithm. Optimized parameter "Balance" artinya komputer akan mencari kombinasi nilai TP dan SL yang akan menghasilkan Balance paling besar.

Kalau genetic algorithm tidak dicentang, maka komputer akan menggunakan exhaustive search algorithm. Coba aja bedain lama pemrosesannya. Genetic algorithm jauh lebih cepat.

Sekarang coba klik tab "Inputs"

Di baris TP, kolom Start=50 Step=1 Stop=200 artinya system akan mulai mencari dari nilai 50, 51, 52 dan seterusnya sampai 200. Ingat, genetic algorithm tidak akan mencoba setiap kombinasi TP dan SL dengan range dari 50 s/d 200, tapi dia pertama akan membuat populasi awal berupa beberapa kombinasi saja lalu menganalisa kombinasi mana yang berpotensi menghasilkan output paling optimal.

Sorry agak melenceng sedikit tapi saya rasa tidak semua rekan tahu mengenai fitur genetic algorithm di MT4

O begitu ya baru tahu saya. Semakin menarik untuk dibahas. Jadi MT4 pun bisa dibuat untuk NN ya. Setelah saya coba untuk optimize ternyata dari satu system aja bisa menghasilkan lebih dari 10000 kombinasi. benar2 melelahkan untuk menunggu karena kalau melihat estimasi waktunya menghabiskan 281 menit untuk mendapatkan seluruh kombinasi itu hehehe. tapi mungkin bisa didapat hasil yang memuaskan ya. Nanti dicoba dech di championship mql4, apa bener2 bisa sukses.

Bisa, dengan catatan kita harus ngerti bagaimana programming model NN dalam bentuk mql4. Dulu saya pernah coba belajar tapi akhirnya angkat tangan karena butuh waktu banyak untuk belajar ini dan itu. Banyak sekali yang perlu dipelajari.

Fitur genetic algorithm di MT4 sekali lagi untuk fungsi optimization. Bisa saja kita develop input layer dan hidden layer dalam pemrograman EA, lalu setelah itu kita gunakan MT4 untuk optimization. Ada beberapa contoh EA yang menggunakan model perceptron. Perceptron ini salah satu model NN jaman jebot, kalau di-optimize dan di-back test hasilnya fantastis. Tapi begitu forward test hasilnya kurang bagus.

Saya kasih saran jangan berharap bisa cepat nemu holy grail dengan neuroshell atau dengan neural network. Memang NN punya potensi untuk develop system trading yang bagus, tapi software baru bisa powerful kalau kita tahu cara menggunakannya.

Ada banyak tools untuk develop model NN. Coba baca artikel mengenai bagaimana membuat model NN dengan MatLab di sini: http://articles.mql4.com/461

Kalau mau cari bajakan MatLab gampang, di toko software bajakan sudah ada yang versi 2008. Saya sendiri belum pernah pake, mungkin sebentar lagi mau coba ke arah sana.

Keuntungan pakai MatLab ini kita bisa mengatur dan melihat sendiri cara kerja hidden layer, bagaimana setiap neuron berinteraksi satu sama lain, dan kita bisa menambahkan beberapa layer tambahan. Lebih fleksibel. Tapi sayangnya untuk bisa develop model NN dengan cara ini kita harus punya basic mengenai beberapa teori NN. Termasuk di antaranya kita bisa mengaplikasikan teori yang dibahas di artikel ini: http://articles.mql4.com/717

Buat teman-teman yang sudah pernah pakai MatLab mungkin bisa bantu. Soalnya pengetahuan saya soal ini sedikit sekali.

Tools software yang lebih user friendly buat orang awam seperti saya mungkin lebih cocok pakai neuroshell. Kita tidak tahu apa dan bagaimana hidden layer terbentuk di neuroshell. Kasih input, tentukan jumlah maks node, keluarlah output. Setahu saya network yang dipakai di neuroshell bukan tipe polynomial, backpropagation, probabilistic ataupun kohonen. Meskipun di salah satu add-on nya ada indicator network polynomial. Jadi model network nya mungkin murni hasil inovasi dari Ward Systems.

Di situ sudah termasuk beberapa add-on, yang kalau beli originial masing2 harganya $249

Saya nemu NST di toko tapi yang versi lama 3.8. Yang saya tahu bedanya ada beberapa indicator yg cuma jalan di versi 4 ke atas. Link yang dikasih bro kenshi itu versi 5.0 Alpha 4. Bedanya di versi 5 ini ada fitur untuk drawing manual (fibo, trendline, dsb.) Saya coba versi 5.0 ini nggak stabil; sering quit dan bikin komputer hang. Dulu saya akhirnya kembali pakai versi 4.4 karena jauh lebih stabil. Saya punya versi 5.3 tapi sorry banget nggak bisa saya share karena saya beli lumayan mahal.

Strategi MA crossover pasti banyak yg sudah familiar. Banyak yg bilang kelemahan strategi ini karena menggunakan lagging indicator. Tapi kelebihannya strategi ini bisa profit gede kalau market sedang big move / trending.

Nah dulu project pertama saya seperti ini. Katakan kita pakai 2 jenis moving average: fast & slow. - Pertama, buat prediksi value fast MA 5 bar ke depan. - Lalu kedua, buat prediksi value slow MA 5 bar ke depan.

Kelihatannya simpel. Tapi kita harus mencari input yang pas. Lalu masing2 prediction model harus kita pastikan dulu average error-nya minim, atau r-squared nya maksimal.

NST memang menyebalkan kalau urusan data feed. Di MT4 kita konek ke server broker.... hupla! bisa download data price gratis sekaligus realtime tick. Kalau di NST ceritanya lain, kita harus cari sendiri data feed nya. Kalau punya account di Interactive Broker bisa gratis data feed, kalau bayar berlangganan bisa ke Prophet.net atau Quote.com

Cara lain kita export data dari MT4

a. Di terminal MT4 - tekan F2 (history center), pilih symbol dan time frame (contohnya EURUSD 1 Hour), klik export, lalu save di folder Neuroshell Trader > Data > Exchrate atau bikin folder baru di situ.

b. Modifikasi filenya dengan Excel Tambahkan di baris pertama: Data, Time, Open, High, Low, Close, Volume

Catatan: Format tanggal di kolom pertama harus seperti ini: yyyy.MM.dd (pemisahnya pakai titik)

c. Rubah format tanggal di Windows: - Start > Control panel > Regional & language option. - Di Regional Option tab, pilih customize. - Pilih tab Date, rubah formatnya menjadi yyy.MM.dd dengan pemisahnya menggunakan tanda titik dan bukan slash ("/") - Click Ok

d. Di Neuroshell - Klik menu Tools > Data Source > Directoris/Files lalu klik autoscan dan browse ke folder data. - File yang di-export dari MT4 akan muncul di kategori ASCII

Untuk menggunakan data export di atas, klik File > New > (no template), lalu pilih nama data export tadi.

Hal yang sama juga berlaku untuk model NN. Kalau kita terlalu banyak mengambil data set misalnya 2000 bar ke belakang di time frame 1 hour, ada kecenderungan modelnya "over fitting" alias terlalu kaku. Waktu di-backtest mungkin hasilnya bagus tapi waktu forward test dia terlalu kaku meskipun ada kesempatan buy sell tapi tidak muncul signal.

Sekarang kembali ke preferensi trader masing-masing. Apakah mau membuat model yang super fleksibel? Atau mau membuat model yang overfitting? Menurut saya sebaiknya kita ambil jalan tengah membuat model yang optimal.

Rules of thumb nya begini. Jumlah bar di time frame 1 hour selama satu bulan kurang lebih 500 bar. Kalau tf 30 menit berarti jumlahnya dua kali lipat dst. Menurut pengalaman saya model NN bisa dikategorikan fleksibel kalau training setnya menggunakan data 500 s/d 1000 bar ke belakang. Kurang dari 500 bisa dikategorikan modelnya sangat fleksibel. Lebih dari 1000 bar mulai ada kecenderungan over fitting.

Lalu hal yang sama juga perlu diperhatikan waktu kita menentukan berapa jumlah node di hidden layer. Semakin banyak jumlah hidden neuron mulai ada kecenderungan over fitting. Rekomendasi dari Ward Systems sebaiknya jangan gunakan lebih dari 30 neuron, meskipun di softwarenya maksimum bisa sampai 80. Saya sendiri biasanya menggunakan 15-20 hidden neuron.

Tapi semuanya kembali ke preferensi trader masing-masing. Saya pernah baca ada trader yang menggunakan lebih dari 60 hidden neuron dan dalam setahun dia hanya ambil 3-4 trade di stock market. Mungkin dia sengaja membuat model yang kaku untuk menghindari false signal dan karakteristik model NN nya memang banyak muncul false signal kalau jumlah hidden neuron nya sedikit.