Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cmath>
- using namespace std;
- float ativacaoOculta(float x){
- return 1 / (1 + pow(2.718,x));
- }
- float ativacaoSaida(float x){
- return x;
- }
- int main(){
- float input[12][3] = {
- {1,2,1},{1,4,3},{1,1,2},{1,1.8, 2.5},{1,1,1},{1,3,2.5},
- {1,2.5,1.5},{1,3.5,2.3},{1,3,3},{1,4.0,2.5},{1,1.8,1.5},{1,4.5,3.5}
- };
- int saidaDesejada[12][2] = {
- {1,0},{1,0},{1,0},{1, 0},{1,0},{1,0},
- {0,1},{0,1},{0,1},{0,1},{0,1},{0,1}
- };
- float pesoI[3][3] = {{-0.2,-0.1,0.3}, {0.5,-0.8,0.4},{0.1,0.1,-0.6}};
- float pesoS[2][4] = {{-0.1,0.5,-0.3, 0.1},{ -0.3,0.2,0.6,-0.9}};
- float n = 0.1;
- float neuroI1 = 0,neuroI2 = 0,neuroI3 = 0;
- float camadaI[4]; camadaI[0] = 1;
- float e1, e2;
- float saida1 = 0,saida2 = 0;
- float errorInstataneo;
- for (int i = 0; i < 3; i++) {
- neuroI1 += pesoI[0][i]*input[0][i];
- neuroI2 += pesoI[1][i]*input[0][i];
- neuroI3 += pesoI[2][i]*input[0][i];
- }
- if (neuroI1 < 0) { neuroI1 = -neuroI1;}
- if (neuroI2 < 0) { neuroI2 = -neuroI2;}
- if (neuroI3 < 0) { neuroI3 = -neuroI3;}
- camadaI[1] = ativacaoOculta(neuroI1);
- camadaI[2] = ativacaoOculta(neuroI2);
- camadaI[3] = ativacaoOculta(neuroI3);
- for (int i = 0; i < 4; i++) {
- saida1 += pesoS[0][i]*camadaI[i];
- saida2 += pesoS[1][i]*camadaI[i];
- }
- saida1 = ativacaoSaida(saida1);
- saida2 = ativacaoSaida(saida2);
- e1 = saidaDesejada[0][0] - saida1;
- e2 = saidaDesejada[0][1] - saida2;
- errorInstataneo = ((pow(e1,2.0) + pow(e2, 2.0))) / 2;
- cout << errorInstataneo << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement