广义线性模型(GLMs)扩展了普通线性回归模型,可以分析非正态分布的结果变量以及相应均值的函数。假设第i个观察是一个期望值为
的随机变量
的实现。当用线性模型来学习随机变量Y的时候,我们指明它的期望是K个未知参数以及自变量的线性组合:
这是一个线性回归模型,为了创建一个更加通用的模型,我们引入变量
,
与
的关系为:
这是一个广义线性模型,
与
有许多可能的关系函数,Logit模型是分类模型中常用的广义线性模型。它归纳或描述一个分类变元和一组预测变元的关系,分类变元可以取二值,也可以取多值,其取值可以是无序的,也可以是有序的。下面我们将分别对这几种情况展开讨论。 假设
服从logistic分布,将关系函数
带入上式,我们指定了一个结果是多类别Logit模型。用logit形式表达时,模型指定为:
当总类别数J=2时,等式可以简化为二分模型,Logit模型的累计概率可以写为:
Logit线性模型,通常使用极大似然法来估计回归系数。
Logit模型即逻辑回归,是一个线性分类模型而不是回归模型。逻辑回归在文献中也称为最大熵分类(MaxEnt) 或者 log-linear classifier。scikit-learn中逻辑回归的实现为 LogisticRegression 类。它可以拟合含L2或者L1正则化项的多类逻辑回归问题。
以下是用python3实现逻辑回归的小例子。求解可得w00 = -0.16,w01 = -0.35,w02 = 0.4。
from sklearn import linear_model
clf = linear_model.LogisticRegression()
clf.fit([[1.2, 1.3], [1.1, 1.4], [1.1, 2.3], [0.8, 1.9]], [0, 0, 1, 1])
print('w0:', clf.intercept_)
print('wi:', clf.coef_)
print(clf.predict([[0.9, 0.98]]))
逻辑回归
如果已经建立了logistic回归模型,则可以根据模型,预测在不同的自变量情况下,发生某种情况的概率有多大。logistic回归几乎已经成了流行病学和医学中最常用的分析方法,因为它与多重线性回归相比有很多的优势。实际上有很多其他分类方法,只不过Logistic回归是最成功也是应用最广的。