1 - Implementar o Perceptron no SCILAB, como uma funo. A funo de ativao do Perceptron a limiar (ou degrau, com sada 0 ou 1). Declarao da funo: function y = yperceptron(X,W,b) Onde: X (m x t) uma matriz de nmeros reais. Cada linha (m) de X um dos M atributos (ou caractersticas) da amostra de dados. Cada coluna (t) de X uma das T instncias (ou amostras) dos dados. W (1 x m) um vetor linha de nmeros reais com o valor dos pesos de cada entrada m (atributo) do Perceptron. b um escalar com o valor em real do bias do Perceptron para a entrada que est sempre em +1. m e t podem ser qualquer valor inteiro maior que zero. y um vetor com os valores da sada no neurnio (0 ou 1) para cada amostra de X. Resposta:
function y=yperceptron(X, W, b) //implementando a funo perceptron u= W * X + b; // u representa o produto entre W e X somados a b for i=1:size(u,2) if u(i)<=0 then // aqui dizemos quando u(i) <= 0 y ser 0, se u(i) >0 y ser 1 y(i)=0 else y(i)=1; end end y=y' endfunction
2- Desenvolver o programa (script) que testa a funo criada no item 1, com os seguintes valores que implementam a funo lgica AND: X = [0 1 0 1 ; 0 0 1 1]; W = [0.4 0.4]; b = -0.6; A sada do Perceptron (funo lgica AND) dever ser: y = [0 0 0 1]
Resposta:
function y=yperceptron(X, W, b) u= W * X + b; for i=1:size(u,2) if u(i)<=0 then y(i)=0 else y(i)=1; end end y=y' endfunction X = [0 1 0 1;0 0 1 1]; //para implementar a funo declaramos a matriz X e o vetor W e o escalar b W = [0.4 0.4] b = -0.6 y = yperceptron(X,W,b); disp(y)
//neste caso temos que o vetor sada ser y=[0. 0. 0. 1.]
3 - Repetir o item anterior para a funo lgica OR. Modifique os valores de pesos e bias se necessrio. A sada do Perceptron (funo lgica OR) dever ser: y = [0 1 1 1] Resposta:
function y=yperceptron(X, W, b) u= W * X + b; for i=1:size(u,2) if u(i)<=0 then y(i)=0 else y(i)=1; end end y=y' endfunction X = [0 1 0 1;0 0 1 1]; W = [0.7 0.8] //aqui foram atribudo novos valores ao vetor W para que tivssemos a sada desejada b = -0.6 y = yperceptron(X,W,b); disp(y) //neste caso temos que o vetor sada ser y=[0. 1. 1. 1.]
4 - Postar na sala virtual da disciplina um arquivo (.pdf sem compactar) com os programas completos e comentados at a data combinada.