(instr)neural network

8
NEURAL NETWORK [email protected] saya muhammad fadil (mahasiswa PE di usakti), saya mo numpang nanya nich kalo memang diantara bapak-bapak, ibu-ibu dan saudara-saudara sekalian ada yg tau tolong saya diberikan penjelasan dan caranya terima kasih. Yang akan saya tanyakan adalah apa itu NEURAL NETWORK dan apa aja kelebihannya dan bagaimana cara pembuatannya??? [email protected] setahu saya, neural network itu suatu model perhitungan yg diambil (dianalogikan) dari perhitungan yg terjadi pada Jaringan Syaraf. Cara membuatnya dengan program komputer(berupa software) bisa menggunakan bahasa pemrograman apa saja dgn algoritma neural network.Bisa juga dengan software Matlab disitu sudah ada Neural Network Toolkitnya.Penggunaanya bias untuk pemodelan plant, design controller, pengenalan pola, membuat sensor virtual misalnya online-analyzer, dll. [email protected] Terima kasih untuk Bpk. Imam yang telah memberikan infomasi kepada saya. Untuk pembuatan Neural Network (NN) kita bisa memakai bahasa program apa saja, tetapi yang saya bingungkan adalah : 1. apa saja yang kita inputkan sewaktu pembuatan program/software tsb? 2. apa saja yang kita perlukan untuk memvalidasi program/software yang telah kita buat? Saya benar2 tertarik untuk bisa membuat NN, jadi saya mohon bantuan Bapak, Ibu dan Saudara serta rekan sekalian untuk dapat membantu ataupun membimbing saya dalam pembuatan NN ini. Ridzki Simanjuntak Dear Mas Fadil, Untuk NN, Mas Fadil mo terapin kemana? Apakah ntar misalnya mo digunain untuk memprediksi harga saham di bursa efek? atau lain sbgnya. Untuk menjawab pertanyaan:

Upload: emerson

Post on 27-Nov-2014

77 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: (Instr)Neural Network

NEURAL NETWORK

[email protected]

saya muhammad fadil (mahasiswa PE di usakti), saya mo numpang nanya nich kalo memang diantara bapak-bapak, ibu-ibu dan saudara-saudara sekalian ada yg tau tolong saya diberikan penjelasan dan caranya terima kasih.Yang akan saya tanyakan adalah apa itu NEURAL NETWORK dan apa aja kelebihannya dan bagaimana cara pembuatannya???

[email protected]

setahu saya, neural network itu suatu model perhitungan yg diambil (dianalogikan) dari perhitungan yg terjadi pada Jaringan Syaraf. Cara membuatnya dengan program komputer(berupa software) bisa menggunakan bahasa pemrograman apa saja dgn algoritma neural network.Bisa juga dengan software Matlab disitu sudah ada Neural Network Toolkitnya.Penggunaanya bias untuk pemodelan plant, design controller, pengenalan pola, membuat sensor virtual misalnya online-analyzer, dll.

[email protected]

Terima kasih untuk Bpk. Imam yang telah memberikan infomasi kepada saya. Untuk pembuatan Neural Network (NN) kita bisa memakai bahasa program apa saja, tetapi yang saya bingungkan adalah :

1. apa saja yang kita inputkan sewaktu pembuatan program/software tsb? 2. apa saja yang kita perlukan untuk memvalidasi program/software yang telah kita buat?

Saya benar2 tertarik untuk bisa membuat NN, jadi saya mohon bantuan Bapak, Ibu dan Saudara serta rekan sekalian untuk dapat membantu ataupun membimbing saya dalam pembuatan NN ini.

Ridzki Simanjuntak

Dear Mas Fadil,Untuk NN, Mas Fadil mo terapin kemana? Apakah ntar misalnya mo digunain untuk memprediksi harga saham di bursa efek? atau lain sbgnya.Untuk menjawab pertanyaan:1, Input, tergantung mo bikin apa? kalo prediksi harga saham kan, datanya bisa dibaca dari hasil2 saham di taun / bulan sebelumnya.2. Validasi software, yah kayak develop aplikasi aja di software engineering spt apa.

Contoh misalnya (diluar NN), kita mo nyelesein masalah TSP (traveling salesman problem).Problem ini terkenal bgt, banyak penemuan yg mengacu ke AI atau matematika biasa untuk solve problem ini. Saat ini metode yg diterapin hanya mengacu pada sebuah pendekatan untuk solve TSP. Ada Algoritma simulated annealing, genetic algorithm, GESA (Guided Evolutionary Simulated Annealing), dsb. Yah kalo dibuat s/wnya dgn algo sim annealing, inputnya berupa kota (node), temp, dan koef alpha, sesuai dgn konsep annealing di fisika trus terjadi simulasi dan keluar rute terpendeknya dan informasinya. Untuk validasi, cek untuk beberapa node dan bisa juga cek lagi list program untuk algo sim annealingnya.

[email protected]

misalnya NNnya untuk memodelkan  fungsi sbb.:y = x1*x2 + x3 biasanya input untuk NNnya x1,x2,x3, dan nilai2 x1,x2,x3, dan Y sebelumnya tapi kemungkinan inputnya banyak tergantung struktur model yg digunakan dan hasil yg diperoleh pas proses pelatihan NNnya,caranya mesti banyak coba2.

Page 2: (Instr)Neural Network

[email protected]

Maaf, topiknya saya ganti ya.. kok rasa2nya yg tadi rada kurang nyambung.Penerapannya memang sangat luas, seperti Pak Ridzki ungkapkan. Bisa juga ke proses kimia.. (pengontrolan pH, dll) Saya bukan mau nunjuk2 orang laen, tapi krn memang tidak begitu tahu mengenai ini, hanya dengar-dengar saja.Sepertinya Mas Mahaputra ingin menjelaskan juga mengenai penerapan neural network ini dalam pengenalan warna. Gimana mas Putra? ditunggu lho.. Atau jika Mas Fadil ingin berkonsultasi lebih jauh mengenai neural network, bisa langsung ke pakarnya, ke Bpk Yul Yunazwin (TF ITB), kebetulan beliau member milis ini juga, dan beliau sering sekali membimbing mahasiswa yang bertugas akhir dalam bidang NN.

What is a Neural Network?

A neural network is a powerful data modeling tool that is able to capture and represent complex input/output relationships. The motivation for the development of neural network technology stemmed from the desire to develop an artificial system that could perform "intelligent" tasks similar to those performed by the human brain. Neural networks resemble the human brain in the following two ways:

1. A neural network acquires knowledge through learning. 2. A neural network's knowledge is stored within inter-neuron connection strengths known

as synaptic weights.

The true power and advantage of neural networks lies in their ability to represent both linear and non-linear relationships and in their ability to learn these relationships directly from the data being modeled. Traditional linear models are simply inadequate when it comes to modeling data that contains non-linear characteristics.

The most common neural network model is the multilayer perceptron (MLP). This type of neural network is known as a supervised network because it requires a desired output in order to learn. The goal of this type of network is to create a model that correctly maps the input to the output using historical data so that the model can then be used to produce the output when the desired output is unknown. A graphical representation of an MLP is shown below.

Block diagram of a two hidden layer multiplayer perceptron (MLP). The inputs are fed into the input layer and get multiplied by interconnection weights as they are passed from the input layer

Page 3: (Instr)Neural Network

to the first hidden layer. Within the first hidden layer, they get summed then processed by a nonlinear function (usually the hyperbolic tangent). As the processed data leaves the first hidden layer, again it gets multiplied by interconnection weights, then summed and processed by the second hidden layer. Finally the data is multiplied by interconnection weights then processed one last time within the output layer to produce the neural network output.

The MLP and many other neural networks learn using an algorithm called backpropagation. With backpropagation, the input data is repeatedly presented to the neural network. With each presentation the output of the neural network is compared to the desired output and an error is computed. This error is then fed back (backpropagated) to the neural network and used to adjust the weights such that the error decreases with each iteration and the neural model gets closer and closer to producing the desired output. This process is known as "training".

Demonstration of a neural network learning to model the exclusive-or (Xor) data. The Xor data is repeatedly presented to the neural network. With each presentation, the error between the network output and the desired output is computed and fed back to the neural network. The neural network uses this error to adjust its weights such that the error will be decreased. This sequence of events is usually repeated until an acceptable error has been reached or until the network no longer appears to be learning.

A good way to introduce the topic is to take a look at a typical application of neural networks. Many of today's document scanners for the PC come with software that performs a task known as optical character recognition (OCR). OCR software allows you to scan in a printed document and then convert the scanned image into to an electronic text format such as a Word document, enabling you to manipulate the text. In order to perform this conversion the software must analyze each group of pixels (0's and 1's) that form a letter and produce a value that corresponds to that letter. Some of the OCR software on the market use a neural network as the classification engine.

Page 4: (Instr)Neural Network

Demonstration of a neural network used within an optical character recognition (OCR) application. The original document is scanned into the computer and saved as an image. The OCR software breaks the image into sub-images, each containing a single character. The sub-images are then translated from an image format into a binary format, where each 0 and 1 represents an individual pixel of the sub-image. The binary data is then fed into a neural network that has been trained to make the association between the character image data and a numeric value that corresponds to the character. The output from the neural network is then translated into ASCII text and saved as a file.

Of course character recognition is not the only problem that neural networks can solve. Neural networks have been successfully applied to broad spectrum of data-intensive applications, such as:

Process Modeling and Control - Creating a neural network model for a physical plant then using that model to determine the best control settings for the plant.

Machine Diagnostics - Detect when a machine has failed so that the system can automatically shut down the machine when this occurs.

Portfolio Management - Allocate the assets in a portfolio in a way that maximizes return and minimizes risk.

Target Recognition - Military application which uses video and/or infrared image data to determine if an enemy target is present.

Medical Diagnosis - Assisting doctors with their diagnosis by analyzing the reported symptoms and/or image data such as MRIs or X-rays.

Credit Rating - Automatically assigning a company's or individuals credit rating based on their financial condition.

Targeted Marketing - Finding the set of demographics which have the highest response rate for a particular marketing campaign.

Voice Recognition - Transcribing spoken words into ASCII text. Financial Forecasting - Using the historical data of a security to predict the future

movement of that security. Quality Control - Attaching a camera or sensor to the end of a production process to

automatically inspect for defects.

Page 5: (Instr)Neural Network

Intelligent Searching - An internet search engine that provides the most relevant content and banner ads based on the users' past behavior.

Fraud Detection - Detect fraudulent credit card transactions and automatically decline the charge.

Q.  What are Genetic Algorithms?

A.  Genetic algorithms are general-purpose search algorithms based upon the principles of evolution observed in nature. Even with today's high-powered computers, using an exhaustive search to find the optimal solution for even relatively small problems can be prohibitively expensive.

For many problems, genetic algorithms can often find good solutions (near-optimal) in around 100 generations. This can be many times faster than an exhaustive search. For example, a chromosome containing 32 binary genes would have 4,294,967,296 possible combinations (solutions) to evaluate when using an exhaustive search. If the same problem were to be solved with a genetic algorithm of population size 50, requiring 100 generations of evolution, the genetic algorithm would only need to evaluate 5000 possible solutions.

As mentioned previously, genetic algorithms are able to find optimal or near optimal solutions by using many of the principles of evolution that can be observed in nature. These include selection, crossover, and mutation. Below is an outline of how a genetic algorithm uses these principals to search for optimal solutions:

1. Create an initial population of chromosomes. Each chromosome is made up of a collection of genes (the parameters to be optimized) and represents a complete solution to the problem at hand. The gene values are usually initialized to random values within user-specified boundaries.

2. Evaluate each of the chromosomes in the initial population. A chromosome is evaluated by a fitness function to determine the quality of the solution. This fitness function is problem-specific and defines the genetic algorithm's objective for the current problem.

3. Select chromosomes that will have their information passed on to the next generation. The most common selection operator is “roulette selection”. This selection operator is based upon the evolutionary principle know as “survival of the fittest”, whereby a chromosome's probability of getting selected is proportional to its fitness. Thus, the good solutions are more likely to survive.

4. Crossover the selected chromosomes to produce new offspring chromosomes. This crossover occurs according to some user-defined probability (usually high) and results in new chromosomes having characteristics taken from both of the parent chromosomes. The most common crossover operator is “one point crossover”. This crossover operator picks a random point within the chromosomes, then switches the genes of the two chromosomes at this point to produce two new offspring. If an offspring takes the best parts from each of its parents, the result will likely be a better solution.

5. Mutate the genes of the offspring chromosomes. This mutation occurs according to some user-defined probability (usually low) and serves to introduce some variability into the gene pool. Without mutation, offspring chromosomes would be limited to only the genes available within the initial population. For real genes, one of the most common mutation operators simply adds a Gaussian distributed random value to the gene being mutated.

6. Repeat steps 3 through 5 until a new population of chromosomes has been created. Two chromosomes are selected, crossed-over, and mutated to produce two offspring until there are enough offspring to fill a population the same size as the last population.

7. Evaluate each of the chromosomes in the new population. Each of the chromosomes in the current population is evaluated by the fitness function, just as the initial population was evaluated in step 2.

Page 6: (Instr)Neural Network

8. Repeat steps 3 through 7 until some termination condition has been met. This termination condition can be based simply on the number of generations or it can be based upon more complex criteria such as the population convergence, fitness convergence, etc.

After the evolution of the initial population through many generations, the chromosomes (or solutions) within the final population will generally be much better as a whole than the chromosomes within the initial population. Also, the best chromosome in the final population will generally be near optimal if the genetic algorithm was run for enough generations.

Q.  How can genetic algorithms be used to improve neural networks?

A.  Genetic algorithms can be combined with neural networks to enhance their performance by taking some of the guesswork out of optimally choosing neural network parameters, inputs etc. In general, genetic algorithms can be used in conjunction with neural networks in the following four ways. They can be used to choose the best inputs to the neural network, optimize the neural network parameters (such as the learning rates, number of hidden layer processing elements, etc.), train the actual network weights (rather than using backpropagation), or to choose/modify the neural network architecture. In each of these cases, the neural network error is the fitness used to rank the potential solutions.

Q.  What are some of the types of neural networks that I can build with NeuroSolutions?

A.  NeuroSolutions includes two wizards to create neural networks for you based on your data and specifications. One of these wizards, the NeuralBuilder, centers the design specifications around the specific neural network architecture you wish to have built. Some of the most common neural network architectures include:

Multilayer Perceptron (MLP) Generalized Feedforward Modular Jordan/Elman Principal Component Analysis (PCA) Radial Basis Function (RBF) General Regression Neural Network (GRNN) Probabilistic Neural Network (PNN) Self-Organizing Map (SOM) Time-Lag Recurrent Network (TLRN) Recurrent Network CANFIS Network (Fuzzy Logic) Support Vector Machine (SVM)

Compiled by : Nugroho Wibisono ([email protected])Source : www.neurosolutions.com