之前在学习logistic回归的时候遇到几个问题,一直困扰着我,随着学习的深入,我终于想通了这些问题,而且我发现这些看似很难的算法,其实不难,是可以战胜的,所以不要浅尝辄止,要百折不挠,现在把几个问题和答案小结如下:
Q1:woe本来是ln((Bi/BT)/(Gi/GT)),如果定义成ln((Gi/GT)/(Bi/BT))对于最后训练出来的模型(参数)会有什么影响?
A1:由于ln(A/B) = - ln(B/A),所以就是等价于训练数据X取负号,结果是参数除了常数项全部取反,这个很明显,因为拟合的目标是固定的,极大似然函数最大,所以参数自然会如此变化,也可以把负号拿出去-θ看成α然后就是拟合α,当然就是-θ = α
Q2:通常来说h(θ) = 1/(1+e^-z),如果令h(θ) = 1/(1+e^z),对最后训练出来的模型会有什么影响?
A2:全部θ取反,原理也同Q1,就是负号可以拿进去,所以说其实我们实现logistic的时候h(θ)可以用两者中的任意一种,但是我发现一般的现成算法,包,模块都是令成的h(θ) = 1/(1+e^z),和教科书上的形式有一定的出入,同事告诉我,之所以要写成h(θ) = 1/(1+e^-z)这种形式是因为涉及到什么信息熵的原因,难道不是因为这样函数单增?有朋友会问,如果直接用包、用现成算法,一般跑出来就一堆系数还有一些评价指标,怎么确定他令的哪个h(θ)?一般来说都是前者,如果不放心ÿ