IRLS (迭代重加权最小二乘)优化算法理解

最近在阅读去模糊算法中,在估计模糊核过程中经常提到IRLS算法,决定好好理解一下!
以下理解来自论文《Iterative Reweighted Least Squares》

对于线性方程组的最优近似解问题:

写成矩阵形式,
Ax=b,A∈RM×N{\bf Ax=b,A\in }\mathbb R^{M\times N}Ax=b,A∈RM×N
等价于最小化误差向量e=Ax−b\bf e=Ax-be=Ax−b的范数。

最小平方误差近似

使用二范数作为误差度量:∥e∥22=∑iei2=eTe{\bf \Vert e\Vert_2^2}=\sum_i e_i^2=\bf e^Te∥e∥22​=∑i​ei2​=eTe,

如果A为方正且是非奇异的,即M=NM=NM=N,有精确解:x=A−1b\bf x=A^{-1}bx=A−1b;

如果M>NM>NM>N,即Overdetermined,近似解为:x=[ATA]−1ATb\bf x={[A^TA]}^{-1}A^Tbx=[ATA]−1ATb;

如果M<NM<NM<N,即Underdetermined,近似解为:x=AT[ATA]−1b\bf x=A^T{[A^TA]}^{-1}bx=AT[ATA]−1b;

加权最小平方误差近似

即使用加权的二范数来强调或不强调方程组中的某些分量

一般范数作为误差度量

前面都只是铺垫,基于二范数实现的近似解。对于更一般的p范数而言:
∥e∥p=(∑i∣ei∣p)1/p,{\bf \Vert e\Vert}_p=(\sum_i|e_i|^p)^{1/p},∥e∥p​=(i∑​∣ei​∣p)1/p,
等价于优化:∥e∥pp=∑i∣ei∣p{\bf \Vert e\Vert}_p^p=\sum_i|e_i|^p∥e∥pp​=∑i​∣ei​∣p。

p=0.2(p=1)时对小值依然有较大的惩罚,使它们趋于零,可以实现解的稀疏性。
因此在某些场景,比如去模糊过程中常使用1范数作为解约束。

接下来说本文主题IRLS 算法。
∥e∥pp=∑i∣ei∣p=∑i∣ei∣(p−2)∣ei∣2=∑iwn2∣ei∣2=∥We∥22{\bf \Vert e\Vert}_p^p=\sum_i|e_i|^p=\sum_i|e_i|^{(p-2)}|e_i|^2=\sum_iw_n^2|e_i|^2={\bf \Vert We\Vert}^2_2∥e∥pp​=i∑​∣ei​∣p=i∑​∣ei​∣(p−2)∣ei​∣2=i∑​wn2​∣ei​∣2=∥We∥22​
通过上式即可明白该算法的核心:等价于解加权最小平方误差近似问题,只是权值W\bf WW在迭代过程中不断变化(更新,reweighted):wn=ei(p−2)/2w_n=e_i^{(p-2)/2}wn​=ei(p−2)/2​。因为对角阵W\bf WW根据上次误差e\bf ee计算得到,因此会不断变化。

Matlab算法实现如下:

% minimizing the L_p norm ||Ax-b||_p, using basic IRLS.
% csb 11/10/2012function x = IRLS0(A,b,p,KK)
if nargin < 4, KK=10; end;
x = pinv(A)*b;                 % Initial L_2 solution W为单位阵I得到初始解
E = [];
for k = 1:KK               % Iteratee = A*x - b;              % Error vectorw = abs(e).^((p-2)/2);       % Error weights for IRLS 重加权W = diag(w/sum(w));        % Normalize weight matrixWA = W*A;                     % apply weightsx = (WA'*WA)\(WA'*W)*b;   % weighted L_2 sol.ee = norm(e,p); E = [E ee]; % Error at each iteration
end
plot(E)

可以参考:https://blog.csdn.net/lzp_k2/article/details/88042874

Iterative Reweighted Least Squares(IRLS)相关推荐

  1. 最小二乘、加权最小二乘(WLS)、迭代加权最小二乘(迭代重加全最小二乘)(IRLS)

    最小二乘.加权最小二乘(WLS).迭代加权最小二乘(迭代重加全最小二乘)(IRLS) 最小二乘: 最小二乘法(又称最小平方法)是一种数学优化技术.它通过最小化误差的平方和寻找数据的最佳函数匹配.利用最 ...

  2. Ceres Solver 官方教程学习笔记(十二)——非线性最小二乘法建模Modeling Non-linear Least Squares (下)

    这一部分主要是最后的Problem比较重要. 带条件的代价函数ConditionedCostFunction 这个类使用户可以在使用封装好的代价函数的同时,对残差值加入一定的条件限制.举个例子,现在已 ...

  3. 线段树/扫描线问卷调查反馈——Rmq Problem / mex(主席树),Boring Queries(二分+st表+主席树),Colorful Squares(扫描线)

    文章目录 Rmq Problem / mex Boring Queries Colorful Squares Rmq Problem / mex luogu4137 对aia_iai​建权值线段树 再 ...

  4. 【OR】YALMIP Sum of squares(SOS)规划

    Navigator sos programming sos optimization References sos programming YALMIP内置了求解sos问题的模块,在sos问题中,需要 ...

  5. python中的分位数回归(初探)

    分位数回归 参考文献 Python statsmodels 介绍 - 树懒学堂 (shulanxt.com) Quantile Regression - IBM Documentation https ...

  6. 【TeeChart .NET教程】(七)使用函数

    2019独角兽企业重金招聘Python工程师标准>>> 上一篇:[TeeChart .NET教程](六)使用系列 [下载TeeChart.Net最新版本] (一)功能类型 1.1 功 ...

  7. 运动目标跟踪(十)--CSK跟踪

    原文: http://blog.csdn.net/ikerpeng/article/details/44171159 首先,这篇文章使用的决策函数是一个结构风险最小化的函数: 这个函数中:前面是一个损 ...

  8. 哈工大软件构造Lab1(2022)

    目录 一.实验目标概述 二.实验环境配置 1.安装编写java程序的IDE--IntelliJ IDEA 2.安装Git 3.安装Junit 4.GitHub Lab1仓库的URL地址 三.实验过程 ...

  9. 学习之旅:揭秘AI绘画与视频生成的奥妙(1)

    前言 欢迎来到本篇文章,这里我们将探讨一系列创新采样方法,并分享关于AI绘画及稳定扩散模型的实践经验.本文旨在提供有关这些方法的概述以及如何将它们应用于实际问题.请注意,本文中的部分内容来自网络搜集和 ...

  10. R语言层次聚类:通过内平方和(Within Sum of Squares, WSS)选择最优的聚类K值、以内平方和(WSS)和K的关系并通过弯头法(elbow method)获得最优的聚类个数

    通过内平方和(Within Sum of Squares, WSS)选择最佳的聚类K值.以内平方和(WSS)和K的关系并通过弯头法(elbow method)获得最佳的聚类个数 目录

最新文章

  1. 解决Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifests/
  2. Quasar Akka Vertx Norbert 比较
  3. ubuntu 开启关闭mysql 服务
  4. 灯光插件_Light Kit Pro 3灯光插件
  5. 如何做自己的服务监控?spring boot 2.x服务监控揭秘
  6. 工具 - MyEclipse算法机最新8.6forSpring有效
  7. linux git 推送空文件夹
  8. cat /proc/meminfo 各字段详解
  9. hdu 2196 叶子节点最长距离(树DP)
  10. 使用git命令行将某个指定文件回退到前几个版本
  11. 解决Error: ENOENT: no such file or directory, scandir ‘xxx\node-sass\vendor‘
  12. C语言常见的关键字汇总
  13. C++程序设计课程主页-2014级
  14. STM32单片机驱动步进电机—简单篇
  15. 改变人类命运的造人计划
  16. java打飞机游戏完整代码
  17. 网络编程工程实训(DVB+CentOS+libpcap+分析帧格式)
  18. 传奇人物____Anders Hejlsberg
  19. Mac Webpack Vue项目的搭建
  20. 2020-08-28

热门文章

  1. 【WSN通信】基于matlab A_Star改进LEACH多跳传输协议【含Matlab源码 487期】
  2. android手机密码怎样删掉,手机密码忘了怎么解锁 删除密码解锁教程
  3. 数据结构:图:图形和图形模型(Graphs and Graph Models)
  4. 解决iText 5.0.1,加入iTextAsian.jar 出现异常 Font 'STSong-Light' with 'UniGB-UCS2-H'
  5. C语言基础知识点复习
  6. php 港澳台、大陆身份证正则表达式
  7. 201919102004张雪婷(在虚拟机中安装)
  8. 2014年总结和2015年的规划
  9. oracle e18,ORACLE_10g_各版本下载地址大全
  10. 关于 移动 电信 联通 运营商数据抓取 通话记录 京东淘宝学信网数据抓取 失信报告,网贷黑名单,央行征信报告数据抓取