$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) +<x-y,dy> + 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范数约束变成一个“投影”问题。且这个“投影”问题可以转换成对偶形式。如果对偶形式比较好解,“投影”问题也相应的好解。于是迭代过程包含两步:
- 寻找局部二次函数,在不计算jacard矩阵的情况下
- 针对局部二次函数的最优解,寻找其在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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。