[读书笔记] MIT Optimization for Machine Learning/Chapter 2.2-2.3

$2.2 一般方法

次梯度方法

转化成普通的LP,SDP问题

这类general方法对1范数问题本身的结构没有挖掘,所以收敛速度较慢。
LP、SDP等方法过于追求优化精度,在机器学习领域其实不重要。重要的求一个合理的解,满足实际问题即可。

$2.3 Proximal方法

是不是指解原始问题的方法?
请教了一下组内的算法大牛,这个方法的鼻祖应该是nesterov http://www.ecore.be/DPs/dp_1191313936.pdf

ISTA算法
$$Q(x,y) = f(y) + + L/2||x-y||^2 + g(x)$$
$$F(x) = f(x)+g(x)$$
$$P_L(y) = argmin_x Q_L(x,y) = argmin_x ||x-(y-dy/L)||^2 + 2/L g(x)$$
基本思想是把f在局部用二次函数替代,1范数约束变成一个“投影”问题。且这个“投影”问题可以转换成对偶形式。如果对偶形式比较好解,“投影”问题也相应的好解。于是迭代过程包含两步:

  1. 寻找局部二次函数,在不计算jacard矩阵的情况下
  2. 针对局部二次函数的最优解,寻找其在1范数约束下的投影
    迭代步骤:选一个初始的L和上一轮的迭代结果w_t


    于是令,求解如下“投影”问题

    设其最优解为w^*, 代入局部二次拟合式,若如下条件满足则本轮迭代结束;否则增大L,repeat上述过程

    注:总存在一个足够大的L,使得上述一轮迭代可以结束
    该方法常规的收敛速度是O(1/t),改进后的FISTA算法可以达到O(1/t^2)

FISTA算法
FISTA资料:http://iew3.technion.ac.il/~becka/papers/71654.pdf
FISTA与ISTA的区别是,ISTA有上一轮的结果计算下一轮的投影;而FISTA用前两轮的迭代结果的线性组合来进行下一轮的投影
图中P_L(y)指问题2.12的解


投影问题的求解
Lemma 2.3:
其对偶问题为
且两个问题的最优解w^* + v^* == u
符号:记Proj_{\mu\Omega}(u) := w^*, Proj_{\Omega^(.)\leq\u}(u) := v^
proof: f(w)=1、2 ||w-u||^2, 其对偶形式f(v)=1/2||v||^2 + < v,u > = 1/2(||v+u||^2-||u||^2)
根据prop2.2,有
max_{v\in\mathbb{R}} -1/2||v+u||^2 = max_{v\in\mathbb{R}} -1/2||v-u||^2
s.t. \Omega^
(v) \leq \mu
等式前后是用-v替换了v,由于v的定义域,这个替换是可行的。
进一步的,对2.16的解-v^* = \nabla f(w^) = w^-u, 即w^* + v^* == u

根据该Lemma,求投影问题几乎等价于求其对偶问题。这在某些情况下对计算能带来不少方便。

举例

  • l1 norm
  • l1 norm限制,||w||_1 \leq C
  • l1/lq norm,group lasso问题
  • Hierarchical l1/lq norm,范数限制对w的分割成树结构,对w的两个分割集要么不交,要么一个包含另一个
  • Combined l1 + l1/lq norm, 这是Hierarchical l1/lq norm的一种特殊形式
    以上几种形式都可利用其对偶投影问题,得出原始投影问题的解的表达式。

Bregmen方法?
http://www.eecs.berkeley.edu/~brecht/eecs227cdocs/tseng.pdf

你可能感兴趣的:(数学,机器学习,数据挖掘,优化)