More Related Content
Similar to Perceptron (20)
Perceptron
- 2. Page2
Program 1 Program 2
#include <iostream>
using namespace std;
main(){
int x1[]={1,1,0,0};
int x2[]={1,0,1,0};
int t[]={1,-1,-1,-1};
float w1=0, w2=0, y=0,bias=0;
float alfa=1, teta=0.2;
float y_in;
int counter=0;
int epoh=1;
//int indeks=0;
while(counter!=4)
{
counter=0;
cout<<"Epoh ke
"<<epoh<<endl<<endl;
for(int
indeks=0;indeks<4;indeks++)
{
//
cout<<"Baris data ke
"<<indeks<<endl<<endl;
y_in = bias +
(x1[indeks]*w1) + (x2[indeks]*w2);
cout<<"y_in = "<<bias<<" +
"
<<"("<<x1[indeks]<<" * "<<w1<<") +
( "<<x2[indeks]<<" * "<<w2<<")"
<<endl<<"Nilai dari
y_in = "<<y_in<<endl<<endl;
//cari nilai y
//step 4
if (y_in > teta)
{
y=1;
cout<<" Karena
y_in > teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
else if((y_in >= -teta )
and (y_in <= teta))
{
y=0;
cout<<" Karena
y_in >= teta dan y_in <= teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
else if (y_in < -teta)
{
y=-1;
cout<<" Karena
y_in < -teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
//pengecekan perubahan
bobot
//step 5
if (y!=t[indeks])
{ cout<<" Update
bobotnya !!!"<<endl
<<" w1
= "<<w1<<" + ( "<<alfa<<" *
"<<t[indeks]<<" * "<<x1[indeks]<<"
)"<<endl
<<" w2
= "<<w1<<" + ( "<<alfa<<" *
"<<t[indeks]<<" * "<<x2[indeks]<<"
)"<<endl
<<"
bias = "<<bias<<" + ( "<<alfa<<" *
"<<t[indeks]<<" )"<<endl<<endl;
w1=w1+(alfa*t[indeks]*x1[indeks]);
w2=w2+(alfa*t[indeks]*x2[indeks]);
bias=bias+(alfa*t[indeks]);
}
else
{
counter++;
}
}//for
cout<<"Akhir Epoh "<<epoh<<" ----
----------------------------"<<endl;
epoh++;
}//while
cout<<"Nilai W1 = "<<w1<<endl
<<"Nilai W2 = "<<w2<<endl
<<"Nilai bias =
"<<bias<<endl<<endl;
/*
Pelatihan Berhasil
*/
//by@ dymand
}
#include <iostream>
using namespace std;
main(){
int x1[]={1,1,0,0};
int x2[]={1,0,1,0};
int t[]={1,-1,-1,-1};
float w1=0, w2=0, y=0,bias=0;
float alfa=1, teta=0.2;
float y_in;
int counter=0;
int epoh=1;
//int indeks=0;
while(counter!=4)
{
counter=0;
cout<<"Epoh ke
"<<epoh<<endl<<endl;
for(int
indeks=0;indeks<4;indeks++)
{
//
cout<<"Baris data ke
"<<indeks<<endl<<endl;
y_in = bias +
(x1[indeks]*w1) + (x2[indeks]*w2);
cout<<"y_in = "<<bias<<" +
"
<<"("<<x1[indeks]<<" * "<<w1<<") +
( "<<x2[indeks]<<" * "<<w2<<")"
<<endl<<"Nilai dari
y_in = "<<y_in<<endl<<endl;
//cari nilai y
//step 4
if (y_in > teta)
{
y=1;
cout<<" Karena
y_in > teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
else if((y_in >= -teta )
and (y_in <= teta))
{
y=0;
cout<<" Karena
y_in >= teta dan y_in <= teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
else if (y_in < -teta)
{
y=-1;
cout<<" Karena
y_in < -teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
//pengecekan perubahan
bobot
//step 5
if (y!=t[indeks])
{ cout<<" Update
bobotnya !!!"<<endl
<<" w1
= "<<w1<<" + ( "<<alfa<<" *
"<<t[indeks]<<" * "<<x1[indeks]<<"
)"<<endl
<<" w2
= "<<w1<<" + ( "<<alfa<<" *
"<<t[indeks]<<" * "<<x2[indeks]<<"
)"<<endl
<<"
bias = "<<bias<<" + ( "<<alfa<<" *
"<<t[indeks]<<" )"<<endl<<endl;
w1=w1+(alfa*t[indeks]*x1[indeks]);
w2=w2+(alfa*t[indeks]*x2[indeks]);
bias=bias+(alfa*t[indeks]);
}
else
{
counter++;
}
}//for
cout<<"Akhir Epoh "<<epoh<<" ----
----------------------------"<<endl;
epoh++;
}//while
cout<<"Nilai W1 = "<<w1<<endl
<<"Nilai W2 = "<<w2<<endl
<<"Nilai bias =
"<<bias<<endl<<endl;
cout<<"++++++++++++++++++++++++++++++++++
++++++++++++++++++"<<endl<<endl;
// Selanjutnya Pengujian
//data baru masuk
int x1_baru[]={0,0,1,1};
int x2_baru[]={0,1,0,1};