最近学习Logistic回归算法,在网上看了许多博文,笔者觉得这篇文章http://blog.kamidox.com/logistic-regression.html写得最好。但其中有个关键问题没有讲清楚:为什么选择-log(h(x))作为成本函数(也叫损失函数)。
和线性回归算法相比,逻辑回归的预测函数是非线性的,不能使用均方差函数作为成本函数。因此如何选择逻辑回归算法的成本函数,就要多费一些事。
在正式讨论这个问题之前,先来复习一些基础知识。
一些常见函数的导数
d y d x ( x n ) = n x n − 1 \frac{dy}{dx}(x^n) = nx^{n-1} dxdy(xn)=nxn−1
d y d x l o g b ( x ) = 1 x l n ( b ) 如果b=e d y d x l o g e ( x ) = 1 x \frac{dy}{dx}log_b(x) = \frac{1}{xln(b)} \text{ 如果b=e } \frac{dy}{dx}log_e(x) = \frac{1}{x} dxdylogb(x)=xln(b)1 如果b=e dxdyloge(x)=x1
d y d x ( b x ) = b x l n ( b ) 如果b=e d y d x ( e x ) = e x \frac{dy}{dx}(b^x)= b^xln(b) \text{ 如果b=e } \frac{dy}{dx}(e^x) = e^x dxdy(bx)=bxln(b) 如果b=e dxdy(ex)=ex
求导法则
常数倍
如果f(x)=Cg(x),C是常数,那么
d y d x ( f ( x ) ) = C d y d x ( g ( x ) ) \frac{dy}{dx}(f(x))=C\frac{dy}{dx}(g(x)) dxdy(f(x))=Cdxdy(g(x))
函数和与函数差
如果f(x) = g1(x) + g2(x) - g3(x),那么
d y d x ( f ( x ) ) = d y d x ( g 1 ( x ) ) + d y d x ( g 2 ( x ) ) − d y d x ( g 3 ( x ) ) \frac {dy}{dx}(f(x)) = \frac {dy}{dx}(g1(x)) + \frac {dy}{dx}(g2(x)) - \frac {dy}{dx}(g3(x)) dxdy(f(x))=dxdy(g1(x))+dxdy(g2(x))−dxdy(g3(x))
乘积法求导
如果h(x) = f(x)g(x),那么:
h ′ ( x ) = f ′ ( x ) g ( x ) + g ′ ( x ) f ( x ) h^{'}(x) = f^{'}(x)g(x) + g^{'}(x)f(x) h′(x)=f′(x)g(x)+g′(x)f(x)
设h(x) = y, f(x) = u, g(x)=v, 那么:
d y d x = v d u d x + u d v d x \frac {dy}{dx} = v\frac {du}{dx} + u\frac {dv}{dx} dxdy=vdxdu+udxdv
商法则求导
如果h(x) = f(x)/g(x), 那么:
h ′ ( x ) = f ′ ( x ) g ( x ) − g ′ ( x ) f ( x ) ( g ( x ) ) 2 h^{'}(x) = \frac {f^{'}(x)g(x) - g^{'}(x)f(x)}{
{(g(x))}^2} h′(x)=(g(x))2f′(x)g(x)−g′(x)f(x)
y=u/v,那么:
d y d x = d u d x v −