logistic回归与多重线性回归实际上有很多相同之处,最大的区别就在于它们的因变量不同,其他的基本都差不多。正是因为如此,这两种回归可以归于同一个家族,即广义线性模型(generalizedlinear model)。
这一家族中的模型形式基本上都差不多,不同的就是因变量不同。
- 如果是连续的,就是多重线性回归;
- 如果是二项分布,就是Logistic回归;
- 如果是Poisson分布,就是Poisson回归;
- 如果是负二项分布,就是负二项回归。
Logistic回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释。所以实际中最常用的就是二分类的Logistic回归。
Logistic回归的主要用途:
- 寻找危险因素:寻找某一疾病的危险因素等;
- 预测:根据模型,预测在不同的自变量情况下,发生某病或某种情况的概率有多大;
- 判别:实际上跟预测有些类似,也是根据模型,判断某人属于某病或属于某种情况的概率有多大,也就是看一下这个人有多大的可能性是属于某病。
通常被用来计算一个例子属于一个特殊分类的概率(比如说这份邮件是垃圾邮件的概率)
如果概率大于50%,算作1, 属于这个分类,如果概率小于50%,算作0 ,不属于这个分类,这使得他成为了一个binary classifier.
他和线性回归的联系在于计算, 他也会计算输入的features(+bias term) 的加了权重的和,但是它并不像线性回归那样直接给出结果,他给出这个结果的logistic.
logistic(logit)-- 被叫做sigmoid function(s-形状),输出的数在0-1之间。
只要logistic regression model测出来了一个例子属于一个特殊分类的概率,他就可以很容易预测出来是否属于这个分类。
比如说概率小于0.5,y = 0不属于; 概率大于0.5,y=1,属于。
损失函数先从单个的例子来想,
单个的例子来说的话:
当y=1 时,损失函数c = -log(p)
当y=0时,损失函数c = -log(1-p)
(p是概率)
当p接近0的时候,c = -log(p)将会非常大,也即这个函数将一个本该属于这个分类的例子看作不属于。
当p接近1的时候,c = -log(1-p)将会非常大,也就是它将一个本不该属于这个分类的例子看作属于(p=1)
对于整个训练集来说的话,损失函数log loss可以简单的看作是整个训练集的平均损失。
损失函数是convex, 所以我们可以用梯度下降(gradient descent)来保证可以找到最小值(global minimum)