跳到主要内容

東京大学 情報理工学系研究科 コンピュータ科学専攻 2017年8月実施 専門科目II 問題5

Author​

祭音Myyura (co-authored with GPT 5.6 SOL)

Description​

Denote the set of real numbers with R\mathbb R and the absolute value of a real value ww with ∣w∣|w|. For a dd-dimensional real column vector w\boldsymbol w, we write its ii-th element as wiw_i, and define ∥w∥1=∣w1∣+∣w2∣+⋯+∣wd∣\|\boldsymbol w\|_1=|w_1|+|w_2|+\cdots+|w_d| and ∥w∥2=w12+w22+⋯+wd2\|\boldsymbol w\|_2=\sqrt{w_1^2+w_2^2+\cdots+w_d^2}. The transpose of w\boldsymbol w is written as w⊤\boldsymbol w^\top.

A vector g∈Rd\boldsymbol g\in\mathbb R^d is a subgradient of a convex function ff at x∈Rd\boldsymbol x\in\mathbb R^d if

∀z∈Rd,f(z)≥f(x)+g⊤(z−x)\forall\boldsymbol z\in\mathbb R^d,\quad f(\boldsymbol z)\ge f(\boldsymbol x)+\boldsymbol g^\top(\boldsymbol z-\boldsymbol x)

holds. The set of subgradients of a convex function ff at x\boldsymbol x, {g∈Rd∣∀z∈Rd, f(z)≥f(x)+g⊤(z−x)}\{\boldsymbol g\in\mathbb R^d\mid\forall\boldsymbol z\in\mathbb R^d,\ f(\boldsymbol z)\ge f(\boldsymbol x)+\boldsymbol g^\top(\boldsymbol z-\boldsymbol x)\}, is called the subdifferential of ff at x\boldsymbol x, and is denoted by ∂f(x)\partial f(\boldsymbol x). You may use the following facts (i), (ii) and (iii).

(i) A differentiable convex function f(x)f(\boldsymbol x) satisfies

∂f(x)={∇f(x)},∇f(x)=(∂f(x)/∂x1⋮∂f(x)/∂xd).\partial f(\boldsymbol x)=\{\nabla f(\boldsymbol x)\},\qquad \nabla f(\boldsymbol x)= \begin{pmatrix} \partial f(\boldsymbol x)/\partial x_1\\ \vdots\\ \partial f(\boldsymbol x)/\partial x_d \end{pmatrix}.

(ii) For convex functions f1f_1 and f2f_2, it holds that ∂(f1+f2)(x)={g1+g2∣g1∈∂f1(x), g2∈∂f2(x)}\partial(f_1+f_2)(\boldsymbol x)=\{\boldsymbol g_1+\boldsymbol g_2\mid \boldsymbol g_1\in\partial f_1(\boldsymbol x),\ \boldsymbol g_2\in\partial f_2(\boldsymbol x)\}. (iii) 0∈∂f(w∗)0\in\partial f(\boldsymbol w^*) is a necessary and sufficient condition that a convex function f(w)f(\boldsymbol w) is minimized by w=w∗\boldsymbol w=\boldsymbol w^*.

Answer the following questions.

(1) (a) For f(w)=∣w∣f(w)=|w| (w∈Rw\in\mathbb R), obtain ∂f(w)\partial f(w). (b) For f(w)=∥w∥1f(\boldsymbol w)=\|\boldsymbol w\|_1 (w∈Rd\boldsymbol w\in\mathbb R^d), obtain ∂f(w)\partial f(\boldsymbol w).

(2) For f(w)=12(w−z)2+β∣w∣f(w)=\frac12(w-z)^2+\beta|w| (w,z∈Rw,z\in\mathbb R, 0<β∈R0<\beta\in\mathbb R), obtain ∂f(w)\partial f(w). Also obtain w∗∈Rw^*\in\mathbb R that minimizes f(w)f(w).

(3) For f(w)=12∥w−z∥22+β∥w∥1f(\boldsymbol w)=\frac12\|\boldsymbol w-\boldsymbol z\|_2^2+\beta\|\boldsymbol w\|_1 (w,z∈Rd\boldsymbol w,\boldsymbol z\in\mathbb R^d, 0<β∈R0<\beta\in\mathbb R), obtain ∂f(w)\partial f(\boldsymbol w). Also, assuming that w=w∗∈Rd\boldsymbol w=\boldsymbol w^*\in\mathbb R^d minimizes f(w)f(\boldsymbol w), and letting jj be an integer satisfying 1≤j≤d1\le j\le d, obtain a necessary and sufficient condition for wj∗=0w_j^*=0.

Consider the problem of predicting one dimensional real-valued label y∈Ry\in\mathbb R from a dd-dimensional real vector x∈Rd\boldsymbol x\in\mathbb R^d. Suppose that a set of nn training samples

{(xi,yi)∣xi∈Rd, yi∈R, i=1,2,…,n}\{(\boldsymbol x_i,y_i)\mid\boldsymbol x_i\in\mathbb R^d,\ y_i\in\mathbb R,\ i=1,2,\ldots,n\}

is given where (xi,yi)(\boldsymbol x_i,y_i) means that yiy_i is the real-valued label of xi\boldsymbol x_i.

By using a dd-dimensional parameter w∈Rd\boldsymbol w\in\mathbb R^d, define a loss function as

L(w)=12n∑i=1n(yi−w⊤xi)2.L(\boldsymbol w)=\frac1{2n}\sum_{i=1}^n(y_i-\boldsymbol w^\top\boldsymbol x_i)^2.

We formulate the training of a predictor as the following optimization problem with a positive real value λ\lambda:

w∗=argmin⁡w∈Rd{L(w)+λ∥w∥1}.\boldsymbol w^*=\underset{\boldsymbol w\in\mathbb R^d}{\operatorname{argmin}} \{L(\boldsymbol w)+\lambda\|\boldsymbol w\|_1\}.

The following algorithm is known for obtaining the optimal solution w∗\boldsymbol w^*. It iteratively solves the optimization problem (†\dagger) from an initial value w(0)∈Rd\boldsymbol w^{(0)}\in\mathbb R^d and using the step size ηt>0\eta_t>0:

w(t+1)=argmin⁡w∈Rd{∇L(w(t))⊤(w−w(t))+λ∥w∥1+12ηt∥w−w(t)∥22},t=0,1,2,…(†)\boldsymbol w^{(t+1)} =\underset{\boldsymbol w\in\mathbb R^d}{\operatorname{argmin}} \left\{ \nabla L(\boldsymbol w^{(t)})^\top(\boldsymbol w-\boldsymbol w^{(t)}) +\lambda\|\boldsymbol w\|_1 +\frac1{2\eta_t}\|\boldsymbol w-\boldsymbol w^{(t)}\|_2^2 \right\}, \qquad t=0,1,2,\ldots \tag{†}

Answer the following question.

(4) Express a∈Ra\in\mathbb R using ηt\eta_t and λ\lambda such that wj(t)−ηt∂L∂wj(w(t))∈[−a,a]w_j^{(t)}-\eta_t\frac{\partial L}{\partial w_j}(\boldsymbol w^{(t)})\in[-a,a] is a necessary and sufficient condition for wj(t+1)=0w_j^{(t+1)}=0, where jj is an integer satisfying 1≤j≤d1\le j\le d.

题目描述​

以 R\mathbb R 表示实数集,∣w∣|w| 表示实数 ww 的绝对值。对实列向量 w∈Rd\boldsymbol w\in\mathbb R^d,以 wiw_i 表示第 ii 个分量,wT\boldsymbol w^{\mathsf T} 表示转置,定义 ∥w∥1=∑i=1d∣wi∣\|\boldsymbol w\|_1=\sum_{i=1}^d|w_i|、∥w∥2=(∑i=1dwi2)1/2\|\boldsymbol w\|_2=(\sum_{i=1}^dw_i^2)^{1/2}。若 g,x∈Rd\boldsymbol g,\boldsymbol x\in\mathbb R^d,且对所有 z∈Rd\boldsymbol z\in\mathbb R^d 都有

f(z)≥f(x)+gT(z−x),f(\boldsymbol z)\ge f(\boldsymbol x)+\boldsymbol g^{\mathsf T}(\boldsymbol z-\boldsymbol x),

则称 g\boldsymbol g 是凸函数 ff 在 x\boldsymbol x 处的次梯度;其集合记为 ∂f(x)\partial f(\boldsymbol x)。可以使用以下事实:可微凸函数的次梯度唯一且等于梯度; ∂(f1+f2)\partial(f_1+f_2) 是两个次梯度集合的 Minkowski 和;0∈∂f(w∗)0\in\partial f(\boldsymbol w^*) 是 w∗\boldsymbol w^* 最小化 ff 的充要条件。

(1)求(a)f(w)=∣w∣f(w)=|w|(w∈Rw\in\mathbb R)的 ∂f(w)\partial f(w);(b)f(w)=∥w∥1f(\boldsymbol w)=\|\boldsymbol w\|_1(w∈Rd\boldsymbol w\in\mathbb R^d)的 ∂f(w)\partial f(\boldsymbol w)。

(2)对 f(w)=12(w−z)2+β∣w∣f(w)=\frac12(w-z)^2+\beta|w|(w,z∈R,β>0w,z\in\mathbb R,\beta>0),求 ∂f(w)\partial f(w) 及最小点 w∗∈Rw^*\in\mathbb R。

(3)对 f(w)=12∥w−z∥22+β∥w∥1f(\boldsymbol w)=\frac12\|\boldsymbol w-\boldsymbol z\|_2^2+ \beta\|\boldsymbol w\|_1(w,z∈Rd,β>0\boldsymbol w,\boldsymbol z\in\mathbb R^d,\beta>0),求 ∂f(w)\partial f(\boldsymbol w);若 w∗∈Rd\boldsymbol w^*\in\mathbb R^d 为最小点,且 jj 为满足 1≤j≤d1\le j\le d 的整数,给出 wj∗=0w_j^*=0 的充要条件。

现由 x∈Rd\boldsymbol x\in\mathbb R^d 预测实值标签 y∈Ry\in\mathbb R,给定 nn 个训练样本 {(xi,yi)∣xi∈Rd, yi∈R, i=1,…,n}\{(\boldsymbol x_i,y_i)\mid\boldsymbol x_i\in\mathbb R^d,\ y_i\in\mathbb R,\ i=1,\ldots,n\},其中 yiy_i 是 xi\boldsymbol x_i 的标签。用参数 w∈Rd\boldsymbol w\in\mathbb R^d 定义损失并以带 ℓ1\ell_1 正则的最小二乘训练线性模型,其中 λ>0\lambda>0:

L(w)=12n∑i=1n(yi−wTxi)2,w∗=arg⁡min⁡w∈Rd{L(w)+λ∥w∥1}.L(\boldsymbol w)=\frac1{2n}\sum_{i=1}^n(y_i-\boldsymbol w^{\mathsf T}\boldsymbol x_i)^2, \qquad \boldsymbol w^*=\arg\min_{\boldsymbol w\in\mathbb R^d}\{L(\boldsymbol w)+\lambda\|\boldsymbol w\|_1\}.

从 w(0)∈Rd\boldsymbol w^{(0)}\in\mathbb R^d 出发,取步长 ηt>0\eta_t>0,迭代算法为

w(t+1)=arg⁡min⁡w∈Rd{∇L(w(t))T(w−w(t))+λ∥w∥1+12ηt∥w−w(t)∥22},t=0,1,2,….\boldsymbol w^{(t+1)}=\arg\min_{\boldsymbol w\in\mathbb R^d} \left\{ \nabla L(\boldsymbol w^{(t)})^{\mathsf T}(\boldsymbol w-\boldsymbol w^{(t)}) +\lambda\|\boldsymbol w\|_1 +\frac1{2\eta_t}\|\boldsymbol w-\boldsymbol w^{(t)}\|_2^2 \right\},\qquad t=0,1,2,\ldots.

(4)设 jj 为满足 1≤j≤d1\le j\le d 的整数,用 ηt\eta_t 和 λ\lambda 表示 a∈Ra\in\mathbb R,使

wj(t)−ηt∂L∂wj(w(t))∈[−a,a]w_j^{(t)}-\eta_t\frac{\partial L}{\partial w_j}(\boldsymbol w^{(t)}) \in[-a,a]

成为 wj(t+1)=0w_j^{(t+1)}=0 的充要条件。

Kai​

(1)​

∂∣w∣={{−1},w<0,[−1,1],w=0,{1},w>0.\partial|w|= \begin{cases} \{-1\},&w<0,\\ [-1,1],&w=0,\\ \{1\},&w>0. \end{cases}

并且

∂∥w∥1={g∈Rd∣gi∈∂∣wi∣ (i=1,…,d)}.\partial\|\boldsymbol w\|_1 =\{\boldsymbol g\in\mathbb R^d\mid g_i\in\partial|w_i|\ (i=1,\ldots,d)\}.

(2)​

∂f(w)=w−z+β ∂∣w∣.\partial f(w)=w-z+\beta\,\partial|w|.

由 0∈∂f(w∗)0\in\partial f(w^*),得软阈值解

w∗=sgn⁡(z)(∣z∣−β)+={z−β,z>β,0,∣z∣≤β,z+β,z<−β.w^*=\operatorname{sgn}(z)(|z|-\beta)_+ =\begin{cases} z-\beta,&z>\beta,\\ 0,&|z|\le\beta,\\ z+\beta,&z<-\beta. \end{cases}

(3)​

∂f(w)=w−z+β ∂∥w∥1.\partial f(\boldsymbol w) =\boldsymbol w-\boldsymbol z+\beta\,\partial\|\boldsymbol w\|_1.

各坐标相互独立,故

wj∗=0⟺∣zj∣≤β.w_j^*=0\quad\Longleftrightarrow\quad |z_j|\le\beta.

(4)​

令

qj=wj(t)−ηt∂L∂wj(w(t)).q_j=w_j^{(t)}-\eta_t\frac{\partial L}{\partial w_j}(\boldsymbol w^{(t)}).

配方后,每个坐标的子问题是 12ηt(wj−qj)2+λ∣wj∣\frac1{2\eta_t}(w_j-q_j)^2+\lambda|w_j|,由(2)知

wj(t+1)=0⟺∣qj∣≤ηtλ.w_j^{(t+1)}=0 \Longleftrightarrow |q_j|\le\eta_t\lambda.

因此 a=ηtλ\boxed{a=\eta_t\lambda}。