⚡可行梯度方向法⚡(Feasible Gradient Direction Method ,FGDM)

简介: ⚡可行梯度方向法⚡(Feasible Gradient Direction Method ,FGDM)

⚡最近很烦⚡

有一阵子没更新了,感觉整个暑假被忽悠了,六月份找Boss指明了一个Direction,然后整个暑假都在忙于补充Proposal相关的Knowledge,但是,被忽悠局局长Boss给忽悠了(谁人能明白其中的难受),干工科的master怎么可能不依靠数据,本来就知道拿不到数据,还跟着让指哪儿打哪儿,最终项目还是拿不到,唉~,Project always Project(Boss),一心就只有Project,这还让等到Sep去Proposal,调研的都白费了,谁爱去Proposal谁去。终究或许还是自己太菜了。


Sometimes one pays most for the things one gets for nothing.


最近看到算法比较多,其中发现一个FGD(Feasible Gradient Direction)方法,可行梯度方向法,很是疑惑,到处寻找答案,找不到。和Zoutendijk可行方向法相比好像又有所区别,下面根据Paper的SEDA(sparse exponential discrimination analysis)稀疏指数判别分析算法求解其目标函数进行解释一下(菜鸡的自我修养)。


背景

首先,先介绍一下背景,之前出过一篇LDA的解释Blog,LDA主要用于降维和简单分类,在多分类问题上比较有用。


在过去的几十年里,针对LDA方法提出过很多中改进的方法,如惩罚判别分析(PDA)、两阶段主成分判别分析(PCA+LDA)、零空间LDA(NLDA)、指数判别分析(EDA)、灵活判别分析(FDA)、混合判别分析(HDA)、稀疏判别分析(SDA)等等…一系列改进方法。


最近研究到一篇是关于对指数判别分析(EDA)的改进方法—稀疏指数判别分析(sparse exponential discrimination analysis,SEDA)。


简单来说一下作者的改进路线。


EDA

image.png

image.png

而改进的EDA的目标函数长这样:

image.png

注意,其中

image.png

此为改进的地方,可使用类间距离与类内距离的比率来评估判别分析方法的性能。

SEDA

现在我们加上EDA的约束条件,

image.png

将其进一步等价为,

image.png

加上lasso(套索)惩罚后得到SEDA,

image.png

其中,γ为一个非负调谐参数,应予以指定。


一般来说,随着lasso惩罚因子γ的增加,SEDA算法的模型可解释性和判别性能有所提高,但当γ 超过一定程度时,情况正好相反。


(中间过程过于复杂已忽略)


最终变形为下面这样的目标函数(为凸函数,原本为非凸函数,估计是为了增加一个创新点吧或许,本来可以直接拉格朗日干起来,搞非凸函数求其最优解,现在改进使用最小化-最大化(MM)算法将其重新表达为一个迭代凸优化问题变为凸函数,学到了):


image.png

可行梯度方向法

这里主要针对稀疏判别优化的可行梯度方向法,将(*)式的约束优化问题转变为无约束优化问题,(公式太多了,就不打公式了哈)

image.png

上式的Hessian矩阵显然是对称正定的。因此,上式的无约束优化问题是严格凸的,这意味着其极值点对应于最优解。首先将上式的优化问题简化为一个标准的二次规划问题,然后利用一种可行的梯度方向法来有效地求解该问题。

将上式进行进一步优化,

image.png

image.png

image.png

同理,原无约束优化函数变为,

image.png

再将二次项重新表述为,

image.png

同样的,

image.png

因此,无约束优化的问题可以简化为一个标准的二次规划(二次规划凸优化有个好处,就是,局部最优解即为全局最优解),

image.png

其中,

image.png

下面是关于可行梯度方向法核心观点:

image.png

image.png

image.png

可行梯度方向法示意图

image.png

image.png

其中,τ表示为

image.png


相关文章
重构——10搬移函数(Move Method)
搬移函数(Move Method):你的程序中,有个函数与其所驻类之外的另一个类进行更多的交流:调用后者,或者被后者调用。在该函数最常引用的类中建立一个有着类似行为的新函数。将就函数变成一个单纯的委托函数,或是将旧函数完全移除
3588 0
|
4月前
|
机器学习/深度学习 数据采集 监控
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
**神经网络与AI学习概览** - 探讨神经网络设计,包括MLP、RNN、CNN,激活函数如ReLU,以及隐藏层设计,强调网络结构与任务匹配。 - 参数初始化与优化涉及Xavier/He初始化,权重和偏置初始化,优化算法如SGD、Adam,针对不同场景选择。 - 学习率调整与正则化,如动态学习率、L1/L2正则化、早停法和Dropout,以改善训练和泛化。
45 0
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
|
5月前
|
算法 C语言 Ruby
分形逃逸时间算法中的 Normalized Iteration Count(NIC)技术 让颜色更柔和
Normalized Iteration Count (NIC) 技术是一种提升逃逸时间算法中分形图像质量的方法,它产生更平滑的颜色过渡。数学公式表示为:`mu = n + 1 - log(log(|Z(n)|)) / log(p)`,其中 `Z(n)` 是迭代次数,`|Z(n)|` 是复数模长,`p` 通常取2。示例代码提供了 Ruby, Maxima 和 C 语言的实现。
|
JavaScript
avalon使用ms-visible出现重叠的问题
avalon使用ms-visible出现重叠的问题
45 0
|
前端开发
今天来讲讲 scale、translate 和 rotate 这三个属性,你不会以为我是要讲的是 transform 吧?
总所周知,transform 是 CSS3 中最强大的属性之一,它有这么三个函数属性值:scale、translate 和 rotate,它们分别是缩放、位移和旋转,但是你有没有想过有这么一天它们三个
282 0
今天来讲讲 scale、translate 和 rotate 这三个属性,你不会以为我是要讲的是 transform 吧?
|
前端开发 容器
aspect-ratio与object-fit搭配的妙用
本文将从aspect-ratio与object-fit出发,分别了解两个属性的特性,学习如何结合两个新CSS属性来解决
222 2
aspect-ratio与object-fit搭配的妙用
|
算法 数据可视化 Python
鞍点Saddle Point Locator
鞍点Saddle Point Locator
151 0
LeetCode Contest 178-1368. 使网格图至少有一条有效路径的最小代价 Minimum Cost to Make at Least One Valid Path in a Grid
LeetCode Contest 178-1368. 使网格图至少有一条有效路径的最小代价 Minimum Cost to Make at Least One Valid Path in a Grid
|
Java
JDK中字体的高度信息ascent/descent/leading是怎么计算的
JDK中字体的高度信息ascent/descent/leading是怎么计算的
157 0
|
SQL Oracle 关系型数据库
测试3——探究shrink和move原理
shrink操作的机制: 我们接下来讨论一下shrink的实现机制,我们同样使用讨论move机制的那个实验来观察.SQL> create table TEST_HWM (id int ,name char(2000)) tablespace ASSM;T...
954 0