public void treinamento(Double[][] entradas, Double[] saidaDesejada, 
			Double taxaDeAprendizagem, Integer maxEpocas ){
		if(!pesosSetados){
			gerarPesos(entradas[0].length);
		}
		boolean erro;
		do{
			strResult.append("Epoca = ;"+ (quantEpocas) + "\nPesos = ;");
			for (Double peso : pesos) {
				strResult.append(peso.toString().replace(".", ",") + ";");
			}
			strResult.append("\n");
			erro = false;
			for(int i=0;i<saidaDesejada.length;i++){
				somatorio(entradas[i]);
				ativarNeuronio();
				
				if(this.saida.intValue() != saidaDesejada[i].intValue()){
					recalculaPeso(taxaDeAprendizagem, saidaDesejada[i], entradas[i]);
					erro = true;
				}
				strResult.append("Amostra = ;"+ (i+1)+ ";Erro = ;" + erro + "\n");
			}
			
			System.out.println(quantEpocas);
			this.quantEpocas++;
		}while(erro && this.quantEpocas < maxEpocas);

	}