6逻辑回归
logistic 逻辑 regression 回归
6.1Logistic的起源
19世纪,一叫阿道夫的数学家研究人口增长问题,其用W(t)表示 t 时刻 的人口总量,那么求导后就是人口增长率。
{线性关系:y与x成线性关系,即y=kx,k为常数}
恰好这个人口增长率( y= )和人口总量( x=W(t) ) 成线性关系(y=kx),可以写成:
接着,如果想求出人口总量W(t)的表达式, 就可以把上式推到写成:
求解以上的微分方程,可以得到:lnW(t) = βt + C,
于是,人口总量W(t)的表达式:
这里的W(0) = A 就是指从 0 时刻开始的人口数量.
可以看出,此处人口模型是一个指数模型,意味着人会越来越多,没有上限。{这显然是不合理的}
当然地球的资源是有限的,所以肯定不能无休止的增长下去,阿道夫发现这个问题非常有趣,于是他把这个课题交给了他的学生维尔赫斯特。
他想既然不能无限制的增长,那么就减去一个限制函数,这样就不会是越来越大的增长率啦。
(1)
他做过很多的尝试后发现,减去的这个限制函数最理想的就是二次函数,因为二次函数有增有减。最终写成:
(2)
这里的 和上式中的 β 不同,但都表示的是常系数,两者关系如下:
这里的 Ω 代表的是环境所允许的最大人口总量。
把 代入 (2)式中,有
(3)
再把(3)式 与(1)式进行比较就知道什么是什么了
回到这个微分函数中,可以看出他的曲线是一条先增后减的二次曲线,在 时人口达到最大值。
注意,图形的横轴自变量是 W(t)
如果想用一个比例系数来表示当前 t 时刻的人口数量占环境允许的最大人口总量的比值时,那么可以把这个比例系数写为 p(t) 写成:
接着,如果我们想知道变化率,可以对 p(t) 求一阶导数。
,
然而
故
又因为比例系数 , 则W(t) = Ω p(t) ,把该式代入上式中,
现在我们就得到了 p(t) 的微分方程,有了这个方程就可以求出 p(t) 的表达式啦。同样的将和 p(t) 有关的,移到左边,将和 t 有关的移到右边。
注意,此处的 log 即 ln
6.2 Logistic Distribution
1.如何推导出Logistic分布函数
搞清楚了 Logistic 函数的由来,接着看看什么是 Logistic Distribution. 还是从 Logistic 函数入手,令 x = α + βt ,那么 p(t) 函数可以写成 F(x) 的形式:
这里的 又称为 「Sigmoid 激活函数」,不客气的说,神经网络的核心在这这个函数身上了。我们把它绘制出来就得到了一条曲线:
该函数有什么特性呢?
⚪从函数整体可以看出,x增大时,exp(-x)减小,则 增大,故F(x)非减
综上,我们就可以判断出 F(x) 是一个分布函数(概率论的内容,分布函数的充要条件?),接着就可以对它进行求导,就是概率密度。
f(x)就是 F(x) 的概率密度函数,我们把它画出来看看。
这个函数和正态分布非常像,也是中间对称。这是因为因为它同样属于指数分布家族,但是两者也有不同。
为何日常生活中,都假设是正太分布下发生的,而不是logistic distribution 函数呢?
那是因为在给定均值和方差时,正态分布是具有最大熵的分布,所以正态分布的假设可以使得数据携带的信息量最大。
类似于标准的正态分布 N(0 , 1) :
标准的正态分布中的 代表了分布函数所处的「位置」,在Logistic分布这里我们也用 「μ」 来表示。
标准的正态分布中的 代表了分布函数的「尺度变换」,即胖瘦,在Logistic分布这里我们用 「γ」 来表示。
2.Logistic Distribution
接着可以做一个简单的变换:
也就意味着,此时分布函数是以 x = μ 对称。
6.3Logistic Regression
在介绍Logistic Regression之前,我们先来说一说达尔文的表弟,弗朗西斯·高尔顿。
受表哥达尔文出版的《物种起源》影响,高尔顿对人类遗传学产生了浓厚的兴趣,现在被大家广泛应用的指纹学就是他提出来的。
高尔顿以生物遗传学为中心,开展了对人类遗传的研究,并且做了一个关于身高的实验。
这是不是说明「高个子的父亲,生的儿子就会更高,矮个子的父亲,生的儿子就会更矮呢」。
可能一般人研究到这里就会打住,觉得,哎呀不得了,我发现了一种规律,不错不错!
但是高尔顿,没有停下思考,他又计算了这1000多组数据中父亲身高的平均值和儿子身高的平均值,发现儿子身高平均值是大于父亲身高平均值的,高尔顿很兴奋,他通过数据做了个大胆的猜测:如果父亲身高高,儿子身高也会倾向高的一类,但是并不像父亲距离平均值那么远;反之,如果父亲身高矮,儿子身高也会倾向矮的一类,但也并不像父亲距离平均值那么远。
于是高尔顿得到一个结论,「大自然就像一只无形的手,有一种约束力,将人类的身高控制在一个相对稳定定的状态中」,不然的话,若按照之前的想法,高的父亲儿子更高、矮的父亲那儿子更矮,人类的身高岂不就向高矮两个极端分化了吗,这显然是不合理的,大自然也不允许呀!所以,大自然控制着人类的身高回归到中心,因此他用Regress 就是退回的意思来描述这个过程,这就是「回归Regression的由来,回到本源」。
1.Logistic Regression的生成过程
高尔顿研究身高得到了一个回归模型,最简单的「一元」线性回归
这里的 代表了误差项。
如果想拓展到「多元」,也就是输入变量 x 、β 就变成了多元的向量,写成:
但这时候有个问题:
(因为,如果她两不是线性关系的话,期望E(y)就得不出那个结果?)
如果「能做个变换将非线性转换为线性」,是不是容易出来了呢?
我们可以试试。假如存在某个函数 g(x) ,将它作用在输出变量 y 上,如果能够得出线性形式,那么就实现了转换。
这就是「广义线性模型」:
个人理解: 原来是, 因,用y的式子来表示x;
上面把
也就是相当于把 看作x的意思, 再转化成y=x的式子形式,即相当于把代入到
最初的的x当中。{把逻辑函数的非线性利用线性转换回归到逻辑函数本身==逻辑回归}
对于逻辑分布函数,,它的输入变量x,与输出变量y = F(x)之间不是线性关系,即非线性,所以,按照上面的办法进行转换,得到的就是 逻辑分布函数的线性回归模型,,所以最后才说得到了logisit regression
接着看一下具体的模型方程。
2.Logistic Regression模型
黄色这块就是我们最初的逻辑函数:,在经过回归后还是回到本身,wx+b替代x。 可能是因为逻辑函数它本来是搞人口总量,人口增长率,当前人口/允许最大人口的, 是一个小于1的数, 有人把它和它的对立面 合成为1,作为逻辑回归模型?
只是个名字而已。
3.二项逻辑回归模型
一、将回归变成分类
二、简化后的逻辑回归模型
其实就是把b给藏起来了。
三、逻辑斯谛回归模型的特点(好处)
1.该模型的输入变量和输出变量之间不存在线性关系。
其把分类问题用回归模型来解决了。由于是分类问题,故其输出变量是离散的,而输入变量可通过普通的线性回归构造一个线性形式,再将线性形式与输出变量的几个类别构造一个关系。
如何构造:输出是类别,要与回归模型构造关系。可考虑类别所对应的概率,通过sigmoid函数,将输入变量的线性形式wx与输出变量的概率 构建出模型。将原来的非线性关系转化为线性关系 。
2.可以用logistic函数表示单位阶跃(输入变量既可以是离散的又可以是连续的)
输出是离散的,若输入也是离散的,那效果会好一些。
可是输入变量也可能不是离散的,可能包含一些连续的特征。这时对输入变量进行回归模型建模,通常得到的也是连续的变量,即wx在作一个连接函数的处理后,得到的仍是连续的形式。
如何让其跟Y(离散)对应起来?======考虑Y的类别所对应的概率。
概率怎么选比较好? 因为我们是分类问题。 直接的想法是:考虑单位阶跃函数,换言之就是个多阶的函数。
该多阶函数一般怎么写:比如
单位阶跃函数为:
它是间断的,对其求导,明显是不可微的。 如何把间断的函数变得连续?
利用logistic曲线,其又包含概率,又是连续的。
所以逻辑回归模型它的好处就是借用了logistic函数,用一个连续的函数来代替单位阶跃函数,使得逻辑回归的输入变量很自由---既可以是连续的又可以是离散的。
3.参数估计采用最大似然估计(极大似然估计)
对于回归模型,常用的估计方法是最小二乘法。但是逻辑斯蒂回归模型很特殊,若直接用最小二乘法进行估计的话,可能很难求出其参数值,故考虑用极大似然估计法(本质就是概率最大化的思想)
4.参数估计方法
前面提过,逻辑斯蒂回归模型是二值概率分布,可简单写作一个二项分布。
假如我们这里有一个样本点 那么对应的概率呢?
这里的小p不是一成不变的,而是由Xi来决定的。故可写成:
而 =?就是在样本点 处归为Y=1这里一类的概率
按照逻辑斯蒂回归模型:
( 黄色这块代入上面的pi就能算出。)