一个交替优化问题的求解

优化问题的背景

给出的优化目标是一个多变量的函数,形式如下:

min ⁡ W , b , Y ∈ I n d , Z ∥ X T W + 1 b T − Y ∥ F 2 + γ ∥ W ∥ F 2 + λ t r ( Z T 1 1 T Z ) + μ 2 ∥ Y − Z + 1 μ Λ ∥ F 2 \min_{W,b,Y\in Ind,Z}\left\|X^TW+\mathbf{1}b^T-Y\right\|_F^2+\gamma\|W\|_F^2 \\ +\lambda\mathrm{tr}\left(Z^T\mathbf{1}\mathbf{1}^TZ\right)+\frac{\mu}{2}\left\|Y-Z+\frac{1}{\mu}\Lambda\right\|_F^2 W,b,YInd,Zmin XTW+1bTY F2+γWF2+λtr(ZT11TZ)+2μ YZ+μ1Λ F2

这里的目标函数包括多项:

  1. 第一项 ∥ X T W + 1 b T − Y ∥ F 2 \|X^TW + \mathbf{1}b^T - Y\|_F^2 XTW+1bTYF2

    • 描述的是 Y Y Y X T W + 1 b T X^TW + \mathbf{1}b^T XTW+1bT 的差异(平方 Frobenius 范数)。
    • W W W b b b 是待优化的线性模型参数, Y Y Y 是一个表示分类结果的离散矩阵。
  2. 第二项 γ ∥ W ∥ F 2 \gamma\|W\|_F^2 γWF2

    • W W W 的正则化项,用于控制模型复杂度,防止过拟合。
  3. 第三项 λ t r ( Z T 1 1 T Z ) \lambda\mathrm{tr}\left(Z^T\mathbf{1}\mathbf{1}^TZ\right) λtr(ZT11TZ)

    • 控制 Z Z Z 的某种稀疏性(或行一致性),其中 1 \mathbf{1} 1 是全 1 的列向量, t r \mathrm{tr} tr 表示迹运算。
  4. 第四项 μ 2 ∥ Y − Z + 1 μ Λ ∥ F 2 \frac{\mu}{2}\left\|Y-Z+\frac{1}{\mu}\Lambda\right\|_F^2 2μ YZ+μ1Λ F2

    • 表示 Y Y Y Z Z Z 的一致性约束, Λ \Lambda Λ 是拉格朗日乘子, μ \mu μ 是一个惩罚参数。
    • 这种形式通常出现在交替方向乘子法(ADMM)中,用于逼近等式约束 Y ≈ Z Y \approx Z YZ

固定 W W W, b b b, Z Z Z 的优化问题

重写优化问题

在固定 W W W, b b b, Z Z Z 的情况下,优化问题只需针对 Y Y Y 来求解。将目标函数中与 Y Y Y 相关的部分提取出来:

min ⁡ Y ∈ I n d ∥ X T W + 1 b T − Y ∥ F 2 + μ 2 ∥ Y − Z + 1 μ Λ ∥ F 2 \min_{Y\in Ind} \|X^TW+\mathbf{1}b^T - Y\|_F^2 + \frac{\mu}{2}\|Y - Z + \frac{1}{\mu}\Lambda\|_F^2 YIndminXTW+1bTYF2+2μYZ+μ1ΛF2

展开平方项:

∥ X T W + 1 b T − Y ∥ F 2 = ∥ X T W + 1 b T ∥ F 2 − 2 ⟨ X T W + 1 b T , Y ⟩ + ∥ Y ∥ F 2 \|X^TW+\mathbf{1}b^T - Y\|_F^2 = \|X^TW+\mathbf{1}b^T\|_F^2 - 2\langle X^TW+\mathbf{1}b^T, Y \rangle + \|Y\|_F^2 XTW+1bTYF2=XTW+1bTF22XTW+1bT,Y+YF2

∥ Y − Z + 1 μ Λ ∥ F 2 = ∥ Y ∥ F 2 − 2 ⟨ Y , Z − 1 μ Λ ⟩ + ∥ Z − 1 μ Λ ∥ F 2 \|Y - Z + \frac{1}{\mu}\Lambda\|_F^2 = \|Y\|_F^2 - 2\langle Y, Z - \frac{1}{\mu}\Lambda \rangle + \|Z - \frac{1}{\mu}\Lambda\|_F^2 YZ+μ1ΛF2=YF22Y,Zμ1Λ+Zμ1ΛF2

将它们代入优化目标并合并常数项,最终可以化简为:

min ⁡ Y ∈ I n d ∥ Y − V ∥ F 2 + const. \min_{Y\in Ind} \|Y - V\|_F^2 + \text{const.} YIndminYVF2+const.

其中,常数部分与 Y Y Y 无关, V V V 是定义为:

V = 2 2 + μ ( X T W + 1 b T ) + 1 2 + μ ( μ Z − Λ ) V = \frac{2}{2+\mu}\left(X^TW+\mathbf{1}b^T\right) + \frac{1}{2+\mu}(\mu Z - \Lambda) V=2+μ2(XTW+1bT)+2+μ1(μZΛ)


进一步的离散约束

矩阵 Y ∈ I n d Y \in Ind YInd 表示一个类别分配矩阵:

  1. 每个元素 y i k ∈ { 0 , 1 } y_{ik} \in \{0,1\} yik{0,1} 表示是否将样本 i i i 分配给类别 k k k
  2. 每一行的和为 1,即 ∑ k = 1 c y i k = 1 \sum_{k=1}^c y_{ik} = 1 k=1cyik=1,表示每个样本必须且只能属于一个类别。

在这种情况下,优化目标可以写成:

min ⁡ Y ∑ i = 1 n ∑ k = 1 c ( y i k − v i k ) 2 , s . t . y i k ∈ { 0 , 1 } , ∑ k = 1 c y i k = 1 \min_{Y} \sum_{i=1}^n \sum_{k=1}^c (y_{ik} - v_{ik})^2, \quad s.t. \quad y_{ik} \in \{0,1\}, \sum_{k=1}^c y_{ik} = 1 Ymini=1nk=1c(yikvik)2,s.t.yik{0,1},k=1cyik=1


如何求解?

由于每行的 y i : y_{i:} yi: 中只有一个值为 1,其他为 0,问题可以通过遍历(traversal strategy)逐行解决:

每一行的优化

对固定的第 i i i 行,目标是:

min ⁡ y i : ∑ k = 1 c ( y i k − v i k ) 2 , s . t . y i k ∈ { 0 , 1 } , ∑ k = 1 c y i k = 1 \min_{y_{i:}} \sum_{k=1}^c (y_{ik} - v_{ik})^2, \quad s.t. \quad y_{ik} \in \{0,1\}, \sum_{k=1}^c y_{ik} = 1 yi:mink=1c(yikvik)2,s.t.yik{0,1},k=1cyik=1

通过观察,这实际上是选择一个使 v i k v_{ik} vik 最大的 k k k。因此,最优解为:

y i k = { 1 , if  k = arg ⁡ max ⁡ k { v i k } k = 1 c 0 , otherwise. y_{ik} = \begin{cases} 1, & \text{if } k = \arg\max_k \{v_{ik}\}_{k=1}^c \\ 0, & \text{otherwise.} \end{cases} yik={1,0,if k=argmaxk{vik}k=1cotherwise.

换句话说,对于每个样本 i i i Y Y Y 的每一行都会被设置为一个独热编码(one-hot encoding),对应于 v i k v_{ik} vik 最大的类别索引。


迭代终止条件

通过交替优化(如 ADMM),我们不断更新 W , b , Y , Z W, b, Y, Z W,b,Y,Z Λ \Lambda Λ。对 Y Y Y 的更新迭代直到满足以下条件之一:

  1. Y − Z → 0 Y - Z \to 0 YZ0:表示 Y Y Y Z Z Z 的一致性达到要求。
  2. Λ \Lambda Λ 不再更新:拉格朗日乘子停止变化,说明约束收敛。

这是因为优化问题的目标函数和约束条件直接导致了这种选择。让我们详细分析其中的数学逻辑。


目标函数的形式

我们需要解决的问题是:

min ⁡ y i k ∑ i = 1 n ∑ k = 1 c ( y i k − v i k ) 2 \min_{y_{ik}} \sum_{i=1}^n \sum_{k=1}^c (y_{ik} - v_{ik})^2 yikmini=1nk=1c(yikvik)2

约束条件
  1. 每个元素 y i k ∈ { 0 , 1 } y_{ik} \in \{0, 1\} yik{0,1},表示 y i k y_{ik} yik 要么是 0,要么是 1。
  2. 每行 y i : = ( y i 1 , y i 2 , … , y i c ) y_{i:} = (y_{i1}, y_{i2}, \dots, y_{ic}) yi:=(yi1,yi2,,yic) 中,只有一个值是 1,即:
    ∑ k = 1 c y i k = 1 \sum_{k=1}^c y_{ik} = 1 k=1cyik=1

换句话说,矩阵 Y Y Y 的每一行是一个独热编码(one-hot encoding),表示样本 i i i 属于某个类别 k k k


分解为逐行优化

在给定约束下,优化目标可以逐行独立解决,因为每一行 y i : y_{i:} yi: 的变量互不影响。这意味着我们可以逐行求解:

min ⁡ y i : ∑ k = 1 c ( y i k − v i k ) 2 , subject to  y i k ∈ { 0 , 1 } , ∑ k = 1 c y i k = 1. \min_{y_{i:}} \sum_{k=1}^c (y_{ik} - v_{ik})^2, \quad \text{subject to } y_{ik} \in \{0, 1\}, \sum_{k=1}^c y_{ik} = 1. yi:mink=1c(yikvik)2,subject to yik{0,1},k=1cyik=1.

逐行优化的含义

对第 i i i 行来说,目标是:

min ⁡ y i : ∑ k = 1 c ( y i k − v i k ) 2 \min_{y_{i:}} \sum_{k=1}^c (y_{ik} - v_{ik})^2 yi:mink=1c(yikvik)2

由于 y i : y_{i:} yi: 的每个元素 y i k y_{ik} yik 只能取值 0 或 1,并且约束 ∑ k = 1 c y i k = 1 \sum_{k=1}^c y_{ik} = 1 k=1cyik=1 确保其中只有一个值为 1,这就意味着我们只需要选择一个类别 k k k,使得目标函数对这一行的贡献最小。


目标函数最小化的选择

观察目标函数中的每一行优化问题:

∑ k = 1 c ( y i k − v i k ) 2 \sum_{k=1}^c (y_{ik} - v_{ik})^2 k=1c(yikvik)2

  1. y i k = 1 y_{ik} = 1 yik=1 时, ( y i k − v i k ) 2 = ( 1 − v i k ) 2 (y_{ik} - v_{ik})^2 = (1 - v_{ik})^2 (yikvik)2=(1vik)2
  2. y i k = 0 y_{ik} = 0 yik=0 时, ( y i k − v i k ) 2 = v i k 2 (y_{ik} - v_{ik})^2 = v_{ik}^2 (yikvik)2=vik2

为了满足约束,每行只能有一个 y i k = 1 y_{ik} = 1 yik=1,其他 y i k = 0 y_{ik} = 0 yik=0。因此,优化目标可以等价于:

min ⁡ k ( 1 − v i k ) 2 + ∑ j ≠ k v i j 2 \min_k (1 - v_{ik})^2 + \sum_{j \neq k} v_{ij}^2 kmin(1vik)2+j=kvij2

因为 ∑ j ≠ k v i j 2 \sum_{j \neq k} v_{ij}^2 j=kvij2 对所有 k k k 都是相同的(只影响固定的其他列),所以只需要最小化 ( 1 − v i k ) 2 (1 - v_{ik})^2 (1vik)2,也就是最大化 v i k v_{ik} vik


总结

最终的逐行解可以表述为:

y i k = { 1 , if  k = arg ⁡ max ⁡ k { v i k } k = 1 c , 0 , otherwise. y_{ik} = \begin{cases} 1, & \text{if } k = \arg\max_k \{v_{ik}\}_{k=1}^c, \\ 0, & \text{otherwise.} \end{cases} yik={1,0,if k=argmaxk{vik}k=1c,otherwise.

这实际上是找到第 i i i 行中 v i k v_{ik} vik 最大的那个 k k k,将 y i k y_{ik} yik 设置为 1,其他设置为 0。


直观解释

  1. v i k v_{ik} vik 表示优化中一个候选类别 k k k 对样本 i i i 的分数。
  2. 为了让 y i : y_{i:} yi: 逼近 v i : v_{i:} vi:,自然选择分数最大的类别 k k k 为 1,其他为 0。

因此,这就是为什么选择 arg ⁡ max ⁡ k v i k \arg\max_k v_{ik} argmaxkvik 的原因!

总结

  1. 给出的优化问题包含连续和离散变量,目标是找到一个满足多项约束的最优解。
  2. 在固定部分变量后,针对离散变量 Y Y Y 的优化被转化为一个简单的行级别问题。
  3. 对每行的优化,通过找到 v i k v_{ik} vik 的最大值索引实现,得到一个独热编码解。
  4. 迭代更新 Y Y Y 直到收敛或满足终止条件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/474561.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何解决多系统数据重复与冲突问题?

多系统并行运作已成为现代企业的常态。企业通常同时使用ERP、CRM、HR等多个业务系统来管理不同的功能模块。然而,这种多系统环境也带来了一个常见且棘手的问题:数据重复与矛盾。由于各系统独立运行且缺乏有效的集成机制,不同系统间的数据容易…

麒麟时间同步搭建chrony服务器

搭建chrony服务器 在本例中,kyserver01(172.16.200.10)作为客户端,同步服务端时间;kyserver02(172.16.200.11)作为服务端,提供时间同步服务。 配置服务端,修改以下内容…

【GPTs】Ai-Ming:AI命理助手,个人运势与未来发展剖析

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 💯GPTs指令💯前言💯Ai-Ming主要功能适用场景优点缺点 💯小结 💯GPTs指令 中文翻译: defcomplete_sexagenary(年&a…

Chainlit快速实现AI对话应用将聊天记录的持久化到MySql关系数据库中

概述 默认情况下,Chainlit 应用不会保留其生成的聊天和元素。即网页一刷新,所有的聊天记录,页面上的所有聊天记录都会消失。但是,存储和利用这些数据的能力可能是您的项目或组织的重要组成部分。 之前写过一篇文章《Chainlit快速…

【动手学深度学习Pytorch】6. LeNet实现代码

LeNet(LeNet-5)由两个部分组成:卷积编码器和全连接层密集块 x.view(): 对tensor进行reshape import torch from torch import nn from d2l import torch as d2lclass Reshape(torch.nn.Module):def forward(self, x):return x.view(-1, 1, 28…

AI工具百宝箱|任意选择与Chatgpt、gemini、Claude等主流模型聊天的Anychat,等你来体验!

文章推荐 AI工具百宝箱|使用Deep Live Cam,上传一张照片就可以实现实时视频换脸...简直太逆天! Anychat 这是一款可以与任何模型聊天 (chatgpt、gemini、perplexity、claude、metal llama、grok 等)的应用。 在页面…

Excel数据动态获取与映射

处理代码 动态映射 动态读取 excel 中的数据,并通过 json 配置 指定对应列的值映射到模板中的什么字段上 private void GetFreightFeeByExcel(string filePath) {// 文件名需要以快递公司命名 便于映射查询string fileName Path.GetFileNameWithoutExtension(fi…

SRP 实现 Cook-Torrance BRDF

写的很乱! BRDF(Bidirectional Reflectance Distribution Function)全称双向反射分布函数。辐射量单位非常多,这里为方便直观理解,会用非常不严谨的光照强度来解释说明。 BRDF光照模型,上反射率公式&#…

[代码随想录Day16打卡] 找树左下角的值 路径总和 从中序与后序遍历序列构造二叉树

找树左下角的值 定义:二叉树中最后一行最靠左侧的值。 前序,中序,后序遍历都是先遍历左然后遍历右。 因为优先遍历左节点,所以递归中因为深度增加更新result的时候,更新的值是当前深度最左侧的值,到最后就…

【第七节】在RadAsm中使用OllyDBG调试器

前言 接着本专栏上一节,我们虽然已经用上RadAsm进行编写x86汇编代码并编译运行,但是想进行断点调试怎么办。RadAsm里面找不到断点调试,下面我们来介绍如何在RadAsm上联合调试器OllyDBG进行调试代码。 OllyDBG的介绍与下载 OllyDBG 是一款功能…

WPF MVVM框架

一、MVVM简介 MVC Model View Control MVP MVVM即Model-View-ViewModel,MVVM模式与MVP(Model-View-Presenter)模式相似,主要目的是分离视图(View)和模型(Model),具有低…

PH热榜 | 2024-11-19

DevNow 是一个精简的开源技术博客项目模版,支持 Vercel 一键部署,支持评论、搜索等功能,欢迎大家体验。 在线预览 1. Layer 标语:受大脑启发的规划器 介绍:体验一下这款新一代的任务和项目管理系统吧!它…

【ArcGISPro】使用AI模型提取要素-提取车辆(目标识别)

示例数据下载 栅格数据从网上随便找一个带有车辆的栅格数据 f094a6b1e205cd4d30a2e0f816f0c6af.jpg (1200799) (588ku.com) 添加数据

联通光猫(烽火通信设备)改桥接教程

一、获得超级密码 1.打开telnet连接权限 http://192.168.1.1/telnet?enable1&key9070D3BECD70(MAC地址)2.连接光猫获取密码 telnet 192.168.1.1 用户名:admin 密码:Fh9070D3BECD70连接成功后 load_cli factory show admin_…

掌握SEO提升网站流量的关键在于长尾关键词的有效运用

内容概要 在现代数字营销中,搜索引擎优化(SEO)被广泛视为提升网站流量的核心策略之一,而其中长尾关键词的运用显得尤为重要。长尾关键词通常由三个或更多个词组成,具有更高的针对性和精确度,可以更好地满足…

【期权懂|个股期权中的备兑开仓策略是如何进行的?

期权小懂每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 个股期权中的备兑开仓策略是如何进行的? 个股期权备兑开仓的优点和风险‌: ‌(1)优点‌:备兑开仓可以增强持股收益&…

汽车安全再进化 - SemiDrive X9HP 与环景影像系统 AVM 的系统整合

当今汽车工业正面临著前所未有的挑战与机遇,随著自动驾驶技术的迅速发展,汽车的安全性与性能需求日益提高。在这样的背景下,汽车 AVM(Automotive Visual Monitoring)标准应运而生,成为促进汽车智能化和安全…

MongoDB聚合操作

管道的聚合 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的参数。 MongoDB的聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以重复的。 表达式:处理输入文档并输出。表达式是无状态的,只能用…

向量数据库FAISS之五:原理(LSH、PQ、HNSW、IVF)

1.Locality Sensitive Hashing (LSH) 使用 Shingling MinHashing 进行查找 左侧是字典,右侧是 LSH。目的是把足够相似的索引放在同一个桶内。 LSH 有很多的版本,很灵活,这里先介绍第一个版本,也是原始版本 Shingling one-hot …

https(day30)

1.配置需要配置端口为443 2.配置需要配置证书 ssl_certificate /path/to/your/fullchain.pem; # 证书文件 ssl_certificate_key /path/to/your/private.key; # 私钥文件 3.其他优化