为什么 LR 模型要使用matlab sigmoid函数 函数,背后的数学原理是什么

学界 | 最小二乘 GAN:比常规 GAN 更稳定,比 WGAN 收敛更迅速-ZAKER新闻
选自 Github机器之心编译参与:蒋思源近来 GAN 证明是十分强大的。因为当真实数据的概率分布不可算时,传统生成模型无法直接应用,而 GAN 能以对抗的性质逼近概率分布。但其也有很大的限制,因为函数饱和过快,当判别器越好时,生成器的消失也就越严重。所以不论是 WGAN 还是本文中的 LSGAN 都是试图使用不同的距离度量,从而构建一个不仅稳定,同时还收敛迅速的生成对抗网络。项目地址:http://wiseodd.github.io/techblog//least-squares-gan/由于生成对抗网络训练的一般框架 F-GAN 已经构建了起来,最近我们可以看到一些并不像常规 GAN 的修订版生成对抗网络,它们会学习使用其它度量方法,而不只是 Jensen-Shannon 散度 ( Jensen-Shannon divergence/JSD ) 。其中一个修订版就是 Wasserstein 生成对抗网络(WGAN),该生成网络使用 Wasserstein 距离度量而不是 JSD。Wasserstein GAN 运行十分流畅,甚至其作者都声称该系统已经克服了模型崩溃难题并给生成对抗提供了十分强大的损失函数。尽管 Wasserstein GAN 的实现是很直接的,但在 WGAN 背后的理论是十分困难并需要一些如权重剪枝(weight clipping)等「hack」知识。另外 WGAN 的训练过程和收敛都要比常规 GAN 要慢一点。现在,问题是:我们能设计一个比 WGAN 运行得更稳定、收敛更快速、流程更简单更直接的生成对抗网络吗?我们的答案是肯定的!最小二乘生成对抗网络LSGAN 的主要思想就是在辨别器 D 中使用更加平滑和非饱和(non-saturating)梯度的损失函数。我们想要辨别器(discriminator)D 将生成器(generator)G 所生成的数据「拖」到真实数据流形(data manifold)Pdata ( X ) ,从而使得生成器 G 生成类似 Pdata ( X ) 的数据。我们知道在常规 GAN 中,辨别器使用的是对数损失(log loss.)。而对数损失的决策边界就如下图所示:因为辨别器 D 使用的是 sigmoid 函数,并且由于 sigmoid 函数饱和得十分迅速,所以即使是十分小的数据点 x,该函数也会迅速忽略 x 到决策边界 w 的距离。这也就意味着 sigmoid 函数本质上不会惩罚远离 w 的 x。这也就说明我们满足于将 x 标注正确,因此随着 x 变得越来越大,辨别器 D 的梯度就会很快地下降到 0。因此对数损失并不关心距离,它仅仅关注于是否正确分类。为了学习 Pdata ( X ) 的流形(manifold),对数损失(log loss)就不再有效了。由于生成器 G 是使用辨别器 D 的梯度进行训练的,那么如果辨别器的梯度很快就饱和到 0,生成器 G 就不能获取足够学习 Pdata ( X ) 所需要的信息。输入 L2 损失(L2 loss):在 L2 损失(L2 loss)中,与 w(即上例图中 Pdata ( X ) 的回归线)相当远的数据将会获得与距离成比例的惩罚。因此梯度就只有在 w 完全拟合所有数据 x 的情况下才为 0。如果生成器 G 没有没有捕获数据流形(data manifold),那么这将能确保辨别器 D 服从多信息梯度(informative gradients)。在优化过程中,辨别器 D 的 L2 损失想要减小的唯一方法就是使得生成器 G 生成的 x 尽可能地接近 w。只有这样,生成器 G 才能学会匹配 Pdata ( X ) 。最小二乘生成对抗网络(LSGAN)的整体训练目标可以用以下方程式表达:在上面方程式中,我们选择 b=1 表明它为真实的数据,a=0 表明其为伪造数据。最后 c=1 表明我们想欺骗辨别器 D。但是这些值并不是唯一有效的值。LSGAN 作者提供了一些优化上述损失的理论,即如果 b-c=1 并且 b-a=2,那么优化上述损失就等同于最小化 Pearson χ ^2 散度(Pearson χ ^2 divergence)。因此,选择 a=-1、b=1 和 c=0 也是同样有效的。我们最终的训练目标就是以下方程式所表达的:在 Pytorch 中 LSGAN 的实现先将我们对常规生成对抗网络的修订给写出来:1. 从辨别器 D 中移除对数损失2. 使用 L2 损失代替对数损失所以现在先让我们从第一个检查表(checklist)开始G = torch.nn.Sequential (
torch.nn.Linear ( z_dim, h_dim ) ,
torch.nn.ReLU ( ) ,
torch.nn.Linear ( h_dim, X_dim ) ,
torch.nn.Sigmoid ( )
) D = torch.nn.Sequential (
torch.nn.Linear ( X_dim, h_dim ) ,
# No sigmoid
torch.nn.Linear ( h_dim, 1 ) ,G_solver = optim.Adam ( G.parameters ( ) , lr=lr ) D_solver = optim.Adam ( D.parameters ( ) , lr=lr ) 剩下的就十分简单直接了,跟着上面的损失函数做就行。for it in range ( 1000000 ) :
# Sample data
z = Variable ( torch.randn ( mb_size, z_dim ) )
X, _ = mnist.train.next_batch ( mb_size )
X = Variable ( torch.from_numpy ( X ) )
# Dicriminator
G_sample = G ( z )
D_real = D ( X )
D_fake = D ( G_sample )
# Discriminator loss
D_loss = 0.5 * ( torch.mean ( ( D_real - 1 ) **2 ) + torch.mean ( D_fake**2 ) )
D_loss.backward ( )
D_solver.step ( )
reset_grad ( )
# Generator
# Generator loss
G_loss = 0.5 * torch.mean ( ( D_fake - 1 ) **2 )
G_loss.backward ( )
G_solver.step ( ) 完整的代码可以在此获得:https://github.com/wiseodd/generative-models结语在这篇文章中,我们了解到通过使用 L2 损失(L2 loss)而不是对数损失(log loss)修订常规生成对抗网络而构造成新型生成对抗网络 LSGAN。我们不仅直观地了解到为什么 L2 损失将能帮助 GAN 学习数据流形(data manifold),同时还直观地理解了为什么 GAN 使用对数损失是不能进行有效地学习。最后,我们还在 Pytorch 上对 LSGAN 做了一个实现。我们发现 LSGAN 的实现非常简单,基本上只有两段代码需要改变。论文:Least Squares Generative Adversarial Networks论文地址:https://arxiv.org/abs/摘要:最近应用生成对抗网络(generative adversarial networks/GAN)的无监督学习被证明是十分成功且有效的。常规生成对抗网络假定作为分类器的辨别器是使用 sigmoid 交叉熵损失函数(sigmoid cross entropy loss function)。然而这种损失函数可能在学习过程中导致导致梯度消失(vanishing gradient)问题。为了克服这一困难,我们提出了最小二乘生成对抗网络(Least Squares Generative Adversarial Networks/LSGANs),该生成对抗网络的辨别器(discriminator)采用最小平方损失函数(least squares loss function)。我们也表明 LSGAN 的最小化目标函数(bjective function)服从最小化 Pearson X^2 divergence。LSGAN 比常规生成对抗网络有两个好处。首先 LSGAN 能够比常规生成对抗网络生成更加高质量的图片。其次 LSGAN 在学习过程中更加地稳定。我们在五个事件数据集(scene datasets)和实验结果上进行评估,结果证明由 LSGAN 生成的图像看起来比由常规 GAN 生成的图像更加真实一些。我们还对 LSGAN 和常规 GAN 进行了两个比较实验,其证明了 LSGAN 的稳定性。参考文献:1. Nowozin, Sebastian, Botond Cseke, and Ryota Tomioka.「f-GAN: Training generative neural samplers using variational divergence minimization.」Advances in Neural Information Processing Systems. 2016. arxiv ( https://arxiv.org/abs/ ) 2. Mao, Xudong, et al.「Multi-class Generative Adversarial Networks with the L2 Loss Function.」arXiv preprint arXiv: ( 2016 ) .
(C) 本文为机器之心编译,转载请联系本公众号获得授权。? ------------------------------------------------加入机器之心(全职记者 / 实习生):投稿或寻求报道:广告 & 商务合作:
相关标签:
原网页已经由 ZAKER 转码排版
IT之家5小时前
科技频道11小时前
瘾科技6小时前
科技频道7小时前
钛媒体10小时前
凤凰科技3小时前
太平洋电脑网4小时前
太平洋电脑网4小时前
爱活网11小时前
IT之家5小时前
IT之家6小时前
手机中国4小时前
倪叔的思考暗时间6小时前
Yivian6小时前
IT之家7小时前机器学习-LR推导及与SVM的区别 - 简书
机器学习-LR推导及与SVM的区别
之前整理过一篇关于逻辑回归的帖子,但是只是简单介绍了一下了LR的基本思想,面试的时候基本用不上,那么这篇帖子就深入理解一下LR的一些知识,希望能够对面试有一定的帮助。
1、逻辑斯谛分布
介绍逻辑斯谛回归模型之前,首先看一个并不常见的概率分布,即逻辑斯谛分布。设X是连续随机变量,X服从逻辑斯谛分布是指X具有如下的累积分布函数和概率密度函数:
式中,μ为位置参数,γ&0为形状参数。逻辑斯谛的分布的密度函数f(x)和分布函数F(x)的图形如下图所示。其中分布函数属于逻辑斯谛函数,其图形为一条S形曲线。该曲线以点(μ,1/2)
为中心对称,即满足:
曲线在中心附近增长较快,在两端增长较慢,形状参数γ的值越小,曲线在中心附近增长得越快。
2、逻辑斯谛回归模型:
线性回归的应用场合大多是回归分析,一般不用在分类问题上,原因可以概括为以下两个:
1)回归模型是连续型模型,即预测出的值都是连续值(实数值),非离散值;
2)预测结果受样本噪声的影响比较大。
2.1 LR模型表达式
LR模型的表达式为参数化的逻辑斯谛函数,即:
2.2 理解LR模型
2.2.1 对数几率
一个事件发生的几率(odds)是指该事件发生的概率与该事件不发生的概率的比值。如果事件发生的概率是p,那么该事件的几率为p/(1-p) ,该事件的对数几率(log odds)或logit函数是:
对LR而言,根据模型表达式可以得到:
即在LR模型中,输出y=1的对数几率是输入x的线性函数,或者说y=1的对数几率是由输入x的线性函数表示的模型,即LR模型。
2.2.2 函数映射
除了从对数几率的角度理解LR之外,从函数映射也可以理解LR模型。
考虑对输入实例x进行分类的线性表达式θT,其值域为实数域,通过LR模型的表达式可以将线性函数θTx的结果映射到(0,1)区间,取值表示为结果为1的概率(在二分类场景中).
线性函数的值越接近于正无穷大,概率值就越近1;反之,其值越接近于负无穷,概率值就越接近于0,这样的模型就是LR模型。
LR本质上还是线性回归,只是特征到结果的映射过程中加了一层函数映射,即sigmoid函数,即先把特征线性求和,然后使用sigmoid函数将线性和约束至(0,1)之间,结果值用语二分或回归预测。
2.2.3 概率解释
LR模型多用于解决二分类问题,如广告是否被点击(是/否),商品是否被购买(是/否)等互联网领域中常见的应用场景。但在实际场景中,我们又不把它处理成绝对的分类,而是用其预测值作为事件发生的概率。
这里从事件,变量以及结果的角度给予解释。
我们所能拿到的训练数据统称为观测样本。问题,样本是如何生成的?
一个样本可以理解为发生的一次事件,样本生成的过程即事件发生的过程,对于0/1分类问题来讲,产生的结果有两种可能,符合伯努利试验的概率假设。因此,我们可以说样本的生成过程即为伯努利试验过程,产生的结果(0/1)服从伯努利分布,那么对于第i个样本,概率公式表示如下:
将上面两个公式合并在一起,可以得到第i个样本正确预测的概率:
上式是对一个样本进行建模的数据表达。为什么可以这么做呢,因为y=1时后面一项为1,y=0时前面一项为1。那么对于所有的样本,假设每条样本生成过程独立,在整个样本空间中(N个样本)的概率分布(即似然函数)为:
接下来我们就可以通过极大似然估计方法求概率参数。
3、模型参数估计
3.1 Sigmoid函数
上图所示即为sigmoid函数,它的输入范围为-∞→+∞,而值域刚好为(0,1),正好满足概率分布为(0,1)的要求。用概率去描述分类器,自然要比阈值要来的方便。而且它是一个单调上升的函数,具有良好的连续性,不存在不连续点。
此外非常重要的,sigmoid函数求导后为:
3.2 参数估计推导
上一节的公式不仅可以理解为在已观测的样本空间中的概率分布表达式。如果从统计学的角度可以理解为参数θ
似然性的函数表达式(即似然函数表达式)。就是利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值;或者说什么样的参数才能使我们观测到目前这组数据的概率最大。参数在整个样本空间的似然函数可表示为:
为了方便参数求解,对这个公式取对数,可得对数似然函数:
然后,我们使用随机梯度下降的方法,对参数进行更新:
最后,通过扫描样本,迭代下述公式可救的参数:
式中,a表示学习率。
以上的推导,就是LR模型的核心部分,在机器学习相关的面试中,LR模型公式推导可能是考察频次最高的一个点,要将其熟练掌握。
4、LR的优缺点
一、预测结果是界于0和1之间的概率;
二、可以适用于连续性和类别性自变量;
三、容易使用和解释;
一、对模型中自变量多重共线性较为敏感,例如两个高度相关自变量同时放入模型,可能导致较弱的一个自变量回归符号不符合预期,符号被扭转。需要利用因子分析或者变量聚类分析等手段来选择代表性的自变量,以减少候选变量之间的相关性;
二、预测结果呈“S”型,因此从log(odds)向概率转化的过程是非线性的,在两端随着log(odds)值的变化,概率变化很小,边际值太小,slope太小,而中间概率的变化很大,很敏感。 导致很多区间的变量变化对目标概率的影响没有区分度,无法确定阀值。
5、LR和SVM
1、LR采用log损失,SVM采用合页损失。
2、LR对异常值敏感,SVM对异常值不敏感。
3、在训练集较小时,SVM较适用,而LR需要较多的样本。
4、LR模型找到的那个超平面,是尽量让所有点都远离他,而SVM寻找的那个超平面,是只让最靠近中间分割线的那些点尽量远离,即只用到那些支持向量的样本。
5、对非线性问题的处理方式不同,LR主要靠特征构造,必须组合交叉特征,特征离散化。SVM也可以这样,还可以通过kernel。
6、svm 更多的属于非参数模型,而logistic regression 是参数模型,本质不同。其区别就可以参考参数模型和非参模型的区别
那怎么根据特征数量和样本量来选择SVM和LR模型呢?Andrew NG的课程中给出了以下建议:
如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM
如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel
如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况。(LR和不带核函数的SVM比较类似。)
参考文献:机器学习算法系列(3):逻辑斯谛回归/
机器学习是做NLP和计算机视觉这类应用算法的基础,虽然现在深度学习模型大行其道,但是懂一些传统算法的原理和它们之间的区别还是很有必要的。可以帮助我们做一些模型选择。本篇博文就总结一下各种机器学习算法的特点和应用场景。本文是笔者结合自身面试中遇到的问题和总结网络上的资源得到的...
注:题中所指的『机器学习』不包括『深度学习』。本篇文章以理论推导为主,不涉及代码实现。 前些日子定下了未来三年左右的计划,其中很重要的一点是成为一名出色的人工智能产品经理,说是要每月至少读一本人工智能相关书籍,现在一个半月过去了,书读了一些,资料也看了不少,算是小有所成,所...
原文:http://blog.sina.com.cn/s/blog_818f5fde0102vvpy.html http://www.cnblogs.com/zhizhan/p/5038747.html 在大大小小的面试过程中,多次被问及这个问题:“请说一下逻辑回归(LR)...
原文:http://blog.sina.com.cn/s/blog_818f5fde0102vvpy.html 在大大小小的面试过程中,多次被问及这个问题:“请说一下逻辑回归(LR)和支持向量机(SVM)之间的相同点和不同点”。第一次被问到这个问题的时候,含含糊糊地说了一些...
朴素贝叶斯 参考[1] 事件A和B同时发生的概率为在A发生的情况下发生B或者在B发生的情况下发生A P(A∩B)=P(A)*P(B|A)=P(B)*P(A|B) 所以有: P(A|B)=P(B|A)*P(A)P(B) 对于给出的待分类项,求解在此项出现的条件下各个目标类别出...
生命的重启 : 昨天 __ 微型散文诗 作者 : 何 强 & 没有一声巨响,世界不会理你的 记忆里的颜色,记忆里的麦收,记忆里的人 一抺残阳幽寂,一抺消梦冥冥,一抺光血红 是谁帘卷西风,是谁不绝音符,是谁守心语
在百度搜索“康乐康磁化器”直接了解磁化器的营销模式、发明专利、使用方式 货发出来请把货单号发过来,谢谢合作!
快递货运信息
天津康乐康医疗器械有限公司
**SQL TOP 子句 TOP 子句用于规定要返回的记录的数目。 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。 注意:并非所有的数据库系统都支持 TOP 子句。 SQL Server 的语法: MySQL 和 Oracle 中的 SQL SELECT TOP...
hello宝贝们~ 我要开启一月一度的【疯狂试色】啦! 本期,我们为大家带来的是:8款口红的试色。 快来看看同一支口红涂出来的不同效果吧! ARMANI #300
美图秀秀里有一种特效叫做阿宝色,ARMANI的#300就可以完美诠释。明亮的南瓜色,很阳光很活力,有荧光感...
SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者)。[摘自]SQL injection - Wikipedia SQL注入,大家都不陌生,是一种常见的攻击方式。攻击者在界面的表单信息或URL上输...1,198被浏览96,487分享邀请回答41 条评论分享收藏感谢收起登录以解锁更多InfoQ新功能
获取更新并接收通知
给您喜爱的内容点赞
关注您喜爱的编辑与同行
966,690 十二月 独立访问用户
语言 & 开发
架构 & 设计
文化 & 方法
您目前处于:
从逻辑回归到深度学习,点击率预测技术面面观
从逻辑回归到深度学习,点击率预测技术面面观
6&他的粉丝
日. 估计阅读时间:
:开启与Netflix、微软、ThoughtWorks等公司的技术创新之路!
亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的。
Author Contacted
语言 & 开发
199 他的粉丝
架构 & 设计
528 他的粉丝
153 他的粉丝
159 他的粉丝
9 他的粉丝
计算广告学
2 他的粉丝
3 他的粉丝
相关厂商内容
相关赞助商
告诉我们您的想法
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
很全面,赞~
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
赞助商链接
InfoQ每周精要
订阅InfoQ每周精要,加入拥有25万多名资深开发者的庞大技术社区。
架构 & 设计
文化 & 方法
InfoQ.com及所有内容,版权所有 ©
C4Media Inc. InfoQ.com 服务器由 提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司
京ICP备号-7
找回密码....
InfoQ账号使用的E-mail
关注你最喜爱的话题和作者
快速浏览网站内你所感兴趣话题的精选内容。
内容自由定制
选择想要阅读的主题和喜爱的作者定制自己的新闻源。
设置通知机制以获取内容更新对您而言是否重要
注意:如果要修改您的邮箱,我们将会发送确认邮件到您原来的邮箱。
使用现有的公司名称
修改公司名称为:
公司性质:
使用现有的公司性质
修改公司性质为:
使用现有的公司规模
修改公司规模为:
使用现在的国家
使用现在的省份
Subscribe to our newsletter?
Subscribe to our industry email notices?
我们发现您在使用ad blocker。
我们理解您使用ad blocker的初衷,但为了保证InfoQ能够继续以免费方式为您服务,我们需要您的支持。InfoQ绝不会在未经您许可的情况下将您的数据提供给第三方。我们仅将其用于向读者发送相关广告内容。请您将InfoQ添加至白名单,感谢您的理解与支持。1,198被浏览96,487分享邀请回答2添加评论分享收藏感谢收起}

我要回帖

更多关于 数学函数模型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信