<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OPTIMIZATIONS for Machine Learning</title>
    <description>A little blog collecting optimization methods in machine learning field</description>
    <link>http://www.quxiaofeng.me/optimization/optimization/</link>
    <atom:link href="http://www.quxiaofeng.me/optimization/optimization/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Wed, 09 May 2018 11:25:08 +0800</pubDate>
    <lastBuildDate>Wed, 09 May 2018 11:25:08 +0800</lastBuildDate>
    <generator>Jekyll v3.8.1</generator>
    
      <item>
        <title>The Handbook of Cluster Analysis</title>
        <description>&lt;p&gt;最近在看 &lt;a href=&quot;https://www.crcpress.com/Handbook-of-Cluster-Analysis/Hennig-Meila-Murtagh-Rocci/9781466551886&quot;&gt;The Handbook of Cluster Analysis&lt;/a&gt;（聚类分析手册）这本书。这本书不愧为手册，各种聚类方法都很全，作者也都是业内人士。&lt;/p&gt;

&lt;!--more--&gt;

&lt;p&gt;其中两章有作者公开的版本：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;http://www.stat.purdue.edu/~varao/pubs/dpclstr_bookch.pdf&quot;&gt;Dirichlet process mixtures and nonparametric Bayesian approaches to clustering&lt;/a&gt; by &lt;a href=&quot;http://www.stat.purdue.edu/~varao/&quot;&gt;Vinayak Rao&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;http://aacharya.github.io/pdfs/ghac13b.pdf&quot;&gt;A Survey of Consensus Clustering&lt;/a&gt; by &lt;a href=&quot;http://ideal.ece.utexas.edu/ghosh/&quot;&gt;Joydeep Ghosh&lt;/a&gt; and &lt;a href=&quot;http://aacharya.github.io/&quot;&gt;Ayan Acharya&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;G = \sum^\infty_{i=1} w_i \delta_{\theta_i}&lt;/script&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 14 Feb 2016 20:21:46 +0800</pubDate>
        <link>http://www.quxiaofeng.me/optimization/optimization/2016/02/14/cluster-analysis/</link>
        <guid isPermaLink="true">http://www.quxiaofeng.me/optimization/optimization/2016/02/14/cluster-analysis/</guid>
        
        
      </item>
    
      <item>
        <title>K-means, K-SVD, LC-KSVD and DPL</title>
        <description>&lt;p&gt;从 K-means 到 &lt;a href=&quot;http://www.cs.technion.ac.il/~elad/publications/journals/2004/32_KSVD_IEEE_TSP.pdf&quot;&gt;K-SVD&lt;/a&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt; M. Aharon, M. Elad, and A.M. Bruckstein, “The K-SVD: An Algorithm for Designing of Overcomplete Dictionaries for Sparse Representation”, the IEEE Trans. On Signal Processing, Vol. 54, no. 11, pp. 4311-4322, November 2006. &lt;a href=&quot;http://www.cs.technion.ac.il/~elad/publications/journals/2004/32_KSVD_IEEE_TSP.pdf&quot;&gt;http://www.cs.technion.ac.il/~elad/publications/journals/2004/32_KSVD_IEEE_TSP.pdf&lt;/a&gt;&lt;/span&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt; O. Bryt and M. Elad, Compression of Facial Images Using the K-SVD Algorithm, Journal of Visual Communication and Image Representation, Vol. 19, No. 4, Pages 270-283, May 2008. &lt;a href=&quot;http://www.cs.technion.ac.il/~elad/publications/journals/2007/FaceCompress_KSVD_JVCIR.pdf&quot;&gt;http://www.cs.technion.ac.il/~elad/publications/journals/2007/FaceCompress_KSVD_JVCIR.pdf&lt;/a&gt;&lt;/span&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt; R. Rubinstein, T. Peleg and M. Elad, Analysis K-SVD: A Dictionary-Learning Algorithm for the Analysis Sparse Model, IEEE Trans. on Signal Processing, Vol. 61, No. 3, Pages 661-677, March 2013. &lt;a href=&quot;http://www.cs.technion.ac.il/~elad/publications/journals/2011/Analysis-KSVD-IEEE-TSP.pdf&quot;&gt;http://www.cs.technion.ac.il/~elad/publications/journals/2011/Analysis-KSVD-IEEE-TSP.pdf&lt;/a&gt;&lt;/span&gt;，到 &lt;a href=&quot;http://www.umiacs.umd.edu/~zhuolin/projectlcksvd.html&quot;&gt;LC-KSVD&lt;/a&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;4&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;4&lt;/sup&gt; Zhuolin Jiang, Zhe Lin, Larry S. Davis. “Label Consistent K-SVD: Learning A Discriminative Dictionary for Recognition”. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(11): 2651-2664. &lt;a href=&quot;http://www.umiacs.umd.edu/~zhuolin/projectlcksvd.html&quot;&gt;http://www.umiacs.umd.edu/~zhuolin/projectlcksvd.html&lt;/a&gt;&lt;/span&gt;，到 &lt;a href=&quot;http://papers.nips.cc/paper/5600-spectral-clustering-of-graphs-with-the-bethe-hessian&quot;&gt;DPL&lt;/a&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;5&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;5&lt;/sup&gt; Gu, S., Zhang, L., Zuo, W., &amp;amp; Feng, X. (2014). Projective dictionary pair learning for pattern classification. In Z. Ghahramani, M. Welling, C. Cortes, N. D. Lawrence, &amp;amp; K. Q. Weinberger (Eds.), Advances in Neural Information Processing Systems 27 (pp. 793–801). Curran Associates, Inc. &lt;a href=&quot;http://papers.nips.cc/paper/5600-spectral-clustering-of-graphs-with-the-bethe-hessian&quot;&gt;http://papers.nips.cc/paper/5600-spectral-clustering-of-graphs-with-the-bethe-hessian&lt;/a&gt;&lt;/span&gt;。&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;K-means 算法&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;任务：通过最近邻寻找能够表达数据样本 ​&lt;script type=&quot;math/tex&quot;&gt;\{\mathbf{y}_i\}^N_{i=1}&lt;/script&gt; 的最优编码本（codebook，既字典参数），既求解如下问题&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\min_{\mathbf{C, X}} \left\{ \|\mathbf{Y} - \mathbf{CX}\|^2_F \right\} \text{ subject to } \forall i \text{, } \mathbf{x}_i = \mathbf{e}_k \text{ for some } k&lt;/script&gt;&lt;/p&gt;

&lt;!--more--&gt;

&lt;p&gt;初始化： 设置编码本矩阵 ​&lt;script type=&quot;math/tex&quot;&gt;\mathbf{C}^{(0)} \in \Re^{n \times K}&lt;/script&gt;. 设置 ​&lt;script type=&quot;math/tex&quot;&gt;J=1&lt;/script&gt;。&lt;/p&gt;

&lt;p&gt;循环至收敛 （使用停止规则）&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; 稀疏编码阶段：将训练样本 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf Y}&lt;/script&gt; 分为如下 ​&lt;script type=&quot;math/tex&quot;&gt;K&lt;/script&gt; 个集合。&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\left( \mathbf{R}^{(J-1)}_1, \mathbf{R}^{(J-1)}_2, \cdots, \mathbf{R}^{(J-1)}_K \right)&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;每个集合中存放与 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf c}^{J-1}_k&lt;/script&gt; 列最相似的样本的索引。&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \mathbf{R}^{(J-1)}_k = \left\{ i \mid \forall_{l \neq k}, \|\mathbf{y}_i - \mathbf{c}^{(J-1)}_k\|_2 &amp;lt; \|\mathbf{y}_i - \mathbf{c}^{(J-1)}_l\|_2  \right\} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; 编码本更新阶段：​&lt;script type=&quot;math/tex&quot;&gt;{\bf C}^{(J-1)}&lt;/script&gt; 中的任一列 ​&lt;script type=&quot;math/tex&quot;&gt;k&lt;/script&gt; 都根据如下公式更新。&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;{\bf c}^{(J)}_k = \frac{1}{|{\bf R}_k|}\sum_{i \in {\bf R}^{(J-1)}_k}{\bf y}_i&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; 令​&lt;script type=&quot;math/tex&quot;&gt; J = J + 1 &lt;/script&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;K-means 相当于是只使用编码本矩阵中的一列的稀疏表达。又因为只有一列，所以系数为1。其中该列由如下公式确定。&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\forall_{k \neq j} \; \left\|{\bf y}_i - {Ce}_j \right\|^2_2 \leqslant \left\|{\bf y}_i - {Ce}_k \right\|^2_2&lt;/script&gt;&lt;/p&gt;

&lt;!--more--&gt;

&lt;p&gt;Julia Code Highlight Test&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-ruby&quot; data-lang=&quot;ruby&quot;&gt;&lt;span class=&quot;kp&quot;&gt;include&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;diagadd!.jl&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;updateA!&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Array&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Any&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; 
                  &lt;span class=&quot;no&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Array&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Any&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; 
                  &lt;span class=&quot;no&quot;&gt;DataMat&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Array&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Any&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; 
                  &lt;span class=&quot;no&quot;&gt;P&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Array&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Any&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; 
                  &lt;span class=&quot;err&quot;&gt;τ&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Float64&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; 
                  &lt;span class=&quot;no&quot;&gt;DictSize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Int64&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;# Update tempDictCoef by Eq. (8)&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:length&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;vi&quot;&gt;@inbounds&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;TempDict&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Float64&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
        &lt;span class=&quot;vi&quot;&gt;@inbounds&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;TempData&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Float64&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;DataMat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;tempDictCoef&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Float64&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;       &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;TempDict&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;' * TempDict
        tempDictDataCoef::Matrix{Float64}   = TempDict'&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;TempData&lt;/span&gt;
        &lt;span class=&quot;vi&quot;&gt;@inbounds&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Matrix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Float64&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;        &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;P&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;TempData&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;diagadd!&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tempDictCoef&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;τ&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;fma!&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tempDictDataCoef&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;τ&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;vi&quot;&gt;@inbounds&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;                      &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tempDictCoef&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;\&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tempDictDataCoef&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

</description>
        <pubDate>Tue, 04 Aug 2015 06:46:53 +0800</pubDate>
        <link>http://www.quxiaofeng.me/optimization/optimization/2015/08/04/kmeans-ksvd-lcksvd-dpl/</link>
        <guid isPermaLink="true">http://www.quxiaofeng.me/optimization/optimization/2015/08/04/kmeans-ksvd-lcksvd-dpl/</guid>
        
        
      </item>
    
      <item>
        <title>《非线性最优化基础》学习笔记</title>
        <description>&lt;p&gt;《&lt;a href=&quot;http://book.douban.com/subject/6510671/&quot;&gt;非线性最优化基础&lt;/a&gt;》 作者 &lt;a href=&quot;http://www.seto.nanzan-u.ac.jp/~fuku/index.html&quot;&gt;福嶋雅夫&lt;/a&gt; &lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt; 《非线性最优化基础》（豆瓣链接：&lt;a href=&quot;http://book.douban.com/subject/6510671/&quot;&gt;http://book.douban.com/subject/6510671/&lt;/a&gt;）。福嶋雅夫（Masao Fukushima），教授，日本南山大学理工学院系统与数学科学系，日本京都大学名誉教授，加拿大滑铁卢大学/比利时那慕尔大学/澳大利亚新南威尔士大学客座教授。主页：&lt;a href=&quot;http://www.seto.nanzan-u.ac.jp/~fuku/index.html&quot;&gt;http://www.seto.nanzan-u.ac.jp/~fuku/index.html&lt;/a&gt;。&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;该文为&lt;a href=&quot;http://web.xidian.edu.cn/xcfeng/&quot;&gt;冯象初教授&lt;/a&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt; 冯象初，教授，西安电子科技大学数学系。主页：&lt;a href=&quot;http://web.xidian.edu.cn/xcfeng/&quot;&gt;http://web.xidian.edu.cn/xcfeng/&lt;/a&gt;&lt;/span&gt;有关非线性最优化的讲座的笔记。&lt;/p&gt;

&lt;h2 id=&quot;主要内容&quot;&gt;主要内容&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;理论基础&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;凸函数、闭函数&lt;/li&gt;
  &lt;li&gt;共轭函数&lt;/li&gt;
  &lt;li&gt;鞍点问题&lt;/li&gt;
  &lt;li&gt;Lagrange 对偶问题&lt;/li&gt;
  &lt;li&gt;Lagrange 对偶性的推广&lt;/li&gt;
  &lt;li&gt;Fenchel 对偶性&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;算法&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Proximal gradient methods&lt;/li&gt;
  &lt;li&gt;Dual proximal gradient methods&lt;/li&gt;
  &lt;li&gt;Fast proximal gradient methods&lt;/li&gt;
  &lt;li&gt;Fast dual proximal gradient methods&lt;/li&gt;
&lt;/ol&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;理论基础&quot;&gt;理论基础&lt;/h2&gt;

&lt;h3 id=&quot;凸函数闭函数&quot;&gt;凸函数、闭函数&lt;/h3&gt;

&lt;p&gt;给定函数 ​&lt;script type=&quot;math/tex&quot;&gt;f : \Re^n \to [-\infty, +\infty] &lt;/script&gt;，称 ​&lt;script type=&quot;math/tex&quot;&gt;\Re^{n+1}&lt;/script&gt; 的子集&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; graph \; f = \left\{ ({\bf x}, \beta)^T \in \Re^{n+1} \mid \beta = f({\bf x}) \right\} , &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;为 ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; 的&lt;strong&gt;图像&lt;/strong&gt;（graph），而称位于 ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; 的图像上方的点的全体构成的集合&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;epi \; f =\left\{ ({\bf x}, \beta)^T \in \Re^{n+1} \mid \beta \geqslant f({\bf x}) \right\} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;为 ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; 的&lt;strong&gt;上图&lt;/strong&gt;（epigraph）。若上图 ​&lt;script type=&quot;math/tex&quot;&gt;epi \; f&lt;/script&gt; 为凸集，则称 ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; 为&lt;strong&gt;凸函数&lt;/strong&gt;(convex function)。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;定理 2.27&lt;/strong&gt; 设 ​&lt;script type=&quot;math/tex&quot;&gt; \mathcal{I} &lt;/script&gt; 为任意非空指标集，而 ​&lt;script type=&quot;math/tex&quot;&gt;f_i : \Re^n \to [-\infty, +\infty] \; (i \in \mathcal{I})&lt;/script&gt; 均为凸函数，则由&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; f({\bf x}) = \sup \left\{ f_i({\bf x}) \mid i \in \mathcal{I} \right\} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;定义的函数 ​&lt;script type=&quot;math/tex&quot;&gt;f : \Re^n \to [-\infty, +\infty] &lt;/script&gt; 为凸函数。进一步，若 ​&lt;script type=&quot;math/tex&quot;&gt;\mathcal{I}&lt;/script&gt; 为有限指标集，每个 ​&lt;script type=&quot;math/tex&quot;&gt;f_i&lt;/script&gt; 均为正常的凸函数，并且 ​&lt;script type=&quot;math/tex&quot;&gt;\cap_{i \in \mathcal{I}} \; dom \; f_i \neq \varnothing &lt;/script&gt;，则 ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; 为正常凸函数。&lt;/p&gt;

&lt;p&gt;若对任意收敛于 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x}&lt;/script&gt; 的点列 ​&lt;script type=&quot;math/tex&quot;&gt;\{ {\bf x}^k\} \subseteq \Re^n&lt;/script&gt; 均有&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; f({\bf x}) \geqslant \limsup_{k \to \infty}f({\bf x}^k) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;成立，则称函数 ​&lt;script type=&quot;math/tex&quot;&gt;f:\Re^n\to[-\infty,+\infty]&lt;/script&gt; 在 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x}&lt;/script&gt; 处&lt;strong&gt;上半连续&lt;/strong&gt;（upper semicontinuous）；反之，当&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; f({\bf x}) \leqslant \liminf_{k \to \infty}f({\bf x}^k) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;成立时，称 ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; 在 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x}&lt;/script&gt; 处&lt;strong&gt;下半连续&lt;/strong&gt;（lower semicontinuous）。若 ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; 在 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x}&lt;/script&gt; 处既为上半连续又为下半连续，则称 ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; 在 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x}&lt;/script&gt; 处&lt;strong&gt;连续&lt;/strong&gt;（continuous）。&lt;/p&gt;

&lt;h3 id=&quot;共轭函数&quot;&gt;共轭函数&lt;/h3&gt;

&lt;p&gt;给定正常凸函数 ​&lt;script type=&quot;math/tex&quot;&gt;f:\Re^n \to (-\infty,+\infty]&lt;/script&gt;，由&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;f^\ast({\bf\xi}) = \sup \left\{ \lt{}{\bf x},{\bf\xi}\gt{}-f({\bf x}) \mid {\bf x}\in \Re^n \right\} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;定义的函数 ​&lt;script type=&quot;math/tex&quot;&gt;f^\ast:\Re^n \to [-\infty,+\infty]&lt;/script&gt; 称为 ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; 的&lt;strong&gt;共轭函数&lt;/strong&gt;（conjuagate function）。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;定理 2.36&lt;/strong&gt; 正常凸函数 ​&lt;script type=&quot;math/tex&quot;&gt;f:\Re^n \to (-\infty,+\infty]&lt;/script&gt; 的共轭函数 ​&lt;script type=&quot;math/tex&quot;&gt;f^\ast&lt;/script&gt; 必为闭正常凸函数。&lt;/p&gt;

&lt;h3 id=&quot;鞍点问题&quot;&gt;鞍点问题&lt;/h3&gt;

&lt;p&gt;设 ​&lt;script type=&quot;math/tex&quot;&gt;Y&lt;/script&gt; 与 ​&lt;script type=&quot;math/tex&quot;&gt;Z&lt;/script&gt; 分别为 ​&lt;script type=&quot;math/tex&quot;&gt;\Re^n&lt;/script&gt; 与 ​&lt;script type=&quot;math/tex&quot;&gt;\Re^m&lt;/script&gt; 的非空子集，给定以 ​&lt;script type=&quot;math/tex&quot;&gt;Y\times Z&lt;/script&gt; 为定义域的函数 ​&lt;script type=&quot;math/tex&quot;&gt;K:Y\times Z\to[-\infty,+\infty]&lt;/script&gt;，定义两个函数 ​&lt;script type=&quot;math/tex&quot;&gt;\eta:Y\to[-\infty,+\infty]&lt;/script&gt; 与 ​&lt;script type=&quot;math/tex&quot;&gt;\zeta:Z\to[-\infty,+\infty]&lt;/script&gt; 如下：&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\eta({\bf y})=\sup\left\{ K({\bf y},{\bf z}) \mid {\bf z} \in Z\right\} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\zeta({\bf z})=\inf\left\{ K({\bf y},{\bf z}) \mid {\bf y} \in Y\right\} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\min \; \; \eta({\bf y})\\s.t. \; \; \; {\bf y} \in Y&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\max \; \; \zeta({\bf z})\\s.t. \; \; \; {\bf z} \in Z&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;引理 4.1&lt;/strong&gt; 对任意 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf y}\in Y&lt;/script&gt; 与 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf z}\in Z&lt;/script&gt; 均有 ​&lt;script type=&quot;math/tex&quot;&gt;\zeta({\bf z}) \leqslant \eta({\bf y})&lt;/script&gt; 成立。进一步，还有
​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\sup\left\{ \zeta({\bf z})\mid {\bf z}\in Z\right\} \leqslant \inf\left\{ \eta({\bf y})\mid {\bf y} \in Y\right\} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;定理 4.1&lt;/strong&gt; 点 ​&lt;script type=&quot;math/tex&quot;&gt;(\bar{\bf y},\bar{\bf z})\in Y\times Z&lt;/script&gt; 为函数 ​&lt;script type=&quot;math/tex&quot;&gt;K:Y\times Z\to[-\infty,+\infty]&lt;/script&gt; 的鞍点的充要条件是 ​&lt;script type=&quot;math/tex&quot;&gt;\bar{\bf y}\in Y&lt;/script&gt; 与 ​&lt;script type=&quot;math/tex&quot;&gt;\bar{\bf z}\in Z&lt;/script&gt; 满足&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\eta(\bar{\bf y})=\inf\left\{ \eta({\bf y})\mid {\bf y}\in Y\right\} =\sup\left\{ \zeta({\bf z})\mid {\bf z}\in Z\right\} =\zeta(\bar{\bf z})&lt;/script&gt;&lt;/p&gt;

&lt;h3 id=&quot;lagrange-对偶问题&quot;&gt;Lagrange 对偶问题&lt;/h3&gt;

&lt;p&gt;考虑如下非线性规划问题：&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \min \; \; f({\bf x}) \\ s.t. \; \; g_i({\bf x}) \leqslant 0, \; \; i=1, \cdots, m&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;其中 ​&lt;script type=&quot;math/tex&quot;&gt;f: \Re^n \to \Re&lt;/script&gt;, ​&lt;script type=&quot;math/tex&quot;&gt;g_i: \Re^n \to \Re (i=1, \cdots, m)&lt;/script&gt;。&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; S = \left\{ x \in \Re^n \mid g_i({\bf x}) \leqslant 0 \text{, } \; \; i=1, \cdots, m\right \}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; L_0({\bf x}, {\bf \lambda}) = \begin{cases}
        f({\bf x}) + \sum^m_{i=1}\lambda_ig_i({\bf x})\;, &amp;amp; {\bf \lambda} \geqslant {\bf 0}\\
        -\infty \; , &amp;amp; {\bf \lambda} \ngeqslant {\bf 0}
    \end{cases}
&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \theta({\bf x}) = f({\bf x}) + \delta_S({\bf x})&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \theta({\bf x}) = \sup \left\{ L_0({\bf x}, {\bf \lambda}) \mid {\bf \lambda} \in \Re^m \right\}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \omega_0({\bf \lambda}) = \inf \left\{ L_0({\bf x}, {\bf \lambda}) \mid {\bf x} \in \Re^n \right\} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Constrains relax&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; F_0({\bf x}, {\bf u}) = \begin{cases}
        f({\bf x}),  &amp;amp; {\bf x} \in        S({\bf u}) &amp;amp; \min  &amp;amp; f({\bf x}) &amp;amp; &amp;amp; \\
        +\infty,      &amp;amp; {\bf x} \notin S({\bf u}) &amp;amp; s.t.      &amp;amp; g_i({\bf x}) &amp;amp; \leqslant u_i, &amp;amp; i = 1, \cdots, m 
    \end{cases}
&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; S({\bf u}) = \left\{ {\bf x} \in \Re^n \mid g_i({\bf x}) \leqslant u_i, \; i=1, \cdots, m \right\} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;引理 4.5&lt;/strong&gt; Lagrange 函数 ​&lt;script type=&quot;math/tex&quot;&gt;L_0: \Re^{n+m} \to [-\infty, +\infty) &lt;/script&gt; 与函数 ​&lt;script type=&quot;math/tex&quot;&gt;F_0: \Re^{n+m} \to (-\infty,+\infty]&lt;/script&gt; 之间有如下关系成立：&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;L_0({\bf x}, {\bf \lambda}) = \inf \left\{ F_0({\bf x}, {\bf u}) + \lt{}{\bf \lambda}, {\bf u}\gt{} \mid {\bf u} \in \Re^m \right\}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;F_0({\bf x}, {\bf u}) = \sup \left\{ L_0({\bf x}, {\bf \lambda}) - \lt{}{\bf \lambda}, {\bf u}\gt{} \mid {\bf \lambda} \in \Re^m \right\}&lt;/script&gt;&lt;/p&gt;

&lt;h3 id=&quot;lagrange-对偶性的推广&quot;&gt;Lagrange 对偶性的推广&lt;/h3&gt;

&lt;p&gt;对于原始问题 ​&lt;script type=&quot;math/tex&quot;&gt;(P)&lt;/script&gt;，考虑函数 ​&lt;script type=&quot;math/tex&quot;&gt;F: \Re^{n+M} \to (-\infty, +\infty]&lt;/script&gt;，使得对任意固定的 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x} \in \Re^n&lt;/script&gt;，​&lt;script type=&quot;math/tex&quot;&gt;F({\bf x}, \cdot): \Re^M \to (-\infty, +\infty]&lt;/script&gt; 均为闭正常凸函数，并且满足&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; F({\bf x}, {\bf 0}) = \theta({\bf x}) \text{, } {\bf x} \in \Re^n &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;例 4.7&lt;/strong&gt; 设 ​&lt;script type=&quot;math/tex&quot;&gt;M = m&lt;/script&gt;，考虑函数 ​&lt;script type=&quot;math/tex&quot;&gt;F_0: \Re^{n+m} \to (-\infty, +\infty]&lt;/script&gt;，利用满足 ​&lt;script type=&quot;math/tex&quot;&gt;q({\bf 0}) = 0&lt;/script&gt; 的闭正常凸函数 ​&lt;script type=&quot;math/tex&quot;&gt;q: \Re^m \to (-\infty, +\infty]&lt;/script&gt; 定义函数 ​&lt;script type=&quot;math/tex&quot;&gt;F: \Re^{n+m} \to (-\infty, +\infty]&lt;/script&gt; 如下：&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; F({\bf x}, {\bf u}) = F_0({\bf x}, {\bf u}) + q({\bf u}) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \theta({\bf x}) = f({\bf x}) + \delta_S({\bf x}) &lt;/script&gt;
​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \implies F({\bf x}, {\bf u}) \mid F({\bf x}, {\bf 0}) = \theta({\bf x}) &lt;/script&gt;
​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \implies L({\bf x}, {\bf \lambda}) = \inf \left\{ F({\bf x}, {\bf u}) + \lt{}{\bf \lambda}, {\bf u}\gt{} \mid {\bf u} \in \Re^M \right\} &lt;/script&gt;
​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \implies \omega({\bf \lambda}) = \inf \left\{ L({\bf x}, {\bf \lambda}) \mid {\bf x} \in \Re^n \right\} &lt;/script&gt;&lt;/p&gt;

&lt;h3 id=&quot;fenchel-对偶性&quot;&gt;Fenchel 对偶性&lt;/h3&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \min_{\bf x} f({\bf x}) + g({\bf Ax}) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{cases} &amp;amp; F({\bf x}, {\bf 0}) = \theta({\bf x}), &amp;amp; x \in \Re^n \\
&amp;amp; \theta({\bf x}) = f({\bf x}) + g({\bf Ax}) &amp;amp; \end{cases} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \implies F({\bf x}, {\bf u}) = f({\bf x}) + g({\bf Ax} + {\bf u}) &lt;/script&gt;
​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*} \implies L({\bf x}, {\bf \lambda}) &amp;amp; = &amp;amp; \inf \left\{ f({\bf x}) + g({\bf Ax} + {\bf u}) + \lt{}{\bf \lambda}, {\bf u}\gt{} \mid {\bf u} \in \Re^m \right\} \\
&amp;amp; = &amp;amp; f({\bf x}) - g^\ast(-{\bf \lambda}) - \lt{}{\bf \lambda}, {\bf Ax}\gt{} \end{eqnarray*}&lt;/script&gt;
​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*} \implies \omega({\bf \lambda}) &amp;amp; = &amp;amp; \inf \left\{ f({\bf x} - g^\ast(-{\bf \lambda}) - \lt{}{\bf \lambda}, {\bf Ax}\gt{} \mid {\bf x} \in \Re^n \right\} \\
&amp;amp; = &amp;amp; -f^\ast({\bf A}^T{\bf \lambda}) - g^\ast(-{\bf \lambda}) \end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \min_{\bf \lambda} f^\ast\left( {\bf A}^T{\bf \lambda} \right) + g^\ast(-{\bf \lambda})&lt;/script&gt;
​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \max_{\bf \lambda} -f^\ast\left({\bf A}^T{\bf \lambda} \right) - g^\ast\left(-{\bf\lambda}\right)&lt;/script&gt;&lt;/p&gt;

&lt;h2 id=&quot;算法&quot;&gt;算法&lt;/h2&gt;

&lt;h3 id=&quot;1-proximal-gradient-method&quot;&gt;1. Proximal Gradient Method&lt;/h3&gt;

&lt;p&gt;参考 &lt;a href=&quot;http://www.eecs.berkeley.edu/~elghaoui/Teaching/EE227A/lecture18.pdf&quot;&gt;Algorithms for large-scale convex optimization - DTU 2010&lt;/a&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt; A Lecture note from “02930 Algorithms for Large-Scale Convex Optimization” taught by Per Christian Hansen (pch@imm.dtu.dk) and Professor Lieven Vandenberghe (&lt;a href=&quot;http://www.seas.ucla.edu/~vandenbe/&quot;&gt;http://www.seas.ucla.edu/~vandenbe/&lt;/a&gt;) at Danmarks Tekniske Universitet (&lt;a href=&quot;http://www.kurser.dtu.dk/2010-2011/02930.aspx?menulanguage=en-GB&quot;&gt;http://www.kurser.dtu.dk/2010-2011/02930.aspx?menulanguage=en-GB&lt;/a&gt;). The Download Link is found at the page of “EE227BT: Convex Optimization - Fall 2013” taught by Laurent El Ghaoui at Berkeley (&lt;a href=&quot;http://www.eecs.berkeley.edu/~elghaoui/Teaching/EE227A/lecture18.pdf&quot;&gt;http://www.eecs.berkeley.edu/~elghaoui/Teaching/EE227A/lecture18.pdf&lt;/a&gt;). And both of the lectures mentioned the book “Convex Optimization” by Stephen Boyd and Lieven Vandenberghe (&lt;a href=&quot;http://stanford.edu/~boyd/cvxbook/&quot;&gt;http://stanford.edu/~boyd/cvxbook/&lt;/a&gt;) and the software “CVX” - a MATLAB software for desciplined Convex Programming (&lt;a href=&quot;http://cvxr.com/cvx/&quot;&gt;http://cvxr.com/cvx/&lt;/a&gt;). A similar lecture note on Proximal Gradient Method from “EE236C - Optimization Methods for Large-Scale Systems (Spring 2013-14)” (&lt;a href=&quot;http://www.seas.ucla.edu/~vandenbe/ee236c.html&quot;&gt;http://www.seas.ucla.edu/~vandenbe/ee236c.html&lt;/a&gt;) at UCLA&lt;/span&gt;&lt;/p&gt;

&lt;h4 id=&quot;proximal-mapping&quot;&gt;Proximal mapping&lt;/h4&gt;

&lt;p&gt;The &lt;strong&gt;proximal mapping&lt;/strong&gt; (or proximal operator) of a convex function ​&lt;script type=&quot;math/tex&quot;&gt;h&lt;/script&gt; is&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; {\bf prox}_h(x) = \mathop{argmin}_u \left( h(u) + \frac{1}{2} \|u - x\|^2_2 \right)&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;examples&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; ​&lt;script type=&quot;math/tex&quot;&gt;h(x) = 0: {\bf prox}_h(x) = x&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; ​&lt;script type=&quot;math/tex&quot;&gt;h(x) = I_C(x)&lt;/script&gt; (indicator function of ​&lt;script type=&quot;math/tex&quot;&gt;C&lt;/script&gt;): ​&lt;script type=&quot;math/tex&quot;&gt;{\bf prox}_h&lt;/script&gt; is projection on ​&lt;script type=&quot;math/tex&quot;&gt;C&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; {\bf prox}_h(x) = P_C(x) = \mathop{argmin}_{u \in C} \|u - x\|^2_2 &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; ​&lt;script type=&quot;math/tex&quot;&gt;h(x) = t \|x\|_1&lt;/script&gt;: ​&lt;script type=&quot;math/tex&quot;&gt;{\bf prox}_h&lt;/script&gt; is shinkage (soft threshold) operation&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; {\bf prox}_h = \begin{cases}
    x_i - t &amp;amp; x_i   \geqslant t \\
    0       &amp;amp; |x_i| \leqslant t \\
    x_i + t &amp;amp; x_i   \leqslant -t
\end{cases} &lt;/script&gt;&lt;/p&gt;

&lt;h4 id=&quot;proximal-gradient-method&quot;&gt;Proximal gradient method&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;unconstrained problem&lt;/strong&gt; with cost function split in two components&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \mathop{argmin} f(x) = g(x) + h(x) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex&quot;&gt;g&lt;/script&gt; convex, differentiable, with &lt;strong&gt;dom&lt;/strong&gt; ​&lt;script type=&quot;math/tex&quot;&gt;g=\Re^n&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex&quot;&gt;h&lt;/script&gt; closed, convex, possibly nondifferentiable; ​&lt;script type=&quot;math/tex&quot;&gt;{\bf prox}_h&lt;/script&gt; is inexpensive&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;proximal gradient algorithm&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; x^{(k)} = {\bf prox}_{t_kh} \left( x^{(k-1)} - t_k \nabla g \left( x^{(k-1)} \right) \right) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; t_k \gt{} 0 \text{ is the step size,}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;constant or determined by line search&lt;/p&gt;

&lt;h4 id=&quot;interpretation&quot;&gt;Interpretation&lt;/h4&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; x^+ = {\bf prox}_{th} \left( x - t\nabla g(x) \right) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;from definition of proximal operator:&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
x^+ &amp;amp; = &amp;amp;  \mathop{argmin}_u \left( h(u) + \frac{1}{2t} \left\| u - x + t\nabla g(x) \right\|^2_2 \right) \\
    &amp;amp; = &amp;amp; \mathop{argmin}_u \left( h(u) + g(x) + \nabla g(x)^T(u-x) + \frac{1}{2t} \left\| u - x \right\|^2_2 \right)
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex&quot;&gt;x^+&lt;/script&gt; minimizes ​&lt;script type=&quot;math/tex&quot;&gt;h(u)&lt;/script&gt; plus a simple quadratic local of ​&lt;script type=&quot;math/tex&quot;&gt;g(u)&lt;/script&gt; around ​&lt;script type=&quot;math/tex&quot;&gt;x&lt;/script&gt;&lt;/p&gt;

&lt;h4 id=&quot;examples&quot;&gt;Examples&lt;/h4&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; minimize \; \; g(x) + h(x) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;gradient method&lt;/strong&gt;: ​&lt;script type=&quot;math/tex&quot;&gt;h(x) = 0&lt;/script&gt;, i.e., minimize g(x)&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; x^{(k)} = x^{(k-1)} - t_k\nabla g\left( x^{(k-1)} \right)&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;gradient projection method&lt;/strong&gt;: ​&lt;script type=&quot;math/tex&quot;&gt;h(x) = I_C(x)&lt;/script&gt;, i.e., minimize ​&lt;script type=&quot;math/tex&quot;&gt;g(x)&lt;/script&gt; over ​&lt;script type=&quot;math/tex&quot;&gt;C&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; x^{(k)} = P_C \left( x^{(k-1)} - t_k\nabla g \left(x^{(k-1)} \right) \right) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;iterative soft-thresholding&lt;/strong&gt;: ​&lt;script type=&quot;math/tex&quot;&gt;h(x) = \|x\|_1&lt;/script&gt;, i.e., ​&lt;script type=&quot;math/tex&quot;&gt; minimize \; \; g(x)+ \| x \|_1&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; x^{(k)} = {\bf prox}_{t_kh} \left( x^{(k-1)} - t_k\nabla g\left( x^{(k-1)} \right)  \right) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; {\bf prox}_{th}(u)_i = 
\begin{cases}
u_i - t &amp;amp; &amp;amp; u_i \geq t \\
0       &amp;amp; &amp;amp; -t \leq u_i \leq t \\
u_i + t &amp;amp; &amp;amp; u_i \geq t
\end{cases}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;marginnote&quot;&gt;&lt;/span&gt;&lt;img class=&quot;fullwidth&quot; src=&quot;/assets/img/fukushima-softthresholding.jpg&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;2-dual-proximal-gradient-methods&quot;&gt;2. Dual Proximal Gradient Methods&lt;/h3&gt;

&lt;p&gt;参考 L. Vandenberghe EE236C (Spring 2013-14)&lt;/p&gt;

&lt;h4 id=&quot;composite-structure-in-the-dual&quot;&gt;Composite structure in the Dual&lt;/h4&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
minimize &amp;amp; &amp;amp; f(x)+g(Ax) \\
maximize &amp;amp; &amp;amp; -f^\ast \left( -A^Tz \right) - g^\ast(z)
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;dual has the right structure for the proximal gradient method if&lt;/p&gt;

&lt;p&gt;prox-operator of ​&lt;script type=&quot;math/tex&quot;&gt;g&lt;/script&gt; (or ​&lt;script type=&quot;math/tex&quot;&gt;g^\ast&lt;/script&gt;) is cheap (closed form or simple algorithm)&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; is strongly convex (​&lt;script type=&quot;math/tex&quot;&gt;f(x)-(\frac{\mu}{2})x^T&lt;/script&gt; is convex) implies ​&lt;script type=&quot;math/tex&quot;&gt;f^\ast\left(-A^Tz\right)&lt;/script&gt; has Lipschitz continuous gradient (​&lt;script type=&quot;math/tex&quot;&gt;L=\frac{\|A\|^2_2}{\mu}&lt;/script&gt;):&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \left\| A\nabla f^\ast(-A^Tu)-A\nabla f^\ast(-A^Tv) \right\|_2 \leq \frac{\|A\|^2_2}{\mu}\|u-v\|_2 &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;because ​&lt;script type=&quot;math/tex&quot;&gt;\nabla f^2&lt;/script&gt; is Lipschitz continuous with constant ​&lt;script type=&quot;math/tex&quot;&gt;\frac{1}{\mu}&lt;/script&gt;&lt;/p&gt;

&lt;h4 id=&quot;dual-proximal-gradient-update&quot;&gt;Dual proximal gradient update&lt;/h4&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; z^+ = prox_{tg\ast}\left( z+tA\nabla f^\ast\left( -A^Tz \right) \right) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;equivalent expression in term of ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt;:&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; z^+ = prox_{tg\ast}(z+tA\hat{x}) \text{  where } \hat{x} = \mathop{argmin}_x \left( f(x) + z^TAx \right)&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt;  if ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; is separable, calculation of ​&lt;script type=&quot;math/tex&quot;&gt;\hat{x}&lt;/script&gt; decomposes into independent problems&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt;  step size ​&lt;script type=&quot;math/tex&quot;&gt;t&lt;/script&gt; constant or from backtracking line search&lt;/p&gt;

&lt;h4 id=&quot;alternating-minimization-interpretation&quot;&gt;Alternating minimization interpretation&lt;/h4&gt;

&lt;p&gt;Moreau decomposition gives alternate expression for ​&lt;script type=&quot;math/tex&quot;&gt;z&lt;/script&gt;-update&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; z^+ = z + t(A\hat{x} - \hat{y}) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;where&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
\hat{x} &amp;amp; = &amp;amp; \mathop{argmin}_x \left( f(x) + z^TAx \right) \\
\hat{y} &amp;amp; = &amp;amp; prox_{t^{-1}g} \left( \frac{z}{t} + A\hat{x} \right)        \\
        &amp;amp; = &amp;amp; \mathop{argmin}_y \left(g(y) + z^T(A\hat{x} - y) + \frac{t}{2} \|A\hat{x} - y\|^2_2  \right)
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;in each iteration, an alternating minimization of:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Lagrangian&lt;/strong&gt; ​&lt;script type=&quot;math/tex&quot;&gt;f(x) + g(y) + z^T(Ax - y)&lt;/script&gt; over ​&lt;script type=&quot;math/tex&quot;&gt;x&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. augmented Lagrangian&lt;/strong&gt; ​&lt;script type=&quot;math/tex&quot;&gt;f(x) + g(y) + z^T(Ax - y) + \frac{t}{2} \|Ax - y\|^2_2&lt;/script&gt; over ​&lt;script type=&quot;math/tex&quot;&gt;y&lt;/script&gt;&lt;/p&gt;

&lt;h4 id=&quot;regularized-norm-approximation&quot;&gt;Regularized norm approximation&lt;/h4&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; minimize f(x) + \|Ax - b\| \text{   (with } f \text{ strongly convex)   } &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;a special case with ​&lt;script type=&quot;math/tex&quot;&gt;g(y) = \|y - b\|&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;
g^\ast = \begin{cases}
b^Tz    &amp;amp; &amp;amp; \|z\|_\ast \leq 1 \\
+\infty &amp;amp; &amp;amp; otherwise 
\end{cases}
&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;
prox_{tg\ast}(z) = P_C(z - tb)
&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;C is unit norm ball for dual norm ​&lt;script type=&quot;math/tex&quot;&gt;\|\cdot\|_\ast&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;dual gradient projection update&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
\hat{x} &amp;amp; = &amp;amp; \mathop{argmin}_x \left( f(x) + z^TAx \right) \\
z^+     &amp;amp; = &amp;amp; P_C(z + t(A\hat{x} - b))
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;h4 id=&quot;example&quot;&gt;Example&lt;/h4&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;
minimize \; \; f(x) + \sum^p_{i=1}\|B_ix\|_2 \text{   (with } f \text{ strongly convex)   }
&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;dual gradient projection update&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
\hat{x} &amp;amp; = &amp;amp; \mathop{argmin}_x \left( f(x) + \left(\sum^p_{i=1}B^T_iz_i\right)^Tx \right) \\
z^+_i   &amp;amp; = &amp;amp; P_{C_i}(z_i + tB_i\hat{x}) \text{, } \; \; i=1, \cdots, p
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex&quot;&gt;C_i&lt;/script&gt; is unit Euclidean norm ball in ​&lt;script type=&quot;math/tex&quot;&gt;\Re^{m_i}&lt;/script&gt;, if ​&lt;script type=&quot;math/tex&quot;&gt;B_i \in \Re^{m_i \times n}&lt;/script&gt;&lt;/p&gt;

&lt;h4 id=&quot;minimization-over-intersection-of-convex-sets&quot;&gt;Minimization over intersection of convex sets&lt;/h4&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
minimize   &amp;amp; &amp;amp; f(x) \\
subject to &amp;amp; &amp;amp; x \in C_i \cap \cdots \cap C_m
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; strongly convex; e.g., ​&lt;script type=&quot;math/tex&quot;&gt;f(x) = \|x - a\|^2_2&lt;/script&gt; for projecting ​&lt;script type=&quot;math/tex&quot;&gt;a&lt;/script&gt; on intersection&lt;/p&gt;

&lt;p&gt;sets ​&lt;script type=&quot;math/tex&quot;&gt;C_i&lt;/script&gt; are closed, convex, and easy to project onto&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;dual proximal gradient update&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
\hat{x} &amp;amp; = &amp;amp; \mathop{argmin}_x \left( f(x) + (z_i + \cdots + z_m)^Tx \right) \\
z^+_i   &amp;amp; = &amp;amp; z_i + t\hat{x} - tP_{C_i}\left(\frac{z_i}{t} + \hat{x}\right) \text{, }\; \; i=1, \cdots, m
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;h4 id=&quot;decomposition-of-separable-problems&quot;&gt;Decomposition of separable problems&lt;/h4&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;
minimize \; \; \sum^n_{j=1}f_j(x_j) + \sum^m_{i=1}g_i(A_{i1}x_1 + \cdots + A_{in}x_n )
&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;each ​&lt;script type=&quot;math/tex&quot;&gt;f_i&lt;/script&gt; is strongly convex; ​&lt;script type=&quot;math/tex&quot;&gt;g_i&lt;/script&gt; has inexpensive prox-operator&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;dual proximal gradient update&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
\hat{x}_j &amp;amp; = &amp;amp; \mathop{argmin}_{x_j} \left( f_j(x_j) + \sum^m_{i=1}z^T_iA_{ij}x_j \right) \text{, } \; \; j=1, \cdots, n \\
z^+_i        &amp;amp; = &amp;amp; prox_{tg^\ast_i}\left(z_i + t\sum^n_{j=1}A_{ij}\hat{x}_j \right) \text{, } \; \; i=1, \cdots, m
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;h3 id=&quot;3-fast-proximal-gradient-methods&quot;&gt;3. Fast proximal gradient methods&lt;/h3&gt;

&lt;p&gt;参考 L. Vandenberghe EE236C (Spring 2013-14)&lt;/p&gt;

&lt;h4 id=&quot;fista-basic-version&quot;&gt;FISTA (basic version)&lt;/h4&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;
minimize \; \; f(x) = g(x) + h(x)
&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex&quot;&gt;g&lt;/script&gt; convex, differentiable with ​&lt;script type=&quot;math/tex&quot;&gt;\mathop{dom} g=\Re^n&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex&quot;&gt;h&lt;/script&gt; closed, convex, with inexpensive ​&lt;script type=&quot;math/tex&quot;&gt;prox_{th}&lt;/script&gt; operator&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;algorithm&lt;/strong&gt;: choose any ​&lt;script type=&quot;math/tex&quot;&gt;x^{(0)} = x^{(-1)}&lt;/script&gt;; for ​&lt;script type=&quot;math/tex&quot;&gt;k \geq 1&lt;/script&gt;, repeat the steps&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
y             &amp;amp; = &amp;amp; x^{(k-1)} + \frac{k-2}{k+1} \left( x^{(k-1)} - x^{(k-2)} \right) \\
x^{(k)} &amp;amp; = &amp;amp; prox_{t_kh} \left( y - t_k\nabla g(y) \right)
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;step size ​&lt;script type=&quot;math/tex&quot;&gt;t_k&lt;/script&gt; fixed or determined by line search&lt;/p&gt;

&lt;p&gt;acronym stands for ‘Fast Iterative Shrinkage-Thresholding Algorithm’&lt;/p&gt;

&lt;h4 id=&quot;interpretation-1&quot;&gt;Interpretation&lt;/h4&gt;

&lt;p&gt;first iteration (​&lt;script type=&quot;math/tex&quot;&gt;k = 1&lt;/script&gt;) is a proximal gradient step at ​&lt;script type=&quot;math/tex&quot;&gt;y = x^{(0)}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;next iterations are proximal gradient steps at extrapolated points ​&lt;script type=&quot;math/tex&quot;&gt;y&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;marginnote&quot;&gt;&lt;/span&gt;&lt;img class=&quot;fullwidth&quot; src=&quot;/assets/img/fukushima-interpretation.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;note: ​&lt;script type=&quot;math/tex&quot;&gt;x^{(k)}&lt;/script&gt; is feasible (in ​&lt;script type=&quot;math/tex&quot;&gt;\mathop{dom} h&lt;/script&gt;); ​&lt;script type=&quot;math/tex&quot;&gt;y&lt;/script&gt; may be outside ​&lt;script type=&quot;math/tex&quot;&gt;\mathop{dom} h&lt;/script&gt;&lt;/p&gt;

&lt;h4 id=&quot;reformulation-of-fista&quot;&gt;Reformulation of FISTA&lt;/h4&gt;

&lt;p&gt;define ​&lt;script type=&quot;math/tex&quot;&gt;\theta_k = \frac{2}{k+1}&lt;/script&gt; and introduce an intermediate variable ​&lt;script type=&quot;math/tex&quot;&gt;v^{(k)}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;algorithm&lt;/strong&gt;: choose ​&lt;script type=&quot;math/tex&quot;&gt;x^{(0)} = v^{(0)}&lt;/script&gt;; for ​&lt;script type=&quot;math/tex&quot;&gt;k \geq 1&lt;/script&gt;, repeat the steps&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
y             &amp;amp; = &amp;amp; (1 - \theta_k)x^{(k-1)} + \theta_kv^{(k-1)} \\
x^{(k)} &amp;amp; = &amp;amp; prox_{t_kh}(y-t_k\nabla g(y))\\
v^{(k)} &amp;amp; = &amp;amp; x^{(k - 1)} + \frac{1}{\theta_k}\left( x^{(k)} - x^{(k-1)} \right)
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;h4 id=&quot;nesterovs-second-method&quot;&gt;Nesterov’s second method&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;algorithm&lt;/strong&gt;: choose ​&lt;script type=&quot;math/tex&quot;&gt;x^{(0)} = v^{(0)}&lt;/script&gt;; for ​&lt;script type=&quot;math/tex&quot;&gt;k \geq 1&lt;/script&gt;, repeat the steps&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
y             &amp;amp; = &amp;amp; (1 - \theta_k)x^{(k-1)} + \theta_kv^{(k-1)} \\
v^{(k)} &amp;amp; = &amp;amp; prox_{\left(\frac{t_k}{\theta_k}\right)h} \left( v^{(k-1)} - \frac{t_k}{\theta_k}\nabla g(y) \right)\\
x^{(k)} &amp;amp; = &amp;amp; (1 - \theta_k)x^{(k-1)} + \theta_kv^{(k)}
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;User​&lt;script type=&quot;math/tex&quot;&gt;\theta_k = \frac{2}{k+1}&lt;/script&gt; and ​&lt;script type=&quot;math/tex&quot;&gt;t_k = \frac{1}{L}&lt;/script&gt;, or one of the line search methods&lt;/p&gt;

&lt;p&gt;identical to FISTA if ​&lt;script type=&quot;math/tex&quot;&gt;h(x) = 0&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;unlike in FISTA, ​&lt;script type=&quot;math/tex&quot;&gt;y&lt;/script&gt; is feasible (in ​&lt;script type=&quot;math/tex&quot;&gt;\mathop{dom} h&lt;/script&gt;) if we take ​&lt;script type=&quot;math/tex&quot;&gt;x^{(0)} \in \mathop{dom} h&lt;/script&gt;&lt;/p&gt;

&lt;h3 id=&quot;4-fast-dual-proximal-gradient-methods&quot;&gt;4. Fast dual proximal gradient methods&lt;/h3&gt;

&lt;p&gt;参考 A Fast Dual Proximal Gradient Algorithm for Convex Minimization and Applications by Amir Beck and Marc Teboulle at October 10, 2013&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
(D)   &amp;amp; = &amp;amp; \max_y\left\lbrace q(y) \equiv -f^\ast\left(A^Ty\right)-g^\ast(-y)\right\rbrace,\\
(D') &amp;amp; = &amp;amp; \min F(y) + G(y),\\
(P') &amp;amp; = &amp;amp; \min \left\lbrace f(x) + g(z): Ax - z = 0 \right\rbrace.
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;
F(y) := f^\ast\left( A^Ty \right), \; \; G(y) :=g^\ast(-y)
&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Initialization: ​&lt;script type=&quot;math/tex&quot;&gt;L \geq \frac{\|A\|^2}{\sigma}&lt;/script&gt;, ​&lt;script type=&quot;math/tex&quot;&gt;w_1 = y_0 \in \mathbb{V}&lt;/script&gt;, ​&lt;script type=&quot;math/tex&quot;&gt;t_1 = 1&lt;/script&gt;.&lt;/p&gt;

&lt;p&gt;General Step ​&lt;script type=&quot;math/tex&quot;&gt;(k \geq 1)&lt;/script&gt;:&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
y_k           &amp;amp; = &amp;amp; prox_{\frac{1}{L}G}\left( w_k - \frac{1}{L} \nabla F(w_k) \right)\\
t_{k+1}   &amp;amp; = &amp;amp; \frac{1 + \sqrt{1 + 4t^2_k}}{2} \\
w_{k+1} &amp;amp; = &amp;amp; y_k + \left( \frac{t_k - 1}{t_{k+1}} \right) (y_k - y_{k-1}).
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;h4 id=&quot;the-fast-dual-based-proximal-gradient-method-fdpg&quot;&gt;The Fast Dual-Based Proximal Gradient Method (FDPG)&lt;/h4&gt;

&lt;p&gt;Input: ​&lt;script type=&quot;math/tex&quot;&gt;L \geq \frac{\|A\|^2}{\sigma} - \text{ an upper bound on the Lipschitz constant of } \nabla F&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Step ​&lt;script type=&quot;math/tex&quot;&gt;0&lt;/script&gt;. Take ​&lt;script type=&quot;math/tex&quot;&gt;w_1 = y_0 \in \mathbb{V}&lt;/script&gt;, ​&lt;script type=&quot;math/tex&quot;&gt;t_1 = 1&lt;/script&gt;.&lt;/p&gt;

&lt;p&gt;Step ​&lt;script type=&quot;math/tex&quot;&gt;k&lt;/script&gt;. (​&lt;script type=&quot;math/tex&quot;&gt;k \geq 0&lt;/script&gt;) Compute&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
u_k           &amp;amp; = &amp;amp; \mathop{argmax}_x \left\lbrace \lt{}x, A^Tw_k\gt{} - f(x) \right\rbrace\\
v_k           &amp;amp; = &amp;amp; prox_{Lg}(Au_k - Lw_k)\\
y_k           &amp;amp; = &amp;amp; w_k - \frac{1}{L}(au_k - v_k)\\
t_{k+1}   &amp;amp; = &amp;amp; \frac{1 + \sqrt{1 + 4t^2_k}}{2}\\
w_{k+1} &amp;amp; = &amp;amp; y_k + \left( \frac{t_k - 1}{t_{k+1}} \right) (y_k - y_{k-1}). \tag*{$\blacksquare$}
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 02 Aug 2015 22:33:54 +0800</pubDate>
        <link>http://www.quxiaofeng.me/optimization/optimization/2015/08/02/introdction-to-nonlinear-optimization-by-fukushima/</link>
        <guid isPermaLink="true">http://www.quxiaofeng.me/optimization/optimization/2015/08/02/introdction-to-nonlinear-optimization-by-fukushima/</guid>
        
        
      </item>
    
      <item>
        <title>The Expectation Maximization Algorithm and Finite Mixture Models</title>
        <description>&lt;p&gt;期望最大化算法和有限混合模型&lt;/p&gt;

&lt;p&gt;概念主要来自于一次跟师弟的讨论。师弟提到 Expectation Maximization Algorithm (EM 算法) 方面的专家 &lt;a href=&quot;http://www.maths.uq.edu.au/~gjm/&quot;&gt;Prof. Geoffrey John McLachlan&lt;/a&gt; 的一篇早期的论文就完全涵盖了多个最新顶级期刊论文的思想。就跟着追到该教授的&lt;a href=&quot;http://www.maths.uq.edu.au/~gjm/&quot;&gt;主页&lt;/a&gt;，找到这两本书：&lt;a href=&quot;http://book.douban.com/subject/2857809/&quot;&gt;Finite Mixture Models (有限混合模型)&lt;/a&gt; 和 &lt;a href=&quot;http://book.douban.com/subject/3554292/&quot;&gt;The EM Algorithm and Extensions (期望最大化算法及其拓展)&lt;/a&gt;。&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;prof-geoffrey-john-mclachlan-近期相关论文&quot;&gt;&lt;a href=&quot;http://www.maths.uq.edu.au/~gjm/&quot;&gt;Prof. Geoffrey John McLachlan&lt;/a&gt; 近期相关论文&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;McLachlan, G.J. and Ng, S.K. (2009). &lt;a href=&quot;http://www.maths.uq.edu.au/~gjm/mn_em.pdf&quot;&gt;The EM Algorithm&lt;/a&gt;. In The Top-Ten Algorithms in Data Mining, X. Wu and V. Kumar (Eds.). Boca Raton, Florida: Chapman &amp;amp; Hall/CRC, pp. 93-115.&lt;/li&gt;
  &lt;li&gt;McLachlan, G.J., Ng, S.K., and Wang, K. (2010). &lt;a href=&quot;http://www.maths.uq.edu.au/~gjm/mnw_cladag07.pdf&quot;&gt;Clustering of high-dimensional and correlated data&lt;/a&gt;. In Studies in Classification, Data Analysis, and Knowledge Organization: Data Analysis and Classification, C. Lauro, F. Palumbo, and M. Greenacre (Eds.). Berlin: Springer-Verlag, pp. 3-11.&lt;/li&gt;
  &lt;li&gt;McLachlan, G.J. and Baek, J. (2010). &lt;a href=&quot;http://www.maths.uq.edu.au/~gjm/mb_gfkl08.pdf&quot;&gt;Clustering of high-dimensional data via finite mixture models&lt;/a&gt;. In Advances in Data Analysis, Data Handling and Business Intelligence, A. Fink, B. Lausen, W. Seidel, and A. Ultsch (Eds.). Berlin: Springer-Verlag, pp. 33-44.&lt;/li&gt;
  &lt;li&gt;Baek, J., McLachlan, G.J., and Flack, L. (2010). &lt;a href=&quot;http://www.maths.uq.edu.au/~gjm/bmf_pami09.pdf&quot;&gt;Mixtures of factor analyzers with common factor loadings: applications to the clustering and visualisation of high-dimensional data&lt;/a&gt;. IEEE Transactions on Pattern Analysis and Machine Intelligence 32, 1298-1309.&lt;/li&gt;
  &lt;li&gt;Nikulin, V., Huang, T.-H., Ng, S.K., Rathnayake, S.I., and McLachlan, G.J. (2011). &lt;a href=&quot;http://www.maths.uq.edu.au/~gjm/nhnrm_spl11.pdf&quot;&gt;A very fast algorithm for matrix factorization&lt;/a&gt;. Statistics &amp;amp; Probability Letters 81, 773-782.&lt;/li&gt;
  &lt;li&gt;Lee, S.X. and McLachlan, G.J. (2011). &lt;a href=&quot;http://arxiv.org/abs/1109.4706&quot;&gt;On the fitting of mixtures of multivariate skew t-distributions via the EM algorithm&lt;/a&gt;. Preprint arXiv:1109.4706v2.&lt;/li&gt;
  &lt;li&gt;Lee, S. and McLachlan, G.J. (2014). &lt;a href=&quot;http://www.maths.uq.edu.au/~gjm/lm_sc2014a.pdf&quot;&gt;Finite mixtures of multivariate skew t-distributions: some recent and new results&lt;/a&gt;. Statistics and Computing 24, 181-202. See also amended version with corrections.&lt;/li&gt;
  &lt;li&gt;Lin, T.-I., McLachlan, G.J., and Lee, S.X. (2016). &lt;a href=&quot;http://arxiv.org/abs/1307.1748&quot;&gt;Extending mixtures of factor models using the restricted multivariate skew-normal distribution&lt;/a&gt;. Journal of Multivariate Analysis. To appear. Preprint arXiv.1307.1748.&lt;/li&gt;
  &lt;li&gt;McLachlan, G.J. and Lee, S.X. (2014). &lt;a href=&quot;http://arxiv.org/abs/1404.1733&quot;&gt;Comment on “Comparing two formulations of skew distributions with special reference to model-based clustering” by A. Azzalini, R. Browne, M. Genton, and P. McNicholas&lt;/a&gt;. Preprint arXiv:1404.1733.&lt;/li&gt;
  &lt;li&gt;Lee, S.X., McLachlan, G.J., and Pyne, S. (2014). &lt;a href=&quot;http://arxiv.org/abs/1411.2820&quot;&gt;Supervised classification of flow cytometric samples via the joint clustering and matching (JCM) procedure&lt;/a&gt;. Preprint arXiv:1411.0685.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;高斯混合模型&quot;&gt;高斯混合模型&lt;/h2&gt;

&lt;p&gt;在应用领域，更多提及的是高斯混合模型 (GMM, Gaussian Mixture Model)。最简单的是单高斯模型。在单高斯模型中，假设多维变量符合高斯分布。高斯分布从空间上观察，在二维情况，近似于椭圆；在三维情况，近似于椭球。当单高斯分布不足以表达高维随机变量的分布时，用多个高斯分布的合成来近似该高维随机变量的分布。可以类比小波分解，使用足够多的高斯分布，可以拟合任意高维数据分布。特别考虑到，独立同分布 (i.i.d., independent identically distributed) 随机变量，当数据足够多时，近似服从高斯分布。&lt;/p&gt;

&lt;p&gt;这里 GMM 跟 K-means 算法在很多方面近似。K-means 算法是从一组样本中选择其中一个最近邻样本作为聚类中心。GMM 中是根据一组数据按照高斯分布计算中心与方差，然后为每一个数据计算属于该高斯分布的概率。GMM 可以看成是一种柔性、概率的 K-means。K-means 可以看成是鉴别/分类方法 (identification/classification)；对应的 GMM 可以看成是验证方法 (veriication)。K-means 把每一个样本分配到 K 个聚类中心中最近的一个；GMM 为每一个样本计算其属于 K 个不同的高斯分布的概率。&lt;/p&gt;

&lt;p&gt;给定样本及类别信息，可以通过极大似然估计 (ML, Maximum Likelihood) 算法求解 GMM 参数。当样本类别未知时，使用各样本符合分布的概率，期望最大化算法 (EM)。当微小概率连乘时，可以通过取对数的方式，提高数值计算的稳定性。&lt;/p&gt;

</description>
        <pubDate>Fri, 24 Jul 2015 03:52:47 +0800</pubDate>
        <link>http://www.quxiaofeng.me/optimization/optimization/2015/07/24/em-method/</link>
        <guid isPermaLink="true">http://www.quxiaofeng.me/optimization/optimization/2015/07/24/em-method/</guid>
        
        
      </item>
    
      <item>
        <title>Kernel and Kernel: Reproducing Kernel Hilbert Space and Kernel Method</title>
        <description>&lt;h2 id=&quot;kernel&quot;&gt;Kernel&lt;/h2&gt;

&lt;p&gt;再生核的定义&lt;/p&gt;

&lt;p&gt;Definition. ​&lt;script type=&quot;math/tex&quot;&gt;k: \mathcal{X} \times \mathcal{X} \rightarrow \Re &lt;/script&gt; is a kernel if&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;核函数 ​&lt;script type=&quot;math/tex&quot;&gt;k&lt;/script&gt;  对称 isymmetric: ​&lt;script type=&quot;math/tex&quot;&gt;k(x,y)=k(y,x)&lt;/script&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;核函数 ​&lt;script type=&quot;math/tex&quot;&gt;k&lt;/script&gt; 半正定 positive semi-definite&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;i.e., ​&lt;script type=&quot;math/tex&quot;&gt;\forall x_1, x_2, \ldots , x_n \in \mathcal{X}&lt;/script&gt;, the “Gram Matrix” ​&lt;script type=&quot;math/tex&quot;&gt;K&lt;/script&gt; defined by ​&lt;script type=&quot;math/tex&quot;&gt;K_{ij} =  k(x_i,x_j)&lt;/script&gt; is positive semi-definite. (A matrix ​&lt;script type=&quot;math/tex&quot;&gt;M \in \Re^{n \times n}&lt;/script&gt; is positive semi-definite if ​&lt;script type=&quot;math/tex&quot;&gt;\forall a \in \Re^n&lt;/script&gt;, ​&lt;script type=&quot;math/tex&quot;&gt;a' M a \ge 0&lt;/script&gt;.)&lt;/p&gt;

&lt;!--more--&gt;

&lt;p&gt;再生核希尔伯特空间是从低维数据到函数泛函映射。Hilbert 空间“Frechet-Riesz”表现定理。&lt;/p&gt;

&lt;p&gt;希尔伯特空间是定义了内积的空间；相对应的 Banach 是定义了范数的空间。&lt;/p&gt;

&lt;h2 id=&quot;reproducing-kernel-feature-map&quot;&gt;Reproducing Kernel Feature Map&lt;/h2&gt;

&lt;p&gt;再生核特征映射
​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\Phi_x(\cdot) \triangleq k(\cdot,x) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;即对任意线性泛函​&lt;script type=&quot;math/tex&quot;&gt; \Phi(\cdot) &lt;/script&gt;, ​&lt;script type=&quot;math/tex&quot;&gt; \exists x_\Phi \in H &lt;/script&gt;, 使得 ​&lt;script type=&quot;math/tex&quot;&gt; \Phi(\cdot) = (\cdot, x_\Phi) &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;To be continued…&lt;/p&gt;
</description>
        <pubDate>Sun, 19 Jul 2015 17:22:53 +0800</pubDate>
        <link>http://www.quxiaofeng.me/optimization/optimization/2015/07/19/kernel-and-kenel/</link>
        <guid isPermaLink="true">http://www.quxiaofeng.me/optimization/optimization/2015/07/19/kernel-and-kenel/</guid>
        
        
      </item>
    
      <item>
        <title>Alternating Direction Method of Multipliers (ADMM)</title>
        <description>&lt;p&gt;Consider minimizing ​&lt;script type=&quot;math/tex&quot;&gt; f({\bf x}) + g({\bf y}) &lt;/script&gt; subject to affine constraints ​&lt;script type=&quot;math/tex&quot;&gt; {\bf Ax} + {\bf By} = {\bf c} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The augmented Lagrangian&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \mathcal{L}_\rho({\bf x}, {\bf y}, {\bf \lambda}) = f({\bf x}) + g({\bf y}) + \langle {\bf \lambda}, {\bf Ax} + {\bf By} - {\bf c} \rangle + \frac{\rho}{2} \| {\bf Ax} + {\bf By} - {\bf c} \|^2_2 &lt;/script&gt;&lt;/p&gt;

&lt;!--more--&gt;

&lt;p&gt;&lt;strong&gt;Idea&lt;/strong&gt;: perform block descent on ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x}&lt;/script&gt; and ​&lt;script type=&quot;math/tex&quot;&gt;{\bf y}&lt;/script&gt; and then update multiplier vector ​&lt;script type=&quot;math/tex&quot;&gt;{\bf \lambda}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;
\begin{align}
{\bf x}^{(t+1)}       &amp;amp; \leftarrow \min_{\bf x} f({\bf x}) + \langle {\bf \lambda}, {\bf Ax} + {\bf By}^{(t)} - {\bf c} \rangle + \frac{\rho}{2} \| {\bf Ax} + {\bf By}^{(t)} - {\bf c} \|^2_2 \\
{\bf y}^{(t+1)}       &amp;amp; \leftarrow \min_{\bf y} g({\bf y}) + \langle {\bf \lambda}, {\bf Ax}^{(t+1)} + {\bf By} - {\bf c} \rangle + \frac{\rho}{2} \| {\bf Ax}^{(t+1)} + {\bf By} - {\bf c} \|^2_2 \\
{\bf \lambda}^{(t+1)} &amp;amp; \leftarrow {\bf \lambda}^{(t)} + \rho ({\bf Ax}^{(t+1)} + {\bf By}^{(t+1)} - {\bf c})
\end{align}
&lt;/script&gt;&lt;/p&gt;

&lt;h2 id=&quot;example-fused-lasso&quot;&gt;Example: fused lasso&lt;/h2&gt;

&lt;p&gt;Fused lasso problem minimizes
​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \frac{1}{2} \| {\bf y - X\beta} \|^2_2 + \mu \sum^{p-1}_{j=1} |\beta_{j+1} - \beta_j |&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Define ​&lt;script type=&quot;math/tex&quot;&gt;{\bf \gamma = D\beta}&lt;/script&gt;, where&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;
D = \left(\begin{matrix}
1 &amp;amp; -1 &amp;amp; &amp;amp;      &amp;amp;   &amp;amp; \\
  &amp;amp;    &amp;amp; \cdots &amp;amp;   &amp;amp; \\
  &amp;amp;    &amp;amp;        &amp;amp; 1 &amp;amp; -1
\end{matrix}
\right)
&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Then we minimize ​&lt;script type=&quot;math/tex&quot;&gt; \frac{1}{2} \| {\bf y} - {\bf X\beta} \|^2_2 + \mu \| \gamma \|_1 &lt;/script&gt; subject to ​&lt;script type=&quot;math/tex&quot;&gt; {\bf D\beta} = \gamma &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Augmented Lagrangian is&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \mathcal{L}_\rho({\bf \beta}, {\bf \gamma}, {\bf \lambda}) = \frac{1}{2} \| {\bf y} - {\bf X\beta} \|^2_2 + \mu \| {\bf \gamma} \|_1 + {\bf \lambda}^T({\bf D\beta} - {\bf \gamma}) + \frac{\rho}{2} \| {\bf D\beta} - {\bf \gamma} \|^2_2 &lt;/script&gt;&lt;/p&gt;

&lt;h2 id=&quot;admm&quot;&gt;ADMM&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Update ​&lt;script type=&quot;math/tex&quot;&gt;{\bf \beta}&lt;/script&gt; is a smooth quadratic problem&lt;/li&gt;
  &lt;li&gt;Update ​&lt;script type=&quot;math/tex&quot;&gt;{\bf \gamma}&lt;/script&gt; is a separated lasso problem (elementwise thresholding)&lt;/li&gt;
  &lt;li&gt;Update multipliers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;{\bf \lambda}^{(t+1)} \leftarrow {\bf \lambda}^{(t)} + \rho({\bf D\beta}^{(t)} - {\bf \gamma}^{(t)})&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Same algorithm applies to a general regularization matrix ​&lt;script type=&quot;math/tex&quot;&gt;{\bf D}&lt;/script&gt; (generalized lasso)&lt;/p&gt;

&lt;h2 id=&quot;remarks-on-admm&quot;&gt;Remarks on ADMM&lt;/h2&gt;

&lt;p&gt;Related algorithms&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Split Bregman iteration &lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt; Goldstein, T. and Osher, S. (2009). The split Bregman method for l1-regularized problems. SIAM J. Img. Sci., 2:323-343.&lt;/span&gt;&lt;/li&gt;
  &lt;li&gt;Dykstra’s alternating projection algorithm &lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt; Dykstra, R. L. (1983). An algorithm for restricted least squares regression. J. Amer. Statist. Assoc., 78(384):837-842.&lt;/span&gt;&lt;/li&gt;
  &lt;li&gt;Proximal point algorithm applied to the dual&lt;/li&gt;
  &lt;li&gt;Numerous applications in statistics and machine learning: lasso, gen. lasso, graphical lasso, (overlapping) group lasso, …&lt;/li&gt;
  &lt;li&gt;Embraces distributed computing for big data &lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt; Boyd, S., Parikh, N., Chu, E., Peleato, B., and Eckstein, J. (2011). Distributed optimization and statistical learning via the alternating direction method of multipliers. Found. Trends Mach. learn., 3(1):1-122.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Sat, 18 Jul 2015 21:36:14 +0800</pubDate>
        <link>http://www.quxiaofeng.me/optimization/optimization/2015/07/18/alternating-direction-method-multipliers/</link>
        <guid isPermaLink="true">http://www.quxiaofeng.me/optimization/optimization/2015/07/18/alternating-direction-method-multipliers/</guid>
        
        
      </item>
    
      <item>
        <title>Augmented Lagrangian Method</title>
        <description>&lt;p&gt;Consider minimizing:&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex&quot;&gt; f({\bf x}) &lt;/script&gt; subject to equality constraints ​&lt;script type=&quot;math/tex&quot;&gt; g_i({\bf x}) = 0 &lt;/script&gt; for ​&lt;script type=&quot;math/tex&quot;&gt;i=1, \ldots ,q&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Inequality constraints are ignored for simplicity&lt;/p&gt;

&lt;p&gt;Assume ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt; and ​&lt;script type=&quot;math/tex&quot;&gt;g_i&lt;/script&gt; are smooth for simplicity&lt;/p&gt;

&lt;p&gt;At a constrained minimum, the Lagrange multiplier condition&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;  {\bf 0}=\nabla f({\bf x})+\sum^q_{i=1}\lambda_i\nabla g_i({\bf x})  &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;holds provided ​&lt;script type=&quot;math/tex&quot;&gt;\nabla g_i({\bf x})&lt;/script&gt; are linearly independent&lt;/p&gt;

&lt;!--more--&gt;

&lt;p&gt;&lt;strong&gt;Augmented lagrangian&lt;/strong&gt; &lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt; 参考&lt;a href=&quot;http://www.stat.ncsu.edu/people/zhou/courses/st810/notes/lect24final.pdf&quot;&gt;http://www.stat.ncsu.edu/people/zhou/courses/st810/notes/lect24final.pdf&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\mathcal{L}_\rho ({\bf x},{\bf \lambda}) = f({\bf x}) + \sum^q_{i=1}\lambda_i g_i({\bf x}) + \frac{\rho}{2}\sum^q_{i=1}g_i({\bf x})^2&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;The penalty term ​&lt;script type=&quot;math/tex&quot;&gt;\frac{\rho}{2}\sum^q_{i=1}g_i({\bf x})^2&lt;/script&gt; punishes violations of the equality constraints ​&lt;script type=&quot;math/tex&quot;&gt;g_i({\bf \theta})&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Optimize the Augmented Lagrangian and adjust ​&lt;script type=&quot;math/tex&quot;&gt;{\bf \lambda}&lt;/script&gt; in the hope of matching the true Lagrange multipliers&lt;/p&gt;

&lt;p&gt;For ​&lt;script type=&quot;math/tex&quot;&gt;\rho&lt;/script&gt; large enough (finite), the unconstrained minimizer of the augmented lagrangian coincides with the constrained solution of the original problem&lt;/p&gt;

&lt;p&gt;At convergence, the gradient ​&lt;script type=&quot;math/tex&quot;&gt;\rho g_i({\bf x})\nabla g_i({\bf x})&lt;/script&gt; vanishes and we recover the standard multiplier rule&lt;/p&gt;

&lt;h2 id=&quot;algorithm&quot;&gt;Algorithm&lt;/h2&gt;

&lt;p&gt;Take ​&lt;script type=&quot;math/tex&quot;&gt;\rho&lt;/script&gt; initially large or gradually increase it; iterate&lt;/p&gt;

&lt;p&gt;Find the unconstrained minimum
​&lt;script type=&quot;math/tex; mode=display&quot;&gt;{\bf x}^{(t+1)}\leftarrow \min_x\mathcal{L}_\rho ({\bf x},{\bf \lambda}^{(t)})&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Update the multiplier vector ​&lt;script type=&quot;math/tex&quot;&gt;{\bf \lambda}&lt;/script&gt;
​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\lambda^{(t+1)}_i \leftarrow \lambda^{(t)}_i + \rho g_i({\bf x}^{(t)}), \; i = 1, \ldots , q&lt;/script&gt;&lt;/p&gt;

&lt;h3 id=&quot;intuition-for-updating-bf-lambda&quot;&gt;Intuition for updating ​&lt;script type=&quot;math/tex&quot;&gt;{\bf \lambda}&lt;/script&gt;&lt;/h3&gt;

&lt;p&gt;If ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x}^{(t)}&lt;/script&gt; is the unconstrained minimum of ​&lt;script type=&quot;math/tex&quot;&gt;\mathcal{L}({\bf x},{\bf \lambda})&lt;/script&gt;, then the stationary condition says&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
{\bf 0} &amp;amp; = \nabla f({\bf x}^{(t)}) + \sum^q_{i=1} \lambda^{(t)}_i \nabla g_i({\bf x}^{(t)}) + \rho \sum^q_{i=1} g_i({\bf x}^{(t)}) \nabla g_i({\bf x}^{(t)}) \\
        &amp;amp; = \nabla f({\bf x}^{(t)}) + \sum^q_{i=1} \left[ \lambda^{(t)}_i + \rho g_i({\bf x}^{(t)}) \right] \nabla g_i({\bf x}^{(t)})
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;h3 id=&quot;for-non-smooth-f-replace-gradient-nabla-f-by-sub-differential-partial-f&quot;&gt;For non-smooth ​&lt;script type=&quot;math/tex&quot;&gt;f&lt;/script&gt;, replace gradient ​&lt;script type=&quot;math/tex&quot;&gt;\nabla f&lt;/script&gt; by sub-differential ​&lt;script type=&quot;math/tex&quot;&gt;\partial f&lt;/script&gt;&lt;/h3&gt;

&lt;h2 id=&quot;example-basis-pursuit&quot;&gt;Example: basis pursuit&lt;/h2&gt;

&lt;p&gt;Basis pursuit problem seeks the sparsest solution subject to linear constraints
​&lt;script type=&quot;math/tex; mode=display&quot;&gt;
\begin{align}
\text{minimize    } &amp;amp; \|{\bf x}\|_1 \\
\text{subject to    } &amp;amp; {\bf Ax} = {\bf b}
\end{align}
&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Take ​&lt;script type=&quot;math/tex&quot;&gt;\rho&lt;/script&gt; initially large or gradually increase it; iterate according to&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \begin{eqnarray*}
{\bf x}^{(t+1)}       &amp;amp; \leftarrow \min \|{\bf x}\| + \langle {\bf \lambda}^{(t)}, {\bf Ax} - {\bf b} \rangle + \frac{\rho}{2} \|{\bf Ax} - {\bf b}\|^2-2 \text{(lasso)} \\
{\bf \lambda}^{(t+1)} &amp;amp; \leftarrow {\bf \lambda}^{(t)} + \rho \left( {\bf Ax}^{(t+1)} - {\bf b} \right)
\end{eqnarray*}&lt;/script&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Converges in a finite (small) number of steps &lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt; Yin, W., Osher, S., Goldfarb, D., and Darbon, J. (2008). Bregman iterative algorithms for l&lt;sub&gt;1&lt;/sub&gt;-minimization with applications to compressed sensing. SIAM J. Imaging Sci., 1(1):143-168. Online: &lt;a href=&quot;http://www.caam.rice.edu/~wy1/paperfiles/Rice_CAAM_TR07-13.PDF&quot;&gt;http://www.caam.rice.edu/~wy1/paperfiles/Rice_CAAM_TR07-13.PDF&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;remarks&quot;&gt;Remarks&lt;/h2&gt;

&lt;p&gt;The augmented Lagrangian method dates back to 50s &lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt; Hestenes, M.R. (1969). Multiplier and gradient methods. J. Optimization Theory Appl., 4:303-320. &lt;br /&gt; Powell, M. J. D. (1969). A method for nonlinear constraints in minimization problems. In Optimization (Sympos., Univ. Keele, Keele, 1968), pages 283-298. Academic Press, London.&lt;/span&gt;
Monograph by Bertsekas&lt;sup class=&quot;sidenote-number&quot;&gt;4&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;4&lt;/sup&gt; Bertsekas, D. P. (1982). Constrained Optimization and Lagrange Multiplier Methods. Computer Science and Applied Mathematics. Academic Press Inc. [Harcourt Brace Jovanovich Publishers], New York.&lt;/span&gt; provides a general treatment
Same as the Bregman iteration (Yin etal., 2008) proposed for basis pursuit (compressive sensing)
Equivalent to proximal print algorithm applied to the dual; can be accelerated (Nesterov)&lt;/p&gt;
</description>
        <pubDate>Fri, 17 Jul 2015 19:04:01 +0800</pubDate>
        <link>http://www.quxiaofeng.me/optimization/optimization/2015/07/17/augmented-lagrangian-method/</link>
        <guid isPermaLink="true">http://www.quxiaofeng.me/optimization/optimization/2015/07/17/augmented-lagrangian-method/</guid>
        
        
      </item>
    
      <item>
        <title>Introduction to Nonlinear Optimization</title>
        <description>&lt;p&gt;昨天晚上到今天，看完了一本之前一直看不完的书 《Introduction to Nonlinear Optimization》&lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt; 《Introduction to Nonlinear Optimization》 at 豆瓣: &lt;a href=&quot;http://book.douban.com/subject/26551626/&quot;&gt;http://book.douban.com/subject/26551626/&lt;/a&gt; and at Amazon: &lt;a href=&quot;http://www.amazon.com/Introduction-Nonlinear-Optimization-Algorithms-Applications/dp/1611973643/&quot;&gt;http://www.amazon.com/Introduction-Nonlinear-Optimization-Algorithms-Applications/dp/1611973643/&lt;/a&gt;&lt;/span&gt; by Amir Beck &lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt; Amir Beck is an associate professor at The Technion—Israel Institute of Technology： &lt;a href=&quot;http://iew3.technion.ac.il/Home/Users/becka.html&quot;&gt;http://iew3.technion.ac.il/Home/Users/becka.html&lt;/a&gt;&lt;/span&gt;。澄清了一些过去曾经误解的概念。MOS-SIAM Series on Optimization&lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt; MOS-SIAM Series on Optimization: &lt;a href=&quot;http://bookstore.siam.org/mos-siam-series-on-optimization/&quot;&gt;http://bookstore.siam.org/mos-siam-series-on-optimization/&lt;/a&gt;&lt;/span&gt; 一系列优化的书都不错。连着借了三本，希望以后都能好好读完。现在这本非线性优化暂时只是翻完了，习题都没做，感觉习题也都挺有用的。&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;table-of-content-目录&quot;&gt;Table of Content 目录&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Mathematical Preliminaries 数学基础
&lt;strong&gt;2.&lt;/strong&gt; Optimality Conditions for Unconstrained Optimization 无约束优化问题的优化条件
&lt;strong&gt;3.&lt;/strong&gt; Least Squares 最小二乘问题
&lt;strong&gt;4.&lt;/strong&gt; The Gradient Method 梯度下降法
&lt;strong&gt;5.&lt;/strong&gt; Newton’s Method 牛顿法
&lt;strong&gt;6.&lt;/strong&gt; Convex Sets 凸集
&lt;strong&gt;7.&lt;/strong&gt; Convex Functions 凸函数
&lt;strong&gt;8.&lt;/strong&gt; Convex Optimization 凸优化
&lt;strong&gt;9.&lt;/strong&gt; Optimization over a Convex Set 凸集上的优化问题
&lt;strong&gt;10.&lt;/strong&gt; Optimality Conditions for Linearly Constrained Problems 线性约束问题的优化条件
&lt;strong&gt;11.&lt;/strong&gt; The KKT Conditions 库恩塔克条件
&lt;strong&gt;12.&lt;/strong&gt; Duality 对偶问题&lt;/p&gt;

&lt;h2 id=&quot;第一章-数学基础&quot;&gt;第一章 数学基础&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Definition 1.1 内积&lt;/strong&gt; inner product ​&lt;script type=&quot;math/tex&quot;&gt;\langle\cdot,\cdot\rangle:=\Re^n \times \Re^n \to \Re&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. 对称性&lt;/strong&gt; symmetry ​&lt;script type=&quot;math/tex&quot;&gt;\langle{\bf x},{\bf y}\rangle=\langle{\bf y},{\bf x}\rangle&lt;/script&gt; 对于任何 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x},{\bf y} \in \Re^n &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. 可加性&lt;/strong&gt; additivity ​&lt;script type=&quot;math/tex&quot;&gt;\langle{\bf x},{\bf y}+{\bf z}\rangle=\langle{\bf x},{\bf y}\rangle+\langle{\bf x},{\bf z}\rangle&lt;/script&gt; 对于任何 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x},{\bf y},{\bf z} \in \Re^n &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. 线性&lt;/strong&gt; homogeneity ​&lt;script type=&quot;math/tex&quot;&gt;\langle\lambda{\bf x},{\bf y}\rangle=\lambda\langle{\bf x},{\bf y}\rangle&lt;/script&gt; 对于任何 ​&lt;script type=&quot;math/tex&quot;&gt;\lambda\in \Re &lt;/script&gt; 及 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x},{\bf y} \in \Re^n&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. 正定性&lt;/strong&gt; positive definiteness 对于任意 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x}\in \Re^n&lt;/script&gt;， ​&lt;script type=&quot;math/tex&quot;&gt;\langle{\bf x},{\bf x}\rangle\ge0&lt;/script&gt;；当且仅当 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x}={\bf 0}&lt;/script&gt; 时，​&lt;script type=&quot;math/tex&quot;&gt;\langle{\bf x},{\bf x}\rangle=0&lt;/script&gt;。 ​&lt;script type=&quot;math/tex&quot;&gt;\tag*{$\blacksquare$}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example 1.2 最常见的内积就是点积&lt;/strong&gt; dot product
​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\langle{\bf x},{\bf y}\rangle={\bf x}^T{\bf y}=\sum^n_{i=1}x_iy_i \text{ for any } {\bf x},{\bf y} \in \Re^n &lt;/script&gt;
点积是标准内积，当不明确说明时，默认内积就是点积。​&lt;script type=&quot;math/tex&quot;&gt;\tag*{$\blacksquare$}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example 1.3 加权点积&lt;/strong&gt; weighted dot norm 是 ​&lt;script type=&quot;math/tex&quot;&gt;\Re^n &lt;/script&gt; 空间中另一个内积的例子，其中权重 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf w}\in \Re^n_{++} &lt;/script&gt;。
​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \langle {\bf x},{\bf y} \rangle_{\bf w} = \sum^n_{i=1}w_ix_iy_i \; \tag*{$\blacksquare$}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Definition 1.4 范数&lt;/strong&gt; Norm 一个定义在实数向量集 ​&lt;script type=&quot;math/tex&quot;&gt;\Re^n &lt;/script&gt; 上的范数 ​&lt;script type=&quot;math/tex&quot;&gt;\|\cdot\| &lt;/script&gt; 是一个满足如下条件，形如 ​&lt;script type=&quot;math/tex&quot;&gt;\| \cdot \| : \Re^n \to \Re &lt;/script&gt; 的函数&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. 非负性&lt;/strong&gt; nonnegativity ​&lt;script type=&quot;math/tex&quot;&gt; \|{\bf x}\| \ge 0 \text{ for any } {\bf x} \in \Re^n \text{ and } \|{\bf x}\| = 0 \text{ if and only if } {\bf x} = {\bf 0} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. 正线性&lt;/strong&gt; positive homogeneity ​&lt;script type=&quot;math/tex&quot;&gt; |\lambda {\bf x}\| = |\lambda| \|{\bf x}\| \text{ for any } {\bf x} \in \Re^n \text{ and } \lambda \in \Re&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. 三角不等&lt;/strong&gt; triangle inequality  ​&lt;script type=&quot;math/tex&quot;&gt; \|{\bf x} + {\bf y}\| \le \|{\bf x}\| + \|{\bf y}\| \text{ for any } {\bf x},{\bf y} \in \Re^n&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;相应的，​&lt;script type=&quot;math/tex&quot;&gt; p &lt;/script&gt; 范数 p-norm 定位为
​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \ell_p \equiv \|{\bf x}\|_p \equiv \sqrt[p]{\sum^n_{i=1}|x_i|^p} \text{ , for }  p \ge 1 &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;类似的，无穷范数 ​&lt;script type=&quot;math/tex&quot;&gt;\infty &lt;/script&gt; 定义为
​&lt;script type=&quot;math/tex; mode=display&quot;&gt; \|{\bf x}\|_{\infty} \equiv \max_{i=1,2,\cdots,n}|x_i|=\lim_{p \to \infty} \|{\bf x}\|_p \;&lt;/script&gt;
即最大绝对值。&lt;/p&gt;

&lt;p&gt;1-范数 1-norm ​&lt;script type=&quot;math/tex&quot;&gt;\|{\bf x}\|_1&lt;/script&gt; 即为绝对值之和 ​&lt;script type=&quot;math/tex&quot;&gt;\sum^n_{i=1}|x_i|&lt;/script&gt;。 ​&lt;script type=&quot;math/tex&quot;&gt;\tag*{$\blacksquare$}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lemma 1.5 柯西 - 施瓦茨不等式&lt;/strong&gt; Cauchy-Schwarz inequality ​&lt;script type=&quot;math/tex&quot;&gt; \text{ For any } {\bf x}, {\bf y} \in \Re^n,&lt;/script&gt;
​&lt;script type=&quot;math/tex; mode=display&quot;&gt;|{\bf x}^T{\bf y}| \le \|{\bf x}\|_2 \cdot \|{\bf y}\|_2 &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;等号在且仅在 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x}&lt;/script&gt; 和 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf y}&lt;/script&gt; 线性相关时成立。 ​&lt;script type=&quot;math/tex&quot;&gt;\tag*{$\blacksquare$}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Definition 1.6 矩阵的范数&lt;/strong&gt; matrix norms 一个定义在​&lt;script type=&quot;math/tex&quot;&gt;\Re^{m \times n}&lt;/script&gt; 空间上的范数 ​&lt;script type=&quot;math/tex&quot;&gt;\|\cdot\|&lt;/script&gt; 是一个形如 ​&lt;script type=&quot;math/tex&quot;&gt;\|\cdot\|:\Re^{m \times n} \to \Re&lt;/script&gt;，且满足如下性质的函数。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. 非负性&lt;/strong&gt; nonnegativity 对于任意 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf A} \in \Re^{m \times n}&lt;/script&gt;, ​&lt;script type=&quot;math/tex&quot;&gt;\|{\bf A}\| \ge 0&lt;/script&gt;；同时，当且仅当 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf A} = {\bf 0}&lt;/script&gt; 时，​&lt;script type=&quot;math/tex&quot;&gt;\|{\bf A}\| = 0&lt;/script&gt;。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. 正线性&lt;/strong&gt; positive homogeneity 对于任意 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf A} \in \Re^{m \times n}&lt;/script&gt; 和 ​&lt;script type=&quot;math/tex&quot;&gt;\lambda \in \Re&lt;/script&gt;，​&lt;script type=&quot;math/tex&quot;&gt;\|\lambda{\bf A}\| = |\lambda| \cdot \|{\bf A}\|&lt;/script&gt;。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. 三角不等式&lt;/strong&gt; triangle inequality 对于任意 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf A},{\bf B} \in \Re^{m \times n}&lt;/script&gt;，​&lt;script type=&quot;math/tex&quot;&gt;\|{\bf A} + {\bf B}\| \le \|{\bf A}\| + \|{\bf B}\|&lt;/script&gt;。&lt;/p&gt;

&lt;p&gt;常见的 induced matrix norm ​&lt;script type=&quot;math/tex&quot;&gt;\| \cdot \|_{a,b}&lt;/script&gt; 定义如下。给定一个矩阵 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf A} \in \Re^{m \times n}&lt;/script&gt; 和分别定义在 ​&lt;script type=&quot;math/tex&quot;&gt;\Re^n&lt;/script&gt; 及 ​&lt;script type=&quot;math/tex&quot;&gt;\Re^m&lt;/script&gt; 上的两个范数 ​&lt;script type=&quot;math/tex&quot;&gt;\| \cdot \|_a&lt;/script&gt; 和 ​&lt;script type=&quot;math/tex&quot;&gt;\| \cdot \|_b&lt;/script&gt;，​&lt;script type=&quot;math/tex&quot;&gt;\| {\bf A} \|_{a,b}&lt;/script&gt; 即为&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\| {\bf A} \|_{a,b} = \max_{\bf x}\{ \| {\bf Ax} \|_b : \| {\bf x} \|_a \le 1 \} &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;从定义可以看出，对于任意 ​&lt;script type=&quot;math/tex&quot;&gt;{\bf x} \in \Re^n&lt;/script&gt; 以下不等式均成立&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\| {\bf Ax} \|_b = \| {\bf A} \|_{a,b}  \| {\bf x} \|_a \tag*{$\blacksquare$}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example 1.7 谱范数&lt;/strong&gt; spectral norm
​&lt;script type=&quot;math/tex&quot;&gt;\tag*{$\blacksquare$}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example 1.8 1-范数&lt;/strong&gt; 1-norm 又称为最大列绝对值和范数
​&lt;script type=&quot;math/tex&quot;&gt;\tag*{$\blacksquare$}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example 1.9 无穷范数&lt;/strong&gt; ​&lt;script type=&quot;math/tex&quot;&gt;\inf&lt;/script&gt;-norm 又称为最大行绝对值和范数
​&lt;script type=&quot;math/tex&quot;&gt;\tag*{$\blacksquare$}&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Frobenius 范数是一个非 induced 范数的矩阵范数的例子，定义如下。&lt;/p&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;\| {\bf A} \|_F = \sqrt{\sum^m_{i=1} \sum^n_{j=1}A^2_{ij}}, \; {\bf A} \in \Re^{m \times n} \tag*{$\blacksquare$}&lt;/script&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 16 Jul 2015 05:22:17 +0800</pubDate>
        <link>http://www.quxiaofeng.me/optimization/optimization/2015/07/16/introduction-to-nonlinear-optimization/</link>
        <guid isPermaLink="true">http://www.quxiaofeng.me/optimization/optimization/2015/07/16/introduction-to-nonlinear-optimization/</guid>
        
        
      </item>
    
      <item>
        <title>稀疏编码的优化问题</title>
        <description>&lt;p&gt;稀疏编码问题：  ​&lt;script type=&quot;math/tex&quot;&gt; \arg\min_x f(x)\left\|y-Ax\right\|^2+ \lambda\|x\|_1 &lt;/script&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;用 alternating minimization (ADM)&lt;/li&gt;
  &lt;li&gt;Primal-dual 算法&lt;/li&gt;
  &lt;li&gt;Soft threshold&lt;/li&gt;
&lt;/ul&gt;

&lt;!--more--&gt;

&lt;ul&gt;
  &lt;li&gt;字典学习 K-SVD&lt;/li&gt;
  &lt;li&gt;看完 K-SVD 之后，图像分类: Discriminative K-SVD for Dictionary Learning in Face Recognition (CVPR)，Label Consistent K-SVD Learning a Discriminative Dictionary for Recognition （TPAMI）；结构化稀疏: Robust Classiﬁcation using Structured Sparse Representation （CVPR）；低秩: Learning Structured Low-rank Representations for Image Classiﬁcation （CVPR）。&lt;/li&gt;
  &lt;li&gt;关于稀疏表示的已有算法的分析: A survey of sparse representation: algorithms and applications&lt;/li&gt;
  &lt;li&gt;参考林倞老师&lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt; &lt;a href=&quot;http://ss.sysu.edu.cn/~ll/&quot;&gt;林倞教授 中山大学计算机科学&lt;/a&gt;&lt;/span&gt; NIPS, ACML 和 ML 一系列工作的报告。基本上 ADM 及其扩展都介绍到了。&lt;/li&gt;
  &lt;li&gt;&lt;span class=&quot;newthought&quot;&gt;迭代优化&lt;/span&gt;&lt;/li&gt;
  &lt;li&gt;​&lt;script type=&quot;math/tex&quot;&gt;\sum_{i=1}^p\left\|y^{(i)}-A\cdot x^{(i)}\right\|_2^2 + \sum_{i=1}^p S\left(x^{(i)}\right) &lt;/script&gt;&lt;/li&gt;
  &lt;li&gt;凸的稀疏模型求基于 proximal operator 的 alternating minimization。参考 boyd 的文章。&lt;/li&gt;
  &lt;li&gt;An ADMM Solution to the Sparse Coding Problem: &lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt; &lt;a href=&quot;http://stanford.edu/class/ee364b/projects/2011projects/reports/bhaskar_zou.pdf&quot;&gt;http://stanford.edu/class/ee364b/projects/2011projects/reports/bhaskar_zou.pdf&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.eecs.berkeley.edu/~yang/software/l1benchmark/&quot;&gt;http://www.eecs.berkeley.edu/~yang/software/l1benchmark/&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;这篇文章 &lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt; &lt;a href=&quot;http://web.stanford.edu/~boyd/papers/prox_algs.html&quot;&gt;http://web.stanford.edu/~boyd/papers/prox_algs.html&lt;/a&gt;&lt;/span&gt; 从 proximal operator 角度讲解，更加深入一点。&lt;/li&gt;
  &lt;li&gt;南京大学何炳生老师的课程 &lt;sup class=&quot;sidenote-number&quot;&gt;4&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;4&lt;/sup&gt; &lt;a href=&quot;http://math.nju.edu.cn/~hebma/&quot;&gt;http://math.nju.edu.cn/~hebma/&lt;/a&gt;&lt;/span&gt;，讲得比较深入。&lt;/li&gt;
  &lt;li&gt;biconvex 问题，基本是个保证收敛的算法效果就还行。&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Thu, 21 May 2015 08:33:45 +0800</pubDate>
        <link>http://www.quxiaofeng.me/optimization/optimization/2015/05/21/solving-sparse/</link>
        <guid isPermaLink="true">http://www.quxiaofeng.me/optimization/optimization/2015/05/21/solving-sparse/</guid>
        
        
      </item>
    
      <item>
        <title>几个基本优化问题</title>
        <description>&lt;p&gt;可以用 ALM&lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;1&lt;/sup&gt; Augmented Lagrange Multiplier 增广拉格朗日乘子法&lt;/span&gt;, LP&lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;2&lt;/sup&gt; Linear Programming 线性规划&lt;/span&gt; 和 IRLS &lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;3&lt;/sup&gt; &lt;a href=&quot;http://www.robotics.stanford.edu/~ang/papers/aaai06-efficientL1logisticregression.pdf&quot;&gt;Iteratively Reweighted Least Squares&lt;/a&gt;&lt;/span&gt; 求解的四种基本优化问题&lt;/p&gt;

&lt;h3 id=&quot;question-1&quot;&gt;Question 1&lt;/h3&gt;

&lt;p&gt;&lt;span class=&quot;newthought&quot;&gt;least entropy &amp;amp; error correction&lt;/span&gt;&lt;/p&gt;

&lt;!--more--&gt;

&lt;ul&gt;
  &lt;li&gt;​&lt;script type=&quot;math/tex&quot;&gt; \arg \min \|x\|_1 + \|e\|_1 &lt;/script&gt; subj. to ​&lt;script type=&quot;math/tex&quot;&gt; y=Ax+e &lt;/script&gt;&lt;/li&gt;
  &lt;li&gt;标准 linear programming&lt;/li&gt;
  &lt;li&gt;鲁棒的 &lt;em&gt;SRC&lt;/em&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;4&lt;/sup&gt;&lt;span class=&quot;sidenote&quot;&gt;&lt;sup class=&quot;sidenote-number&quot;&gt;4&lt;/sup&gt; 参见 &lt;a href=&quot;http://research.microsoft.com/pubs/132810/PAMI-Face.pdf&quot;&gt;http://research.microsoft.com/pubs/132810/PAMI-Face.pdf&lt;/a&gt; and &lt;a href=&quot;http://perception.csl.illinois.edu/recognition/Home.html&quot;&gt;Face Recognition via Sparse Representation&lt;/a&gt;&lt;/span&gt;。使用单位矩阵作为遮挡字典，用标准形式求解。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;question-2&quot;&gt;Question 2&lt;/h3&gt;

&lt;p&gt;&lt;span class=&quot;newthought&quot;&gt;least energy &amp;amp; error correction&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;​&lt;script type=&quot;math/tex&quot;&gt; \arg\min \|x\|_2 + \|e\|_1 &lt;/script&gt; subj. to ​&lt;script type=&quot;math/tex&quot;&gt; y=Ax+e &lt;/script&gt;&lt;/li&gt;
  &lt;li&gt;鲁棒的 CRC&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;question-3&quot;&gt;Question 3&lt;/h3&gt;

&lt;p&gt;&lt;span class=&quot;newthought&quot;&gt;sparse regression with noise - lasso&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;​&lt;script type=&quot;math/tex&quot;&gt; \arg\min \|x\|_1 + \|e\|_2 &lt;/script&gt; subj. to ​&lt;script type=&quot;math/tex&quot;&gt; y=Ax+e &lt;/script&gt;&lt;/li&gt;
  &lt;li&gt;标准 lasso 问题&lt;/li&gt;
  &lt;li&gt;标准的 SRC&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;question-4&quot;&gt;Question 4&lt;/h3&gt;

&lt;p&gt;&lt;span class=&quot;newthought&quot;&gt;least energy with noise&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;​&lt;script type=&quot;math/tex&quot;&gt; \arg\min \|x\|_2 + \|e\|_2 &lt;/script&gt; subj. to ​&lt;script type=&quot;math/tex&quot;&gt; y=Ax+e &lt;/script&gt;&lt;/li&gt;
  &lt;li&gt;极小最小二乘解，可求广义逆。&lt;/li&gt;
  &lt;li&gt;CRC，用二范数约束表示系数，有解析解。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;弗罗贝尼乌斯范数-frobenius-norm&quot;&gt;弗罗贝尼乌斯范数 Frobenius norm&lt;/h3&gt;

&lt;p&gt;​&lt;script type=&quot;math/tex; mode=display&quot;&gt;
\| \mathbf{A} \|_F = \sqrt{\sum^m_{i=1} \sum^n_{j=1} \mid a_{ij} \mid^2} = \sqrt{trace(\mathbf{A}^* \mathbf{A})} = \sqrt{\sum^{\min\{m,n\}}_{i=1}\sigma^2_i}
&lt;/script&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 21 May 2015 06:53:20 +0800</pubDate>
        <link>http://www.quxiaofeng.me/optimization/optimization/2015/05/21/optimization-problems/</link>
        <guid isPermaLink="true">http://www.quxiaofeng.me/optimization/optimization/2015/05/21/optimization-problems/</guid>
        
        
      </item>
    
  </channel>
</rss>
