如何理解logistic函数表达式

阅读(2463)
(一)认识Logistic回归(LR)分类器
首先,Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题,利用Logistic函数(或称为Sigmoid函数),自变量取值范围为(-INF, INF),自变量的取值范围为(0,1),函数形式为:
由于sigmoid函数的定义域是(-INF, +INF),而值域为(0, 1)。因此最基本的LR分类器适合于对两分类(类0,类1)目标进行分类。Sigmoid 函数是个很漂亮的“S”形,如下图所示:
LR分类器(Logistic Regression Classifier)目的就是从训练数据特征学习出一个0/1分类模型--这个模型以样本特征的线性组合作为自变量,使用logistic函数将自变量映射到(0,1)上。因此LR分类器的求解就是求解一组权值(是是名义变量--dummy,为常数,实际工程中常另x0=1.0。不管常数项有没有意义,最好保留),并代入Logistic函数构造出一个预测函数:
函数的值表示结果为1的概率,就是特征属于y=1的概率。因此对于输入x分类结果为类别1和类别0的概率分别为:
当我们要判别一个新来的特征属于哪个类时,按照下式求出一个z值:
&(x1,x2,...,xn是某样本数据的各个特征,维度为n)
进而求出---若大于0.5就是y=1的类,反之属于y=0类。(注意:这里依然假设统计样本是均匀分布的,所以设阈值为0.5)。LR分类器的这一组权值如何求得的呢?这就需要涉及到极大似然估计MLE和优化算法的概念了,数学中最优化算法常用的就是算法。
Logistic回归可以也可以用于多分类的,但是二分类的更为常用也更容易解释。所以实际中最常用的就是二分类的Logistic回归。LR分类器适用数据类型:数值型和标称型数据。其优点是计算代价不高,易于理解和实现;其缺点是容易欠拟合,分类精度可能不高。
(二)Logistic回归数学推导
1,梯度下降法求解Logistic回归
首先,理解下述数学推导过程需要较多的导数求解公式,可以参考“”。
假设有n个观测样本,观测值分别为设为给定条件下得到yi=1的概率。在同样条件下得到yi=0的条件概率为。于是,得到一个观测值的概率为
-----此公式实际上是综合公式(1)得出
因为各项观测独立,所以它们的联合分布可以表示为各边际分布的乘积:
(m表统计样本数目)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
上式称为n个观测的似然函数。我们的目标是能够求出使这一似然函数的值最大的参数估计。于是,最大似然估计的关键就是求出参数,使上式取得最大值。
对上述函数求对数:
最大似然估计就是求使上式取最大值时的θ,这里可以使用梯度上升法求解,求得的θ就是要求的最佳参数。在Andrew Ng的课程中将J(θ)取为下式,即:J(θ)=-(1/m)l(θ),J(θ)最小值时的θ则为要求的最佳参数。通过梯度下降法求最小值。θ的初始值可以全部为1.0,更新过程为:
(j表样本第j个属性,共n个;a表示步长--每次移动量大小,可自由指定)
因此,θ(可以设初始值全部为1.0)的更新过程可以写成:
&(i表示第i个统计样本,j表样本第j个属性;a表示步长)
该公式将一直被迭代执行,直至达到某个停止条件为止(比如迭代次数达到某个指定值或算法达到某个可以允许的误差范围)。
2,向量化Vectorization求解
Vectorization是使用矩阵计算来代替for循环,以简化计算过程,提高效率。如上式,Σ(...)是一个求和的过程,显然需要一个for语句循环m次,所以根本没有完全的实现vectorization。下面介绍向量化的过程:
约定训练数据的矩阵形式如下,x的每一行为一条训练样本,而每一列为不同的特称取值:
g(A)的参数A为一列向量,所以实现g函数时要支持列向量作为参数,并返回列向量。由上式可知hθ(x)-y可由g(A)-y一次计算求得。
θ更新过程可以改为:
综上所述,Vectorization后θ更新的步骤如下:
(1)求A=x*θ
(2)求E=g(A)-y
(3)求&(a表示步长)
3,算法优化--随机梯度法
梯度上升(下降)算法在每次更新回归系数时都需要遍历整个数据集, 该方法在处理100个左右的数据集时尚可,但如果有数十亿样本和成千上万的特征,那么该方法的计算复杂度就太高了。一种改进方法是一次仅用一个样本点来更新回归系数,该方法称为随机梯度算法。由于可以在新样本到来时对分类器进行增量式更新,它可以在新数据到来时就完成参数更新,而不需要重新读取整个数据集来进行批处理运算,因而随机梯度算法是一个在线学习算法。(与“在线学习”相对应,一次处理所有数据被称作是“批处理”)。随机梯度算法与梯度算法的效果相当,但具有更高的计算效率。
(三)Python实现Logistic回归算法
上节通过Andrew Ng的课程对J(θ)=-(1/m)l(θ)采取梯度下降法求解说明了Logistic回归的求解过程,本节Python实现算法的过程依然直接对J(θ)采取梯度上升法或者随机梯度上升法求解,LRTrain对象同时实现了采取梯度上升法或者随机梯度上升法求解过程。
LR分类器学习包中包含lr.py/object_json.py/test.py三个模块。lr模块通过对象logisticRegres实现了LR分类器,支持gradAscent('Grad') and randomGradAscent('randomGrad')两种求解方法(二选一,classifierArray只存储一种分类求解结果,当然你也可以定义两个classifierArray同时支持两种求解方法)。
test模块中是利用LR分类器根据疝气病症预测病马死亡率的应用。该数据存在一个问题--数据由30%的丢失率,这里采用特殊值0替代,因为0不会影响LR分类器的权值更新。
训练数据中样本特征值的部分缺失是很棘手的问题,很多文献致力于解决该问题,因为数据直接丢掉太可惜,重新获取代价也昂贵。一些可选的数据丢失处理方法包括:
□使用可用特征的均值来填补缺失值;
□使用特殊值来±真补缺失值,如-1;
□忽略有缺失值的样本;
□使用相似样本的均值添补缺失值;
□使用另外的机器学习算法预测缺失值。
LR分类器算法学习包下载地址是:
(四)Logistic回归应用
Logistic回归的主要用途:
寻找危险因素:寻找某一疾病的危险因素等;
预测:根据模型,预测在不同的自变量情况下,发生某病或某种情况的概率有多大;
判别:实际上跟预测有些类似,也是根据模型,判断某人属于某病或属于某种情况的概率有多大,也就是看一下这个人有多大的可能性是属于某病。
Logistic回归主要在流行病学中应用较多,比较常用的情形是探索某疾病的危险因素,根据危险因素预测某疾病发生的概率,等等。例如,想探讨胃癌发生的危险因素,可以选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群肯定有不同的体征和生活方式等。这里的因变量就是是否胃癌,即“是”或“否”,自变量就可以包括很多了,例如年龄、性别、饮食习惯、幽门螺杆菌感染等。自变量既可以是连续的,也可以是分类的。
阅读排行榜Logistic函数或Logistic曲线是一种常见的S形函数,它是皮埃尔·弗朗索瓦·韦吕勒在年在研究它与人口增长的关系时命名的。广义Logistic曲线可以模仿一些情况人口增长(P)的S形曲线。起初阶段大致是;然后随着开始变得饱和,增加变慢;最后,达到成熟时增加停止。
为本词条添加和相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
您也可以使用以下网站账号登录:
此词条还可添加&
编辑次数:1次
参与编辑人数:1位
最近更新时间: 06:06:40
贡献光荣榜后使用快捷导航没有帐号?
通俗解释机器学习中的Logistic Regression
查看: 18958|
评论: 0|来自:
摘要: Logistic Regression是一种分类算法。分类,也就是把一个群体(或问题,或数据)分为几个类别,例如,男/女/人妖;爱她的人/不爱她的人;今天会下雨/今天不会下雨。Logistic Regression最常用于处理“二分类”问题, ...
Logistic Regression是一种分类算法。分类,也就是把一个群体(或问题,或数据)分为几个类别,例如,男/女/人妖;爱她的人/不爱她的人;今天会下雨/今天不会下雨。Logistic Regression最常用于处理“二分类”问题,也就是说分类只有两个,像“爱她的人/不爱她的人”就是二分类,而“男/女/人妖”就不是二分类。当然,Logistic Regression也可以用于处理多分类问题,即所谓的“多分类逻辑回归”(Multiclass Logistic Regression),但本文并不涉及这个方面。所以,说得简单点就是,给你一条数据,用Logistic Regression可以判断出这条数据应该被分到两个类别中的哪个中去。Logistic Regression在现实世界中非常有用。例如,可以用它来判断一个用户是否会点击一个广告(会点击/不会点击),可以用Logistic Regression来判断两类人是否会相爱(会相爱/不会相爱),等等。机器学习的主旨就是通过对历史数据的计算(即“学习”),得到一些未知参数的值,从而可以推断出新数据会有什么结论。例如一个非常简单的函数: y=ax+b ,在已知几组 (x,y) 历史数据的情况下:(1, 5.5)(1.5, 7)(2, 6.5)我们怎样能够预测一个未知的自变量 x=3 会对应什么样的因变量 &y 呢?也就是说, x=3 时 &y=?&显然我们的任务就是计算出两个未知参数 &a 和 &b 的值,有了这两个值,那么任意给定一个 &x ,我们都能通过函数 &y=ax+b 计算出 &y 的值了,这就是所谓的“预测”。Logistic Regression也是类似,我们有一个函数 y=f(X) ,里面包含若干个未知参数θ0,θ1,θ2,…,θn 。由于现实世界是复杂的,因变量 &y 通常会跟很多因素(自变量 x )有关系,即 &x0,x1,x2,…,xn ,所以这里自变量是一个向量,这里用大写的 X 来表示。同理,那一堆未知的参数也是一个向量,用一个字母 θ 来表示。现在给我们一堆 (x,y) 的历史数据,我们要想办法计算出所有未知参数的值,然后就可以拿来预测新的 &x 值所对应的 &y 值了。但是这个函数是什么呢?如下:其中, θ 是参数向量, X 是自变量(向量)。那么,这个略显奇怪的函数是怎么来的呢?首先我们看这部分:这是参数向量与自变量(向量)的点积,这个式子想要表达的含义是:计算某个事件发生的可能性,可以把跟这个事件相关的所有特征加权求和。例如,要求今天下雨的可能性,可以把今天所有和下雨相关的概率加权求和,例如梅雨季节权重为9(每天都很可能下雨),有台风经过权重为6,等等,每一个因素都影响着“下雨的可能性”,即:但是这个加权求和的结果是在 (−∞,+∞) 范围内的,为了能表示预测的概率,我们希望把输出值限制在(0,1) 之间,而不是 &(−∞,+∞) 。所以,这时,逻辑函数就出场了。所谓的逻辑函数,就是这样的一个函数:这个函数是由 Pierre François Verhulst(皮埃尔·弗朗索瓦·韦吕勒)在年的时候给它起的名字。而我们上面的函数(1),就是这个形式。逻辑函数的图像是这个样子的:它的函数值刚好就是在(0,1)之间。所以,我们通过逻辑函数,就可以计算出一个事件的概率了((0,1)之间)。但是不要忘了,我们前面说要处理二分类问题,得到一个(0,1)之间的任意值并不能归到两个分类中的一个里去,所以还要把这个概率值“归类”。其实这里很简单,我们可以在 &f(X)&0.5 &的时候,把它归到类别1中, f(X)≤0.5 &的时候,把它归到类别2中就可以了(概率值的“分水岭”可以根据实际情况调整)。用数学公式来表达这段话的含义就是:在各种机器学习的文章中,你都会看到,它们给了逻辑函数一个常用的名字:Sigmoid函数。sigmoid,意为“S形的”,这正符合其函数图像特点,所以大家记住就行了。现在,我们已经有了函数,下一步任务就是求出函数表达式中的未知参数向量 θ 了。这个过程是机器学习中最为核心的计算步骤。以前面讲过的函数 y=ax+b &为例:你会发现,当已知几组 (x,y) &数据的情况下:(1, 5.5)(1.5, 7)(2, 6.5)你无论如何也不可能找到一对 a 和 &b 的值,使得以上3组数据能精确地满足方程 & y=ax+b ,正如下面的图像所示:这条直线如果要精确地通过其中的两个点,那么就不能通过第三个点。所以,最终求出来的 &a 和 &b 的值,并不是方程的解析解,而是“最优解”。因此,问题在于,我们如何画一条直线,使得其是“最优”的?“最优”的评判标准是什么?为了理解“最优”,我们需要先了解一些概念。损失函数/Loss Function/代价函数/Cost Function很多文章说,这几个名词的含义是一样的。但是也有文章说,Loss Function和Cost Function不是一回事,例如这篇文章。但通常认为,这二者是一回事。我觉得嘛,大家就按通常的概念来接受就好了。按WiKi的定义:In mathematical optimization, statistics, decision theory and machine learning, a loss function or cost function is a function that maps an event or values of one or more variables onto a real number intuitively representing some "cost" associated with the event. An optimization problem seeks to minimize a loss function.以及:The loss function quantifies the amount by which the prediction deviates from the actual values.我们可以知道,损失函数用于衡量预测值与实际值的偏离程度,如果预测是完全精确的,则损失函数值为0;如果损失函数值不为0,则其表示的是预测的错误有多糟糕。使得损失函数值最小的那些待求参数值,就是“最优”的参数值。所以现在问题来了,损失函数的表达式又是什么?在探讨损失函数的表达式之前,我们先来看一下损失函数有哪些种类。损失函数有很多种,例如下面几个:(1)0-1损失函数:可用于分类问题,即该函数用于衡量分类错误的数量,但由于此损失函数是非凸(non-convex)的,因此在做最优化计算时,难以求解,所以,正因为如此,0-1损失函数不是那么“实用”(如果这句话有误,请指正)。(2)平方损失函数(Square Loss):常用于线性回归(Linear Regression)。(3)对数损失(Log Loss)函数:常用于其模型输出每一类概率的分类器(classifier),例如逻辑回归。(4)Hinge损失函数:常用于SVM(Support Vector Machine,支持向量机,一种机器学习算法)。中文名叫“合页损失函数”,因为hinge有“合页”之意。这个翻译虽然直白,但是你会发现,99%的文章都不会用它的中文名来称呼它,而是用“Hinge损失”之类的说法。这些都是人们的经验总结,当然,说每一种损失函数常用于什么机器学习算法,也都是有数学依据的。但是在这里,我们讲的是Logistic Regression,所以只看对数损失函数。对数损失函数通常用于衡量分类器(classifier)的精度,这里的“分类器”也就是指机器学习的模型,它对每一个类别输出一个概率值。从前面的文章中,我们已经知道了,逻辑回归就是这样一种分类器,所以才用对数损失函数来衡量其精度。有时候,对数损失函数(Log Loss)也被叫作交叉熵损失函数(Cross-entropy Loss)。交叉熵这个名字比较拗口,在信息理论中,熵用于衡量某种事件的“不可预测性”,而交叉熵=事件的真实分布+不可预测性,所以交叉熵可以用于度量两个概率分布(真实分布&预测分布)之间的差异性,即:交叉熵损失函数(对数损失函数)可以衡量一个模型对真实值带来的额外噪音,通过最小化交叉熵损失函数(对数损失函数),我们就可以最大化分类器(模型)的精度。上面这一大段话试图用简单的描述让你相信,为什么要用Log Loss来衡量Logistic Regression的误差,但是没有给出证明。有人可能会说,为什么不能用其他的方法来衡量,例如用平方损失函数(Square Loss)。事实上,这是有数学依据的——它会导致损失函数是一个关于参数向量 θ 的非凸函数,而用对数损失函数就没有这种问题。凸函数的性质为我们后面求解参数向量 θ 提供了极大便利,非凸函数有很多局部最优解,不利于求解 θ 的计算过程。到这里为止,我们还是没有提到损失函数的数学表达式,但是如果要计算损失函数的值,我们是回避不了的,必须要知道。所以,这里用 L 来表示损失函数(取Loss之意),则对数损失函数的表达式为:其中, yi 是第i个真实值( yi∈{0,1} ), y^i 是第i个预测值。这个对数损失函数的表达式中并没有出现我们要求解的参数 &θ ,所以我们把代到(2)式中去:再来仔细看一下这个式子:N 为数据集的条数(有多少组 (X,y) ,N就是多少),已知; yi 是真实值,已知; Xi 是输入的向量,也已知。所以整个式子里只有 θ 是未知的,可以记为 L(θ) ,称之为目标函数:因此,我们只要找到一个参数向量 θ ,能使得此式的值最小,那么这个参数向量 θ 就是“最优”的参数向量。求得了这个最优的 θ 之后,把它代入式(1),则对任一个未知的 X ,我们都可以计算出 f(X) 值,然后再根据一个阈值把它调整到 0 或 1,就得到了这个 X 所属的分类,这样,我们就完成了一次“预测”的过程。求解方法所以现在问题来了,这个“最优”的参数向量 θ 怎么求解?在大的方向上,你可以选择不使用搜索方向的算法(例如信赖域算法),也可以选择众多使用搜索方向的算法(例如梯度下降法)。在是否计算目标函数的导数这个方面,你可以使用不用求目标函数导数的算法(例如Powell共轭方向集方法),也可以使用要求目标函数导数的算法(例如梯度下降法)。由于某些目标函数形式特别复杂,计算其导数特别麻烦,所以在这种时候,不用计算导数的算法可能大有帮助。求解的过程就是一个最优化的过程,本文无法用一两句话描述清楚,请大家移步链接进行阅读。事实上,在现在各种机器学习library百花齐放的今天,我们基本上不需要自己编写这些算法的具体实现,只需要调用它们即可。例如,通过Spark的Machine Learning Library (MLlib),我们可以直接使用Stochastic gradient descent (SGD),Limited-memory BFGS (L-BFGS)等实现。但是对这背后的原理有所了解,对工作学习是有帮助的。欢迎加入本站公开兴趣群高性能计算群兴趣范围包括:并行计算,GPU计算,CUDA,MPI,OpenMP等各种流行计算框架,超级计算机,超级计算在气象,军事,航空,汽车设计,科学探索,生物,医药等各个领域里的应用QQ群:
刚表态过的朋友 ()
上一篇:下一篇:为什么会有这个函数,他的物理意义,应用场景,发现(发明)背景,解决的问题都是什么?
稍微系统的讲讲 Logistic 方程在生态学上的出现背景,意义和应用场景。1.来源很抱歉我想不起是在哪本书里面看到的了,后面如果想起来会补充上的,但一开始应该是个英国的牧师在查看当地的人口出生记录的时候发现人口的增长率是和人口的数目成正比的,当然你也可以认为这个正比的关系是生态学上的一个基本假设。如果用这个函数来表示时刻某个地区的人口总数(或者是牛羊的数目或者是细菌的数目)的话我们得到的应该是下面这个方程:其中是个大于0的常数,表示的增长速率。(注意这里为了方便我直接写了连续极限下的方程并且忽略掉了一些随机效应的影响,理论上讲只有系统尺寸趋于无穷大的情况下这个描述才是准确的,但这样写并不影响我们理解问题的本质。下面用了同样的处理。)这个微分方程可以直接积分解出:其中是积分常数,不过这里可以理解为系统的初值即。且不管初值怎么给,的情况下显然会随着时间指数增长(如下图),如果自然界确实是按照这个规律工作的那么地球早该被各种生物塞的满满的。图1:随时间指数增长为了克服数目无限增长的问题,模型必须做出修改才行,这个修改最早由
Pierre-Fran?ois Verhulst 在1838年提出:这就是所谓的 Logistic 方程了。能看出是在原有模型的基础上增加了这一项。也是个常数,用来表示系统的容量(capacity),这里认为不管是什么物种生存环境总是有限制的,这个限制可以体现在空间或者资源上。多了这一项最直接的结果就是系统不能无限制的增长了:随着随时间的增长并不断接近系统的容量,的增长率是逐渐减小的。后面我们会更详细的考察这个方程的性质,这里先直观的看看模型设计成这样的意义。Logistic 方程描述的系统中人口的增长率除了和当时的人口数目成正比以外还要受到系统容量的限制;或者你可以理解为人口的增长速度除了和当时的人口数目成正比以外还和系统中的空位成正比。为了下面讨论方便,我们先把 Logistic 方程重新标度一下,令:并在方程两边同时除以,方程变为:这是 Logistic 方程更一般的形式,这里表示人口在容量确定的系统中所占的比例。2. Logistic 方程的性质实际上 Logistic 方程是可以直接解出的,但为了便于理解,这里采用另一种方式来看它的性质。考虑 Logistic 方程的一般形式,现在我们假设初始时刻的取值是多种多样的,我们关心的是随着时间的流逝,是如何变化的,看图:图2:分别取区间上一些不同的值的情况下随时间的变化情况从图中可以看到很多有意思的东西:最明显的,不管初值如何取,最终都会变到!无限制增长的问题被解决了。细心的朋友应该发现图中有些是大于1的,如果要求一个萝卜一个坑的话这当然是不可能的,但如果系统容量的限制没有那么强允许大家都挤一挤的话这种情况还是可以理解的。有意思的尽管初值大于,还是很快就变到1了,完全符合逻辑。这么一看 Logistic 方程虽然简单但实在很巧妙。另外图中还有一条的线因为和横轴重叠了所以看不清,这条线也好理解,如果一开始那么就永远等于。下面这段话只作为辅助理解。有朋友应该已经意识到了对 Logistic 方程来说,和是两个很特殊的点,当取到这两个点的时候方程的右边为0也即的变化率为0。我们称这两个点为不动点。但这两个点又不一样,其中1是稳定不动点,0是不稳定的,形象一点的理解的话0点在山的最高峰,1在最谷底,如果你恰巧落在了0点,那么可以保持不动,除此之外落在其他的任何上的地方都会最终跑到1处去。因为现实世界并非是确定性的,所以不太容易见到系统保持在0这样的不稳定不动点上,相比之下1因为其稳定性要常见的多。这里并没有讨论的情况,因为在生态学上这是没有意义的,不过感兴趣的朋友可以自己分析一下会是个什么情况。3.应用3.1 生态学上的应用因为 Logistic 方程形式简单但内涵丰富所以本身就是个很好的模型,到现在也常常被拿出来说明问题。有时也在其基础上做一些改动来描述更加复杂的情况。比如下面这个方程:多出来的这个也是个常数,叫做 Allee 阈值,比较有趣的是的情况,看图:图3: 的情况下不同初值随时间变化的情况多了这一项以后方程的不动点变成三个,稳定性也有所变化。直接从图上看的话就是如果,最后会趋于1;如果,最后会趋于0。这描述了这样一个情景:如果在一个新的环境下群体的数目不是足够多到超过了某个阈值,那么这个群体会最终消亡;如果达到了这个阈值,则可以兴盛繁荣。这个作用被称为 Allee 效应,体现了群体里面个体之间相互依存的关系。3.2 在化学上的应用考虑下面这个化学反应: 速率为 速率为假设系统中总的粒子数是确定的用分别表示两种物质的浓度,并考虑会得到下面的方程:得到的也是个类 Logistic 形式的方程。这至少说明 Logistic 方程的形式有很强的普遍性。其他方面的应用可以参考其他的答案,我不太懂就不多说了。4.彩蛋Logistic 方程其实远不是表面上看起来的这么简单。考虑它的分立形式:这就是大名鼎鼎的 Logistic 映射了,迭代这个映射会出现混沌!图4: Logistic 映射的分岔图5.参考文献对系统生物学感兴趣的朋友可以看看这本:《》 对数学要求会高一点。Logistic 方程是个简单的非线性动力系统,简单的分析可以参考《》如果你还对混沌感兴趣的话那么看这本:《》才发现这书已经出到第三版了
楼上的解释都很新颖,我在这里从统计学模型的角度给出一个回答。&br&&br&Logisitc模型是广义线性模型中的一类。常用于分类。在业界有相关广泛的应用。常见的如信用评分模型,用于判定某个人的违约概率。&br&&br&&br&&b&动机——logit变换&/b&&br&&br&在现实生活中,有时候需要探究某一事件A发生的概率&img src=&///equation?tex=P& alt=&P& eeimg=&1&&与某些因素&img src=&///equation?tex=X+%3D+%28X_1%2CX_2%2C...%2CX_p%29%27& alt=&X = (X_1,X_2,...,X_p)'& eeimg=&1&&之间的关系。考虑到很多情况下,在&img src=&///equation?tex=P%3D0& alt=&P=0& eeimg=&1&&或&img src=&///equation?tex=P%3D0& alt=&P=0& eeimg=&1&&附近,&br&$P$&br&对$X$的变化并不敏感,即这附近,X需要发生很大的变化才能引起P的微弱改变。如,“农药的剂量为X的情况下,杀死害虫的概率P”之间,就具有这种关系。因此,我们要构造这么一个关于P的函数$\theta(P)$,使得它在P=0或P=1附近,P的微小变化对应&img src=&///equation?tex=%5Ctheta%28P%29& alt=&\theta(P)& eeimg=&1&&的较大改变,同时,&img src=&///equation?tex=%5Ctheta%28P%29& alt=&\theta(P)& eeimg=&1&&要尽可能简单。于是,自然有了如下构造的特性&br&&img src=&///equation?tex=%5Cfrac%7B%5Cpartial+%5Ctheta%28P%29%7D%7B%5Cpartial+P%7D+%3D+%5Cfrac%7B1%7D%7BP%7D+%2B+%5Cfrac%7B1%7D%7B1-P%7D& alt=&\frac{\partial \theta(P)}{\partial P} = \frac{1}{P} + \frac{1}{1-P}& eeimg=&1&&&br&于是&br&&img src=&///equation?tex=%5Ctheta%28P%29+%3D+ln%28%5Cfrac%7BP%7D%7B1-P%7D%29& alt=&\theta(P) = ln(\frac{P}{1-P})& eeimg=&1&&&br&&img src=&///equation?tex=theta%28P%29& alt=&theta(P)& eeimg=&1&&就是传说中的Logit变换。&br&&br&&b& 模型——Logistic回归&/b&&br&&br&为了建立因变量P与自变量X之间的合理变动关系,一个很自然的假设就是线性关系。即&br&&img src=&///equation?tex=%0AP+%3D+X%27%5Cbeta& alt=&
P = X'\beta& eeimg=&1&&&br&&br&但是正如前面所说的,某些情况下,在P=0或P=1附近,P对X的变化并不敏感,即这附近,X需要发生很大的变化才能引起P的微弱改变,而上式简单的线性关系是不能反映这一特征的。这个时候,我们构造的&img src=&///equation?tex=%5Ctheta%28P%29& alt=&\theta(P)& eeimg=&1&&就派上用场了,于是有了&br&&br&&img src=&///equation?tex=ln%5Cfrac%7BP%7D%7B1-P%7D+%3D+X%27%5Cbeta& alt=&ln\frac{P}{1-P} = X'\beta& eeimg=&1&&&br&&br&由&br&&img src=&///equation?tex=ln%28%5Cfrac%7BP%7D%7B1-P%7D%29+%3D+%5Cboldsymbol%7BX%5ET+%5Cbeta%7D+%5Cimplies+%5Cfrac%7BP%7D%7B1-P%7D+%3D+e%5E%7B%5Cboldsymbol%7BX%5ET+%5Cbeta%7D%7D+%5Cimplies+P+%3D+%5Cfrac%7Be%5E%7B%5Cboldsymbol%7BX%5ET+%5Cbeta%7D%7D%7D%7B1+%2B+e%5E%7B%5Cboldsymbol%7BX%5ET+%5Cbeta%7D%7D%7D& alt=&ln(\frac{P}{1-P}) = \boldsymbol{X^T \beta} \implies \frac{P}{1-P} = e^{\boldsymbol{X^T \beta}} \implies P = \frac{e^{\boldsymbol{X^T \beta}}}{1 + e^{\boldsymbol{X^T \beta}}}& eeimg=&1&&&br&&br&于是上式等价于&br&&br&&img src=&///equation?tex=P+%3D+%5Cfrac%7Be%5E%7BX%27%5Cbeta%7D%7D%7B1%2Be%5E%7BX%27%5Cbeta%7D%7D& alt=&P = \frac{e^{X'\beta}}{1+e^{X'\beta}}& eeimg=&1&&&br&&br&这就是$Logistic$回归模型。&br&&br&来个例子。&br&&br&&div class=&highlight&&&pre&&code class=&language-text&&```{r,echo=TRUE,message=FALSE}
#logistic example
library(ggplot2)
x&- seq(from = 0, to = 20, 0.01)
p&- exp(-5+0.5*x)/(1+exp(-5+0.5*x))
mydata&-data.frame(x =x , p = p)
ggplot(mydata)+
geom_line(aes(x = x, y = p))+
ggtitle(&The does Vs the probability of insect dying&)
&/code&&/pre&&/div&&img src=&/33b9b50a95a87dab35ab4d34debaef69_b.png& data-rawwidth=&901& data-rawheight=&711& class=&origin_image zh-lightbox-thumb& width=&901& data-original=&/33b9b50a95a87dab35ab4d34debaef69_r.png&&&br&&br&&b& 应用场景&/b&&br&&br&&br&到这里,我们对$Logistic$回归的应用场景就比较明了了。它多用于分类——因变量为定类尺度。在运用模型时,需要注意是否满足隐含假设:在$P=0$或$P=1$附近,$P$对$X$的变化并不敏感。
楼上的解释都很新颖,我在这里从统计学模型的角度给出一个回答。Logisitc模型是广义线性模型中的一类。常用于分类。在业界有相关广泛的应用。常见的如信用评分模型,用于判定某个人的违约概率。动机——logit变换在现实生活中,有时候需要探究某一事件A发生…
谢邀。&br&&br&楼上给的历史很好的,我也不知道logistic函数有其生态学背景,大概其意思是&br&&img src=&///equation?tex=%5Cfrac%7Bd+f%7D%7Bdx%7D+%3D+f%281-f%29& alt=&\frac{d f}{dx} = f(1-f)& eeimg=&1&&&br&而f的解就是logistic函数。&br&&br&而在物理学中,费米子在一个态的分配函数是&br&&img src=&///equation?tex=%5Cmathcal%7BZ%7D+%3D+1+%2B+e%5E%7B-%5Cbeta+E%7D& alt=&\mathcal{Z} = 1 + e^{-\beta E}& eeimg=&1&&(一个态只可有一粒子)&br&而其态粒子数的期望值为&br&&img src=&///equation?tex=%5Cfrac%7B1%7D%7B%5Cmathcal%7BZ%7D%7D%280+%2B+1+%5Ccdot+e%5E%7B-%5Cbeta+E%7D%29& alt=&\frac{1}{\mathcal{Z}}(0 + 1 \cdot e^{-\beta E})& eeimg=&1&&&br&做点运算就可得logistic函数,也是物理学家的Fermi-Dirac分布。&br&&br&我会理解为这是一个分类器,其函数给出的是某一数据分类为正的概率。
谢邀。楼上给的历史很好的,我也不知道logistic函数有其生态学背景,大概其意思是\frac{d f}{dx} = f(1-f)而f的解就是logistic函数。而在物理学中,费米子在一个态的分配函数是\mathcal{Z} = 1 + e^{-\beta E}(一个态只可有一粒子)而其态粒子数的期望值为…
已有帐号?
无法登录?
社交帐号登录
Life sucks

我要回帖

更多关于 logistic函数 的文章

 

随机推荐