结构力学求解器,结构力学求解器

在线最优化求解(Online Optimization)之一:预备篇 - 推酷
在线最优化求解(Online Optimization)之一:预备篇
by@fengyoung
动机与目的
在实际工作中,无论是工程师、项目经理、产品同学都会经常讨论一类话题:“从线上对比的效果来看,某某特征或因素对xx产品的最终效果有很大的影响”。这类话题本质上说的是通过已有的数据反映出某些特定的因素对结果有很强的正(或负)相关性。而如何定量计算这种相关性?如何得到一套模型参数能够使得效果达到最优?这就是最优化计算要做的事情。
举一类典型点的例子:在推荐和广告计算中,我们经常会需要对某些值进行预测,例如在一条推荐或广告在曝光之前先预测用户是否会产生点击(CTR预估),或者是否会由此产生某些转换(RPM预估)。这类问题可以表示为:针对一个输入
,通过某个函数
计算(预测)输出
值为连续的还是离散的,预测问题被划分成回归问题(Regression)和分类问题(Classification)。而利用已有的样本数据 训练 的过程往往转换成一个最优化求解的过程。
无论是线性回归(Linear Regression)、逻辑回归(Logistic Regression)、支持向量机(SVM)、深度学习(Deep Learning)中,最优化求解都是基本的步骤。常见的梯度下降、牛顿法、拟牛顿法等属于批量处理的方法(Batch),每次更新都需要对已经训练过的样本重新训练一遍。而当我们面对高维高数据量的时候,批量处理的方式就显得笨重和不够高效,因此需要有在线处理的方法(Online)来解决相同的问题。关于在线最优化问题(Online Optimization)的论文比较多,逐一查找阅读费时费力,那么本系列文章就以高维高数据量的应用场景中比较看重的稀疏性作为主线,逐一介绍几个在线最优化求解算法,并进行推导,力求讲清楚算法的来龙去脉,以及不同算法之间的区别和联系,达到融会贯通。在各个算法原理介绍之后,都会给出该算法的工程实现伪代码,可以用于实际工作的参考。
本系列的主要内容如下:
预备篇:关于最优化求解的预备知识
截断梯度法(TG):以简单的截断思路构造稀疏模型
FOBOS (Forward-Backward Splitting):TG在特定条件下的特殊形式
RDA (Regularized Dual Averaging):微软多年的研究成果,能较好地在精度与稀疏性间进行权衡
FTRL (Follow the Regularized Leader):Google的研究成果,结合了FOBOS和RDA的优点,并且能针对不同维度单独进行训练
废话少说,下面进行先进入预备知识的介绍。
是定义在N维向量空间上的实值函数,对于在
上的任意两个点
,以及任意[0,1]之间的值 都有:
是凸函数(Convex)[1]。一个函数是凸函数是它存在最优解的充分必要条件。 此外,如果
是严格凸函数(Strict Convex)。如图1所示,(a)为严格凸函数,(b)为凸函数。
图1 凸函数
2.&拉格朗日乘数法及KKT条件
通常我们需要求解的最优化问题有如下三类:
(1) 无约束优化问题:
含义是求解
,令目标函数
(2)&有等式约束的优化问题:
含义是在n个等式约束
的条件下,求解
,令目标函数
(3)& 有不等式约束的优化问题:
含义是在n个等式约束
以及m个不等式约束
的条件下,求解
,令目标函数
针对无约束最优化问题,通常做法就是对
求导,并令
,求解可以得到最优值。如果
为凸函数,则可以保证结果为全局最优解。
针对有等式约束的最优化问题,采用 拉格朗日乘数法(Lagrange Multiplier) [2]进行求解:通过拉格朗日系数把等式约束和目标函数组合成为一个式子,对该式子进行最优化求解:
。相当于将有等式约束的最优化问题转换成了无约束最优化求解问题,解决方法依旧是对
的各个参数
求偏导,并令其等于
,联立等式求解。
针对有不等式约束的最优化问题,常用的方法是 KKT条件(Karush-Kuhn-Tucker Conditions) [3],同样地,把所有的不等式约束、等式约束和目标函数全部写为一个式子:
KKT条件是说最优值必须满足以下条件:
。KKT条件是求解最优值
的必要条件,要使其成为充分必要条件,还需要
为凸函数才行。 在KKT条件中,
这个条件最有趣,因为
,如果要满足这个等式,需要
。我们在后续篇章中会运用这个性质。
3. 从Batch到Online
我们面对的最优化问题都是无约束的最优化问题(有约束最优化问题可以利用拉格朗日乘数法或KKT条件转换成无约束最优化问题),因此我们通常可以将它们描述成:
为观测样本集合(训练集);
为为第j条样本的特征向量;
为预测值;
为特征向量到预测值的映射函数;
为最优化求解的目标函数,也称作损失函数;
为特征权重,也就是我们需要求解的参数。损失函数通常可以分解为各样本损失函数的累加,即:
以线性回归和逻辑回归为例,它们的映射函数和损失函数分别为:
在上一节中我们给出了无约束最优化问题解析解的求法。而在我们实际的数值计算中,通常做法是随机给定一个初始的
,通过迭代,在每次迭代中计算损失函数在当前
的下降方向,并更新
直到损失函数稳定在最小的点[4]。例如著名的梯度下降法(GD, Gradient Descent)就是通过计算损失函数的在当前
处的梯度[5](Gradient),以梯度
的反方向作为下降方向更新
,如果损失函数是一个非平滑的凸函数(Non-smooth convex),在不可导处用次梯度[6](Subgradient)方向的反方向作为下降方向。算法如下[7]:
GD是一种批量处理的方式(Batch),每次更新W的时候都要扫描所有的样本以计算一个全局的梯度
考虑另一种权重更新策略[7]:
在算法2中,每次迭代仅仅根据单个样本更新权重 ,这种算法称作随机梯度下降[8](SGD, Stochastic Gradient Descent)。
与GD相比较,GD每次扫描所有的样本以计算一个全局的梯度,SGD则每次只针对一个观测到的样本进行更新。通常情况下,SGD能够比GD“更快”地令 逼近最优值。当样本数 特别大的时候,SGD的优势更加明显,并且由于SGD针对观测到的“一条”样本更新 ,很适合进行增量计算,实现梯度下降的Online模式(OGD, Online Gradient Descent)。
正则化(Regularization)的意义本质上是为了避免训练得到的模型过度拟合(overfitting)训练数据。我们用图2来说明什么是过拟合,该图来自于王科的微博(@王小科科科)。图2是一个局部加权线性回归(Locally weighted linear regression)的训练结果,当学习度为1时,相当于进行线性回归,这时候模型与训练样本以及实际曲线拟合得都不够好,模型处于欠拟合(underfitting)状态;当学习度逐渐增加到4的过程中,模型逐渐与实际曲线吻合;随着学习度继续增加,越来越多的样本直接落到模型曲线上(模型拟合训练数据),但是模型却与实际曲线相差越来越大,出现了过拟合。
图2. 欠拟合 & 过拟合
过拟合体现出来的现象就是特征权重 的各个维度的绝对值非常大:一些大正数,一些大负数。这种模型虽然能够很好匹配样本(如图2中Degree = 20的情况),但是对新样本做预测的时候会使得预测值与真实值相差很远。
为了避免过拟合的情况,我们通常在损失函数的基础上加一个关于特征权重 的限制,限制它的模不要太大,如果用
表示特征权重
的一种求模计算,那么公式(1)转换成:
称作正则化因子(Regularizer),是一个关于
求模的函数,我们常用正则化因子有L1和L2正则化:
不管是使用L1还是L2正则化,其基本原理都是一样的,即在最小化损失函数
的同时,还要考虑
的模带来的贡献,从而避免
的维度上取一些绝对值很大的值。
L1和L2正则化的区别主要有两个:(1) L1正则化在0处不可导,而L2正则化可导。好在无论是L1还是L2正则化本身都是凸函数,因此在计算L1正则化的梯度方向的可以采用次梯度代替;(2) 在Batch模式下,L1正则化通常产生更加稀疏(Sparse)的模型,W的更多维度为0,这些为0的维度就代表了不是很相关的维度,从而起到了特征选择(Feature Selection)的目的。
我们对稀疏性(Sparsity)比较感兴趣。除了特征选择的作用以外,稀疏性可以使得预测计算的复杂度降低。那么为什么L1正则化会产生这种稀疏性?通常可以根据文献[9]中的理解,如图3所示:假如特征维度N=2,那么L1正则化引入的约束条件是 只能取转置方形中的值(图3-(a)中黑色方框内),L2正则化对应的是一个圆形区域(图3-(b)中黑色圆形区域),图3中绿色部分代表损失函数的等高线,等高线与约束区域的首次相交的地方就是最优解。可以看到,由于L1正则化的约束区域与坐标轴相交的地方都有“角”出现,等高线更容易在这个“角”上与约束区域相交,导致另一个维度上的权重值为0;而L2正则化则没有这种性质,因为没有“角”,等高线在坐标轴上与约束区域相交的概率大为减小。这样从直观上就解释了L1正则化更容易产生稀疏性的原因。
图3.&L1正则化与L2正则化产生稀疏解示意图
那么在Online模式下呢,不同于Batch,Online中每次 的更新并不是沿着全局梯度进行下降,而是沿着某个样本的产生的梯度方向进行下降,整个寻优过程变得像是一个“随机”查找的过程(SGD中Stochastic的来历),这样Online最优化求解即使采用L1正则化的方式,也很难产生稀疏解。后面介绍的各个在线最优化求解算法中,稀疏性是一个主要的追求目标。
[1] Convex function .
[2] & Lagrange multiplier.
[3] & Karush-Kuhn-Tucker conditions.
[4] &冯扬. 并行逻辑回归.
[5] & Gradient.
[6] & Subgradient.
[7] &Andrew Ng. CS229 Lecture notes.
[8] & Stochastic Gradient Descent.
[9] &T. Hastie, R. Tibshirani & J. Friedman. The Elements of Statistical Learning, Second Edition: Data Mining, Inference, and Prediction. Springer Series in Statistics. Springer, 2009
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致求解过程的海词问答与网友补充:
求解过程的相关资料:
相关词典网站:在线时间0 小时
版本V8.0.22.0.MAGCNDI
积分 93, 距离下一级还需 107 积分
积分 93, 距离下一级还需 107 积分
机型小米手机5S
MIUI版本V8.0.22.0.MAGCNDI
小米路由器3怎么有双频,到底选择2.4好?
5.jpg (51.91 KB, 下载次数: 0)
8.jpg (49 KB, 下载次数: 0)
8.jpg (58.33 KB, 下载次数: 0)
还是选择5G好?还是双频合一好?请看下我截的图片
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
经验1264 米
在线时间31 小时
版本V8.0.16.0.MBGCNDI
积分 1343, 距离下一级还需 657 积分
积分 1343, 距离下一级还需 657 积分
机型小米手机2/2S
签到次数64
MIUI版本V8.0.16.0.MBGCNDI
选择双频合一,两种频率同样名称自动切换,这样在近距离的时候5G信号,远一些的时候2.4G的信号。
在线时间0 小时
版本V8.0.22.0.MAGCNDI
积分 93, 距离下一级还需 107 积分
积分 93, 距离下一级还需 107 积分
机型小米手机5S
MIUI版本V8.0.22.0.MAGCNDI
Redflag00 发表于
选择双频合一,两种频率同样名称自动切换,这样在近距离的时候5G信号,远一些的时候2.4G的信号。 ...
切换的时候会掉线吗?
在线时间0 小时
版本V8.0.22.0.MAGCNDI
积分 93, 距离下一级还需 107 积分
积分 93, 距离下一级还需 107 积分
机型小米手机5S
MIUI版本V8.0.22.0.MAGCNDI
系统说切换会掉线,这是不是真的?
Screenshot_-20-06-13-035_com.xiaomi.router.png (196.01 KB, 下载次数: 0)
经验1264 米
在线时间31 小时
版本V8.0.16.0.MBGCNDI
积分 1343, 距离下一级还需 657 积分
积分 1343, 距离下一级还需 657 积分
机型小米手机2/2S
签到次数64
MIUI版本V8.0.16.0.MBGCNDI
一直爱做 发表于
切换的时候会掉线吗?
应该会掉一下,不影响看视频什么的,如果玩游戏什么的要求不断线,追求稳定的话,建议就用一个2.4G(多数路由器常用频段),关掉5G。
在线时间0 小时
版本V8.0.22.0.MAGCNDI
积分 93, 距离下一级还需 107 积分
积分 93, 距离下一级还需 107 积分
机型小米手机5S
MIUI版本V8.0.22.0.MAGCNDI
Redflag00 发表于
应该会掉一下,不影响看视频什么的,如果玩游戏什么的要求不断线,追求稳定的话,建议就用一个2.4G(多数 ...
明白了,多谢帮忙
Copyright (C) 2016 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
comsol求解报错,求助!
我在计算一个电热耦合的问题,求解时报错:
& && && &&&求解失败
& && && & 达到最大牛顿迭代次数
& && && & 返回的结果未收敛
网格已经是最精细的那种了,试过用直接求解的方式,还是不行,报错同上。请求各路大神帮忙!
我试过的,但是还是不行,最后也是不收敛。
具体是怎么操作啊,,,刚上手不太明白:rol:边界条件不是由固体力学的模型设定定的吗?换求解器指的是什么呢?
请问楼主有没有解决这个问题啊,我现在也是被这个问题困扰啊,:cry:
研究生必备与500万研究生在线互动!
扫描下载送金币
浏览器进程
打开微信扫一扫
随时随地聊科研→ 全身骨头求解答,求解,求解,谢谢!
全身骨头求解答,求解,求解,谢谢!
健康咨询描述:
你好!请问每到天气转冷或雨天全身关节酸痛是什么原因?平常还有严重的关节响声,抬一下腿关节就响,一般吃点钙片会好一点儿,不然会很严重!本人有颈椎突出和腰椎间盘突出。还有背部中间两节脊椎骨按压酸痛!很痛苦求解
其他类似问题
医生回复区
擅长: 对于治疗泌尿系统的疾病,特别是结石和泌尿系统的感染
帮助网友:26184称赞:100
&&&&&&病情分析:&&&&&&这种情况一般需要配合血液的风湿因子的检查和关节的理疗来恢复&&&&&&指导意见:&&&&&&另外要注意保持良好的生活习惯,饮食习惯,注意关节周围的保暖,保持周围环境的卫生
擅长: 慢性咽炎,不孕症,风湿性关节炎,类风湿关节炎,小儿
帮助网友:26767称赞:122
&&&&&&病情分析:&&&&&&你的情况属于肝脾肾功能不足引起风湿出现每到天气转冷或雨天全身关节酸痛&&&&&&指导意见:&&&&&&建议你及时去中医院把脉辨证论治喝点中药治疗,配合针灸治疗,睡前用艾叶煮水泡脚半个小时,治疗需要三个月
擅长: 颅脑损伤,颅内肿瘤,颅内动脉瘤,脑出血
帮助网友:17404称赞:78
&&&&&&病情分析:&&&&&&长期出现关节疼痛的话最好早期的注意一下看看才行的,排除关节炎症&&&&&&指导意见:&&&&&&其余的来说问题不会很大的,别着急了,慢慢来,正常的生活,压力不要太大,看看是否可以恢复&&&&&&以上是对“全身骨头求解答,求解,求解,谢谢!”这个问题的建议,希望对您有帮助,祝您健康!
擅长: 腰椎间盘突出,腰椎骨折,腰椎滑脱,关节炎,颈椎病
帮助网友:1587称赞:10
&&&&&&病情分析:&&&&&&根据您所说的这种情况,你这是得了关节炎引起的,建议积极治疗。&&&&&&指导意见:&&&&&&关节炎的治疗原则早期休息,制动,口服葡立胶囊,美洛昔康治疗。一般情况下3周左右就好了。
疾病百科| 腰椎间盘突出
挂号科室:脊柱外科
温馨提示:进行体育锻炼,但要适宜。
&&&&& 腰椎间盘突出症是较为常见的疾患之一,主要是因为腰椎间盘各部分(髓核、纤维环及软骨板),尤其是髓核,有不同程度的退行性改变后,在外力因素的作...
好发人群:20岁-50岁男性尤为多见
常见症状:腰椎退化、腰椎间盘突出、腰酸痛、肢体麻木
是否医保:医保疾病
治疗方法:西医治疗、中医治疗
参考价格:20
参考价格:8.5
参考价格:18
您可能关注的问题
用药指导/吃什么药好
疏风活络,散寒祛湿。用于风寒湿痹,四肢麻木,关节...
参考价格:¥33.9
温经散寒,化瘀消肿,活血止痛。用于跌打扭伤,撞伤...
参考价格:¥7.6
下载APP,免费快速问医生}

我要回帖

更多关于 求解一筐鸡蛋正确答案 的文章

更多推荐

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

点击添加站长微信