17 September 2013

Funções de previsão usando gradiente descendente (fuenções erro quadrado e logaritmo) feito na mão


Função erro quadrado (omiti o subíndice das variáveis para que fique claro o código)

GD(X,ղ,tmax,Y)
inicialize b=0, w=0, N= tamanho da base, ղ= passo
for t=1:tmax
    ∇b = 0;
    ∇w = 0;
    for n=1:N
         ∇b += -y + x*w+b;
         ∇w = -y*w + x*(x*w)+x*b+λ*w;
    end
    b = b – ղ*∇b;
    w = w – ղ*∇w;
end

 

 Função log

GD(X,ղ,tmax,Y)
inicialize b=0, w=0, N= tamanho da base, ղ= passo
for t=1:tmax
    ∇b = 0;
    ∇w = 0;
    for n=1:N
        ∇b += (1/log 2)* (-y*exp(-yxw-yb)/(1+exp(-yxw-yb)));
        ∇w = ∇b += (1/log 2)* (-yx*exp(-yxw-yb)/(1+exp(-yxw-y b)))+λ*w;
    end
    b = b – ղ*∇b;
    w = w – ղ*∇w;
end


No comments: