Tenho dificuldade em derivar o Hessiano da função objetivo, , em regressão logística em que é:
é uma função logística. O hessiano é . Tentei derivá-lo calculando , mas não me era óbvio como chegar à notação matricial de .
Alguém conhece alguma maneira limpa e fácil de derivar ?
Respostas:
Aqui, deduzo todas as propriedades e identidades necessárias para que a solução seja independente, mas, além disso, essa derivação é limpa e fácil. Vamos formalizar nossa notação e escrever a função de perda um pouco mais compacta. Considerem amostras {xi,yi} de tal modo que xi∈Rd e yi∈R . Lembre-se de que, na regressão logística binária, normalmente temos a função de hipótese hθ ser a função logística. Formalmente
ondeω∈Rd e zi=ωTxi . A função de perda (que eu acredito que OPs está faltando um sinal negativo) é então definida como:
Existem duas propriedades importantes da função logística que derivam aqui para referência futura. Primeiro, observe que1−σ(z)=1−1/(1+e−z)=e−z/(1+e−z)=1/(1+ez)=σ(−z) .
Observe também que
Em vez de usar derivadas com relação aos componentes, aqui trabalharemos diretamente com vetores (você pode revisar derivadas com vetores aqui ). O Hesse da função perdal(ω) é dada por ∇⃗ 2l(ω) , mas primeira recolha que ∂z∂ω=xTω∂ω=xT e∂z∂ωT=∂ωTx∂ωT=x .
Sejali(ω)=−yilogσ(zi)−(1−yi)log(1−σ(zi)) . Usando as propriedades que derivamos acima e a regra da cadeia
Agora é trivial mostrar que
uau!
Nosso último passo é calcular o hessiano
Param amostras temos ∇⃗ 2l(ω)=∑mi=1xixTiσ(zi)(1−σ(zi)) . Isso é equivalente à concatenação de vetores de colunas xi∈Rd em uma matriz X de tamanho d×m tal que ∑mi=1xixTi=XXT . Os termos escalares são combinados em uma matriz diagonalD de tal forma queDii=σ(zi)(1−σ(zi)) . Finalmente, concluímos que
Uma abordagem mais rápida pode ser obtida considerando todas as amostras de uma só vez desde o início e, em vez disso, trabalhe com derivadas da matriz. Como uma observação extra, com esta formulação é trivial mostrar quel(ω) é convexo. Deixe δ ser qualquer vector de modo a que δ∈Rd . Então
fonte