NLP还存不存在我不知道,但是数学之美一直都在。之前的文章中有提到logit公式为:。如何理解这个logit公式?为什么叫这个名字呢?有些人说logit公式就是神经网络中未经过连接函数(一般为sigmoid函数)处理过的函数。这些说法也不错,不过还没到点上,本文将为机器学习的爱好者们说明一下为什么这个公式叫logit公式。
1 先理解一个基础概念:odd
中文直译是”可能性,机率”,在数学上有更加明确的意义,即一个事情发生的概率和不发生的概率之比。假设某件事发生的概率为
,那么:
。
由于,所以
。
2 odd函数图像
import numpy as np
import math
import matplotlib.pyplot as plt
def odd(x):
return x / (1 - x)
x=np.arange(0,1,0.001)
y1=[odd(a) for a in x]
plot1=plt.plot(x,y1,'*',label='odd(x)')
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.title('Odd Function')
plt.legend(loc=4)
plt.grid(True)
plt.show()
3 LR模型中的logit
我们拿LR模型的似然函数:
我们做一些转换:
通过上边的转化,我们可以看到,等于odd值取log,因此被称为logit函数,也可以理解为log它,它就是odd值。
4 logit函数图像
import numpy as np
import math
import matplotlib.pyplot as plt
x=np.arange(0.0001,1,0.0001)
odd=[a/(1-a) for a in x]
y1=[math.log(a,math.e) for a in odd]
plot1=plt.plot(x,y1,'*',label='logit(x)')
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.title('Logit Function')
plt.legend(loc=4)
plt.grid(True)
plt.show()