正則化のモチベーション（Ridge,Lasso）

仕事で正則化について調べていて、自分が求めている記事を見つけられなかったので自分で書きます。

またしても自分用のメモというところですね。。。

今回の記事では発展的な内容には触れず、あくまで基本的な事項についてまとめていきます。

スパース推定法における発展的な内容については、[スパース推定法による統計モデリング(川野,松井,廣瀬)](https://www.kyoritsu-pub.co.jp/bookdetail/9784320112575)を読むととても勉強になると思います。

# Summary

まず、全体的な話がどうなっているのかを書いておきます。

みんな大好き最小二乗法による線形回帰は、[ある条件の下で、ある種の最適性を持ちます](https://qiita.com/greatonbi/items/0323d420af46d3ed9183#%E3%82%AC%E3%82%A6%E3%82%B9%E3%83%9E%E3%83%AB%E3%82%B3%E3%83%95%E3%81%AE%E5%AE%9A%E7%90%86)。

これがみんな大好きな理由なのですが、最小二乗推定量 $\hat{\beta}=(X^TX)^{-1}X^Ty$ はいつでも求まるわけではありません。具体的には、$X^TX$ が正則でない（逆行列を持たない）場合が挙げられます。

このうな場合でもひと工夫することによって、解が求まるようにすることができます。

例えば、2乗誤差に $L_2$ ノルムを加えてあげることなどが考えられます（$Ridge$ 回帰）。こうすると推定量は $\hat{\beta}^{Ridge}=(X^TX+\lambda I)^{-1}X^Ty$ と求められ、この推定量は $\lambda > 0 $ に対して常に正則となります(【13】川野秀一,松井秀俊,廣瀬慧(2018))。

つまり $Ridge$ 回帰は、正則でないものを正則にしているというわけです。これが正則化といわれる所以です。

さて、$Ridge$ 回帰の場合は $L_2$ ノルムを二乗誤差に加えましたが、別に $L_2$ ノルムのにこだわる必要もなさそうだと想像できます。実際、$L_2$ ノルムの代わりに $L_1$ ノルムを使ったものを $Lasso$ 回帰といいます。

この $Lasso$ には、いくつかの係数をぴったり0にする性質があります。そして、0と推定された係数は目的変数に寄与しないと解釈することができ、このような推定方法をスパース推定と呼びます。

というような流れで書いていきます。
（制約付き最適化問題との等価性とか、 $Lasso$ の計算アルゴリズムとか、・・・とか、・・・とか、色々あるのですが、ここでは初歩の初歩だけという感じです。）

# 線形回帰

統計学において正則化を考える上でどう考えていくと受け入れやすいのか考えてみたところ、たぶん線形回帰からスタートした方がいいんだろうなと思ったのでここからいきます。

線形回帰モデル

```math
f(X)=X\beta+\varepsilon
```

について考えます。ここで $X$ は入力(計画行列とも呼ばれます)で、
<br>

```math
X = \left(
\begin{array}{cccc}
1 & x_{11} & \cdots & x_{1p}\\\

\vdots & \vdots & \ddots & \vdots \\\
1 & x_{n1} & \cdots & x_{np}
\end{array}
\right) 
```
<br>
と書くことができ、$\beta = (\beta_0\,,\,\beta_1\,,\,...\,,\,\beta_p)^T$ はパラメータベクトル(係数ベクトルとも言います)。

また、$\varepsilon = (\varepsilon_1\, \ \varepsilon_1\ \, \...\, \ \varepsilon_n)^T$ は誤差ベクトルであり、$i=1,2,...,n$ に対して以下を満たすものとします。

$\ 1 \ )$ 不偏性：$E \ [ \ \varepsilon _i \ ]=0$

$\ 2 \ )$ 等分散性：$V \ [ \ \varepsilon_i \ ]=\sigma^2$

$\ 3 \ )$ 無相関性：$Cov \ [\ \varepsilon_i \ , \varepsilon_j \ ]=0 \ \(\ i≠j \ )$

<br>
ちなみに誤差分布に正規分布を仮定した場合は、正規線形モデルと呼ばれます。

さて、訓練データ $(\ x_1 \ ,\ y_1 \ ) \ , \ (\ x_2 \ , \ y_2 \ ) \ , ..., \ ( \ x_n \ , \ y_n \ )$ から線形回帰モデルのパラメータ$\beta$ を求めていきます。方法はいくつか考えられますが、今回は最小二乗法を使うことにします。最小二乗法とは残差平方和
<br>
$\ \ RSS(\ \beta\ )=(y-X\beta)^T(y-X\beta)$
<br>
を最小化するような $\beta$ を求める手法です。この$RSS$ は $p+1$ 個の変数からなる2次関数です。これを$\beta$ に関して偏微分して $0$ とおくと次のように $\beta$ が求まります。

まず$RSS$ を $\beta$ に関して偏微分すると次のようになります。
<br>

```math
\begin{eqnarray}
\frac{\partial}{\partial\beta}RSS(\beta)&=&\frac{\partial}{\partial\beta}\,(y-X\beta)^T(y-X\beta)\\
\\
&=& \frac{\partial}{\partial\beta}\,(y^T-\beta^TX^T)(y-X\beta)\\
\\
&=& \frac{\partial}{\partial\beta}\,(y^Ty-y^TX\beta-\beta^TX^Ty+\beta^TX^TX\beta)\\
\\
&=& -X^Ty-(y^TX)T+2X^TX\beta\\
\\
&=& -2X^Ty+2X^TX\beta
\end{eqnarray}
```

<br>
これを $0$ とおくと、

$\ X^Ty=X^TX\beta$

が得られます。もし、$X^TX$ が正則であれば、左から $(X^TX)^{-1}$ をかけることによって、

$\ \hat{\beta}=(X^TX)^{-1}X^Ty$

を得ます。そしてこの推定量は先に述べた $\varepsilon$ の条件下で、ある種の最適性を持ちます。

<br>
# ガウス＝マルコフの定理

ある種の最適性が何かというと、それは「パラメータ $\beta$ の最小2乗推定量は、あらゆる線形不偏推定量の中で最も小さい分散を持つ」というものです。これをガウス＝マルコフの定理といいます。

※最近、ガウスマルコフの定理の条件のうち、線形性の仮定を外せるということが証明されたらしいです。詳しく知りたい方は、**[こちら](https://www.ssc.wisc.edu/~bhansen/papers/gauss.html)**を参照してください。

### ◆定義：推定可能関数
　線形モデル $y=X\beta+\varepsilon$ のパラメータに関する線形式 $a^T\beta$ で、$y$ の線形式からなる不偏推定量が存在するものを推定可能関数という。数学っぽい定義の仕方を読みたい方は[線形推測論(pdf直リンク)](https://www.ms.u-tokyo.ac.jp/~nakahiro/lec17/modelmon/workbook2.pdf)を参照ください。


### ◆定理：ガウス＝マルコフの定理
　線形モデル $y=X\beta+\varepsilon$ に関するパラメータ $\beta$ の推論を推定可能関数 $a^T\beta$ に絞ります。この時、線形モデルに関する任意の推定可能関数 $a^T\beta$ について $a^T \hat{\beta}$ が一意に**BLUE**(最良線形不偏推定量)を与える。ただし、$\hat{\beta}=(X^TX)^{-1}X^Ty$ 

※線形不偏推定量の中で、全てのパラメータに対してその分散が最小のものを**BLUE**(最良線形不偏推定量)という。

<details><summary><font color="Blue">証明（ここをクリック）</font></summary>
<div>**①不偏性**</div>
任意の線形式 $a^T\beta$ に対し、 $a^T \hat{\beta}=a^T(X^TX)^{-1}X^Ty$ を構成すると、その期待値は<div>

```math
\begin{eqnarray}
E[\,a^T(X^TX)^{-1}X^Ty\,]&=&a^T(X^TX)^{-1}X^TE[\,y\,]\\
\\
&=&a^T(X^TX)^{-1}X^TX\beta\\
\\
&=&a^T \beta
\end{eqnarray}
```
</div>
よって、$a^T \hat{\beta}$ は $a^T\beta$ の不偏推定量。
<div></br></div>
<div>**②最小分散**</div>
$a^T \hat{\beta}$ 以外の $a^T\beta$ の線形不偏推定量を $c^Ty$ とする。$a^T \hat{\beta}$ と $c^Ty$ の差分を<div>

```math
a^T \hat{\beta} - c^Ty = \{a^T(X^TX)^{-1}X^T-c^T\}y \equiv L^Ty

```
</div>
とおく。これの期待値は、<div>

```math
\begin{eqnarray}
E[\,L^Ty\,]&=&E[\,L^T\{X\beta + \varepsilon \}\,]\\
\\
&=&E[\,L^TX\beta\,]+E[\,L^T\varepsilon\,]\\
\\
&=&E[\,L^TX\beta\,]\\
\\
&=&E[\,\{a^T(X^TX)^{-1}X^T-c^T\}X\beta\,]\\
\\
&=&E[\,a^T \hat{\beta} - c^Ty\,]\\
\\
&=&E[\,a^T \hat{\beta}\,]-E[\,c^Ty\,]\\
\\
&=&a^T\beta-a^T\beta\\
\\
&=&0
\\
\end{eqnarray}
```
</div>
ところで、<div>

```math
\begin{eqnarray}
E[\,L^Ty\,]&=&L^TE[\,y\,]\\
\\
&=&L^TE[\,X\beta + \varepsilon\,]\\
\\
&=&L^TX\beta\\
\\
\end{eqnarray}
```
</div>
であるから、$L^TX\beta=0$ が任意の $\beta$ について成り立たねばならない。従って、$L^TX=0$。
ここで、<div>

```math
\begin{eqnarray}
V[\,c^Ty\,]&=&V[\,a^T\hat{\beta}-L^Ty\,]\\
\\
&=&V[\,a^T\hat{\beta}\,]-2Cov(a^T\hat{\beta}\,,\,L^Ty)+V[\,L^Ty\,]\\
\\
&=&V[\,a^T\hat{\beta}\,]-2Cov(a^T(X^TX)^{-1}X^T\,,\,L^Ty)+V[\,L^Ty\,]\\
\\
\end{eqnarray}
```
</div>また、<div>

```math
\begin{eqnarray}
Cov(a^T(X^TX)^{-1}X^T\,,\,L^Ty)&=&a^T(X^TX)^{-1}X^TLCov(y\,,\,y)\\
\\
&=&a^T(X^TX)^{-1}X^TL\sigma^2\\
\\
&=&0\;\;\;,\;(\because L^TX=0)
\\
\end{eqnarray}
```
</div>
よって、<div>

```math
V[\,c^Ty\,]=V[\,a^T\hat{\beta}\,]+V[\,L^Ty\,]
```
</div>
となる。分散は非負であるから、<div>

```math
V[\,c^T\beta\,]≥V[\,a^T\hat{\beta}\,]
```
</div>
①,②より、$a^T\hat{\beta}$ は**BLUE**である。■
</details>

これは統計学で非常に有名な定理です。

さて、この $\hat{\beta}=(X^TX)^{-1}X^Ty$ はいつでも求まるのでしょうか？例えば説明変数間の相関が非常に大きいときなどはどうでしょう？

<br>

# 正則ってなんだ

実は最小2乗推定量 $\hat{\beta}=(X^TX)^{-1}X^Ty$ は、いつどんな時でも求まるというというものではありません。

 $\hat{\beta}$ を計算するためには、$(X^TX)^{-1}$ を計算しなければいけないのですが、$X^TX$ はいつでも逆行列を持つわけではないからです。

大学1年時の線形代数の授業で、『正方行列 $A$ に対して、$AB=I$ かつ $XB=I$ を満たす正方行列 $B$ が存在する時、$A$ を正則行列と呼び、$B$ を逆行列と呼んで $A^{-1}$ と表す』ということを習ったと思います。

では、どんな時に行列 $A$ は特異行列(正則行列でない)になるかというと、例えば、

**<font color="Red">・説明変数間の相関が非常に強い時(多重共線性)</font>**

**<font color="Red">・説明変数の数 $p$ が、サンプルサイズ $n$ を超えている。</font>**

というような状況が考えられます。

(話がちょっと混ざっているので補足します。)

<details><summary><font color="Blue">補足：線形代数で習う正則性の判定（ここに隠れてます）</font></summary><div>
$N$ 次正方行列に対して、次の4つは同値。

$\ \ 1)$ $A$ は正則行列

$\ \ 2)$ $rank(A)=N$

$\ \ 3)$ $A$ の階段行列が単位行列

$\ \ 4)$ $|A|≠0$
</div></details>

<details><summary><font color="Blue">補足：多重共線性とは...</font></summary>
『説明変数のうちいくつかが相互に関連しており、そのため単独の影響を分離したり、効果を測定することが、不可能でないにしても困難な状態』(Goldberger(1968))
※多重共線性を発見する方法をMansfield(1982)が整理しています。詳しくは[吉田光雄(1987)(pdf直リンク)](https://ir.library.osaka-u.ac.jp/repo/ouka/all/9749/hs13-227.pdf)がわかりやすいです。
</details>

もう少し補足したいのですが、ちょっとmarkdownで書くのが面倒だったので昔作った資料をスクショして代用。。。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/1c36e806-3217-6b8c-e768-9cc8a090cdc7.png)

というような具合で、多重共線性という問題が起こります。

<br>

# 特異なデータに遭遇した場合の対処法
特異なデータに遭遇した場合、対処法はいくつかあります。例えば、

　・観測地の吟味・・・異常値の除去、新しいサンプルの追加、異質サンプルの分離等
　・説明変数の選択・・・一次従属の関係にある変数の削除、新しい変数の追加等
　・損失関数に正則化項を追加する・・・Ridge、Lasso等

今回は3つ目の正則化について考えます(前置きが随分長くなってしまった...)。

このような修正が正則化と呼ばれるのが何故かというのはすぐに分かります。

# 実際に問題になるケースは相関が非常に高い場合
実際のデータでは説明変数どうしが完全に線形の関係にあるケースというのは滅多にお目にかかれるものではありません。なので実際に問題になるのは、データが完全に相関しているわけではなく、相関が非常に高いケースということになります。

どんな問題があるのかというと、相関が高い説明変数の回帰係数の推定が非常に不安定になるという問題が起こります（後日詳細な説明を加えます。）



# ◆Rigde回帰
さて、損失関数に正則化項を追加して特異であるという問題を解決するとは具体的にどうするのがよいでしょうか？

**Ridge**回帰と呼ばれる方法では、2乗誤差に $L_2$ ノルムを加えることによって対処します。つまり、
<br>

```math
\min_{\beta} \:(y-X\beta)^T(y-X\beta)+\lambda\, \beta^T \beta
```
<br>
という最小化問題を解くことによって、パラメータ $\beta$ の値を推定します。

この問題の解は解析的に求めることができます。
<br>

```math
\begin{eqnarray}
\frac{\partial}{\partial\beta}(y-X\beta)^T(y-X\beta)+\lambda\, \beta^T \beta &=&\frac{\partial}{\partial\beta}\,(y^Ty-y^TX\beta-\beta^TX^Ty+\beta^TX^TX\beta)+2\,\lambda\,\beta\\
\\
&=& -X^Ty-(y^TX)T+2X^TX\beta+2\,\lambda\,\beta\\
\\
&=& -2X^Ty+2X^TX\beta+2\,\lambda\,\beta
\end{eqnarray}
```

これを $=0$ とおくと、
<br>
$\  $$-2X^Ty+2X^TX\beta+2\lambda\beta = 0$

$\ $$(X^TX+\lambda I)\beta =X^Ty$

$\ $$∴\ {\hat{\beta}}^{Ridge}=(X^TX+\lambda I)^{-1}X^Ty$
<br>
というように求まります。ただし、$I$ は$p×p$ の単位行列です。

しかも、この $(X^TX+\lambda I)^{-1}$ は、$X^TX$ が特異な場合でも正則となります。これが正則化と呼ばれる由縁です。

※正則になることの証明は[スパース推定法による統計モデリング(川野,松井,廣瀬)](https://www.kyoritsu-pub.co.jp/bookdetail/9784320112575)の付録を参照ください(疲れてきた)。

**Ridge**回帰は、元々多重共線性の問題を回避する方法として提案された手法ですが、最近では過学習を防ぐ方法として見ることが多いですね。

# ◆Lasso回帰
**Lasso**回帰では最小2乗誤差に $L_1$ ノルムを加えることによって、スパース推定(今回の場合、いくつかの係数を0にする)を可能にします。

このように**Lasso**回帰の特徴は、変数選択とパラメータ推定を同時にできることにあります。

元々**Lasso**回帰はTibshirani(1996)によって、以下の最小化問題を解くことで与えられました。
<br>

```math
\min_{\beta} \:(y-X\beta)^T(y-X\beta) \;\;\;\;\;,\;\;\;\;\;subject\,\,\, to\,\,\, ||\beta||<\lambda
```
<br>

その後、Osbourne,Presnell and Turlach(1999)で、この制約付き推定問題と以下の罰則付き推定問題が等価な問題であることが示されました。
<br>

```math
\min_{\beta} \:(y-X\beta)^T(y-X\beta)+\lambda \, |\beta|
```
<br>
よく見るとRidgeと同じような形をしていますね。

ただし、Lasso回帰はRidge回帰と違ってその非線形性から解析的な解を得ることができません。

このため、2次計画問題を解く必要があります。


<br>

# RidgeとLassoの直感的理解と比較

**Ridge**も**Lasso**もなんだか似ているような気がして違いが分かりませんねぇ～。。。

ここでは簡単にではありますが**Ridge**と**Lasso**の違いを列挙します。

その前に各々について直感的な理解の助けとして、幾何的な解釈の図を紹介します。

まずはRidgeから(今回はパラメータが2つの場合で)、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/c28465af-830c-bc58-f053-dfd165450489.png)

よく見る図なのですが、私は最初これの意味がよくわからず。。。

まぁ、単純に理解不足が原因だったのですが、理解不足の人でもわかりそうな図はこんな感じかなぁと書いてみました(PPTで図形ガチャガチャ組み合わせただけですが。。。)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/f45882a5-ffb7-3668-dff1-fcd8d163b378.png)

作った時期が違うので、名前が残差平方和と2乗誤差関数になっていますが同じものです(疲れたよパトラッシュ…)。

図を見て考えて理解するという思考フローから、図を見て理解すると考えるを省いただけなのですが、案外理解のしやすさは大きく違うものです。いや、同じものやんというのはごもっともなのですが。。。

見てわかるようにRidgeでは最小2乗解が0の方向へ縮小されています。Lassoも見てみましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/ac47c11b-a100-37dd-bc19-95d2cd5cb1aa.png)

これも3次元にするとこんな感じ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/41f51e56-bae0-8b59-d4a1-8af13ceb80a5.png)

Ridgeと同じように最小2乗解が0の方向へ縮小されています。

Lassoで特徴的なのは、Ridgeに比べてスパースな解を与えやすいというものがあります。

これは、係数のうちいくつかを0にするというものです。

ちなみにRidgeでは係数の推定値が厳密に0になる確率は0らしいです

(これについては未だにちゃんと理解できていないです...)
(たぶんRidgeで係数の推定値が0となるためには、2乗誤差関数の等高線(楕円)の接線と制約条件を満たす領域の境界線(円)も接線が一致する必要があり、そうなる楕円と円の組み合わせがP-零集合だということだと思うのですが実際よくわかっていません)


<br>

# 正則化
さて、先ほどの**Ridge**回帰や**Lasso**回帰を一般化してみましょう。

最小2乗法における損失関数($RSS$：残差平方和)に正則化項として $L_p$ノルムを加え、新たに損失関数を以下のように定めます。
<br>

```math
L_\lambda (\,\beta\,)=RSS(\,\beta\,)+\lambda \,||\beta||^p
```

<br>
ここで、$||\beta||^p$ は $\beta$ の $L_p$ノルムであり、$\lambda \, (0≤\lambda<\infty)$ は相対的な重要度を調整する正則化パラメータです。

この損失関数を最小化することによってパラメータ $\beta$ を推定することを**bridge推定**と呼びます。

もう少し一般化できそうですね。正則化項として $L_p$ノルムに限らず一般の実数値関数 $P(\,\beta\,)$ にすれば、
<br>

```math
L_\lambda (\,\beta\,)=RSS(\,\beta\,)+\lambda P(\,\beta\,)
```

<br>
というように書くことができます。やはり、$\lambda \, (0≤\lambda<\infty)$ は相対的な重要度を調整する正則化パラメータです。


例えば、$P(\beta)=\alpha|||\beta||+(1-\alpha)||\beta||^2$ と置いたものは**Elastic Net**と呼ばれます。これはLassoのスパース性とRidgeの安定性を併せ持つハイブリッドな推定法です。
元々の損失関数も2乗誤差関数でなくてもいいですね。
<br>

```math
L_\lambda (\,\beta\,)=l(\,\beta\,)+\lambda P(\,\beta\,)
```

<br>
こうすれば色々なものに応用することができそうです。実際たくさんの手法で使われています。

<br>

# 例
Rのglmnetで解析しようと思うのですが、ぶっちゃけパッケージの使い方は他の記事がいいのでそちらを見てください。

ここではアメリカの犯罪データを解析してみます。

データは[ここから](https://web.stanford.edu/~hastie/StatLearnSparsity_files/DATA/crime.html)ダウンロード。

データの説明は書いてありますが一応ここでも。。。
(最近英語読んでなかったからこんな簡単な奴でも怪しい)

$X_1$ = total overall reported crime rate per 1 million residents
居住者100万人当たりの犯罪者数

$X_2$ = reported violent crime rate per 100,000 residents
居住者10万人当たりの暴力犯罪率の報告

$X_3$ = annual police funding in $/resident
警察官の年間給与

$X_4$ = % of people 25 years+ with 4 yrs. of high school
25歳以上のうち高校を卒業した人口の割合

$X_5$ = % of 16 to 19 year-olds not in highschool and not highschool graduates.
16～19歳のうち高校に通っていない(もしくは卒業していない)人の割合

$X_6$ = % of 18 to 24 year-olds in college
18～24歳のうち大学生の割合

$X_7$ = % of people 25 years+ with at least 4 years of college
25歳以上のうち4年制大学を卒業した人の割合

今回は $X1$ を $X3 ～ X7$ で予測する問題を考えます。

私は普通のglmnetのglmnet(y=x,・・・)みたいな書き方があまり好きではなくglmnet(y~x,・・・)みたいに書きたいわがまま坊主なのですが、[ホクソエムさんの記事](https://qiita.com/hoxo_m/items/83e89dca392fa7afe69a)に救われました。

さてとそれでは。。。

```R
install.packages("glmnet")
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/b2d722e1-9f36-7821-3043-f8198fcb69b6.png)

(・ω・)ふむ。

```R
install.packages("glmnetUtils")
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/b2d722e1-9f36-7821-3043-f8198fcb69b6.png)

(・ω・)ふむ。

別に大した事やろうと思ったわけではないのでいいのだけど、これは後で直しておかなくちゃなぁ。。。

というわけで、今回はいったんコードはなしで。。。

直したら追記するよ(・∀・)

<br>
#まとめ
■ 最小2乗法

線形回帰における係数パラメータを最小二乗法によって求めると

$\ \hat{\beta}=(X^TX)^{-1}X^Ty$

となり、ある条件の下でBLUEとなる。
<br>

■ **Ridge**

$\ \hat{\beta}=(X^TX)^{-1}X^Ty$

はいつでも計算できるわけではなく計算するためには、$X^TX$ が正則でなくてはならない。$X^TX$ が特異(正則じゃない)な時は計算できないのだけど、2乗誤差損失に $L_2$ ノルムを加えてあげることで、

$\  $${\hat{\beta}}^{Ridge}=(X^TX+\lambda I)^{-1}X^Ty$

というように計算することができるようになる。

しかもRidgedeha最小二2乗解が0の方向に縮小される。

ただし、係数の推定値が厳密に0になる確率は0.
<br>

■ **Lasso**
$L_2$ ノルムを $L_1$ ノルムに変えたものをLassoと呼ぶ。

Lassoでは解析解が求まらないため、2次計画問題を解く必要がある。

Lassoの解もRidgeの解と同じように最小二2乗解を0の方向に縮小する。

ただし、Lassoの場合は正則化パラメータの値によっては、係数の推定値のいくつかを0にする。

つまり、変数選択とパラメータ推定を同時に行うことができる。

<br>

# 感想
思っていたよりも書くのに時間がかかってしまった。しかも途中から疲れてきて後半はやや雑な感じに。。。

ちょこちょこ更新して整えていく必要がありそうですね。

今回の記事では汎化性能がどうとか、推定アルゴリズムがどうとか、固有値分解や特異値分解との関係はどうとかって話はしていないので、気が向いたらそういうのも書いてみますかね。需要があればの話ですが。。。

あとはRの諸々を直さないとですね。


<br>

# おまけ
もう文章を書く気力がないので昔作ったもので有用そうなものをぺたぺたしていきます。。。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/a45b03de-b9c9-038b-3dc2-e82c60e00e3f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/4f7fe2b3-dedd-ebad-29c3-eee33b34e6e7.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/1896c935-3206-95a5-27f1-dc214fabd9d5.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/bb734d4f-f547-37f3-70e3-67ce736f1d6a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/b7b64401-628d-7a4e-791f-afbffdaf81b3.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296113/cbbe1008-e932-b7c6-b1c8-4ab90ee390f6.png)

# ★参考文献

【1】川野秀一：Bridge 回帰モデリングにおけるモデル選択問題, Japanese Society of Computational Statistics(2017) 
【2】松井秀俊,川野秀一：ロジスティックモデルに対するスパース正則化,Japanese Society of Computational Statistics(2014)
【3】泰幸伸,行實隆弘,廣瀬英雄：オークションの価格モデル,REAJ誌(2010)
【4】亀岡弘和,小野順貴,柏野邦夫,嵯峨山茂樹：複素NMF:新しいスパース信号分解表現と規定系学習アルゴリズム,日本音響学会講演論文集(2008)
【5】吉田光雄：重回帰分析における多重共線性とRidge回帰について,大阪大学人間科学部紀要. 13 P.227-P.242(1987)
【6】田中利幸:圧縮センシングの数理,IEICE Fundamentals Review(2010)
【7】鈴木大慈:スパース推定概観,統計連合大会＠東京大学 資料(2014)
【8】川野秀一,廣瀬慧,立石正平,小西貞則：回帰モデリングとL_1 正則型正則化法の最近の展開,日本統計学会誌(2010)
【9】長塚豪己：L^𝑝正則化法-Lassoを中心に-,REAJ誌(2009)
【10】中島光夫,津川翔,山本幹雄：トピックモデルを用いたソーシャルメディアからの市場シェア予測,FIT2014(2014)
【11】小林雄一郎,天笠美咲,鈴木崇史：語彙指標を用いた流行歌の通時的分析
【12】庄野宏,村田圭助,中島広樹,矢野浩一,西広海：スパースモデリングによる赤潮の発生予測,日本水産学会誌(2017)
【13】川野秀一,松井秀俊,廣瀬慧：スパース推定法による統計モデリング,共立出版(2018)
【14】村上正康,佐藤恒雄,野澤宗平,稲葉尚志：教養の線形代数,培風館(1977)
【15】土居正明：セミパラメトリックモデルとは, 
【16】青島誠,矢田和善：高次元データの統計的方法論,日本統計学会誌(2013)
【17】大森敏明：使える！統計検定・機械学習-V回帰問題への機械学習的アプローチ-～スパース性に基づく回帰モデリング～,システム/制御/情報/vol.59/No.4/pp151−156(2015)
【18】本間希樹,笹田真人,田崎文得,秦和弘,倉持一輝,秋山和徳,池田思朗,植村誠,木邑真理子,加藤太一,野上大作：スパースモデリング天文学 — ブラックホール撮像から時間変動現象まで,科学研究費補助金 新学術領域研究「スパースモデリングの深化と高次元データ駆動科学の創成最終成果報告会(2017)
【19】和田山正：圧縮センシングの理論とその展開,名古屋工業大学,http://ibisml.org/ibis2010/session/ibis2010wadayama.pdf
【20】Wikipedia：https://ja.wikipedia.org/wiki/圧縮センシング
【21】宇宙科学研究所キッズサイト：http://www.kids.isas.jaxa.jp/zukan/space/blackhole.html
【22】百瀬宗武：電波干渉計観測の基礎知識 ,茨木大, http://stars.sci.ibaraki.ac.jp/kaisetu/interferometry/kiso-int.pdf
【23】アルマ望遠鏡:https://alma-telescope.jp/about
【24】城真範,赤穂昭太郎,合原一幸：L1正則化を使った低次元カオス生成モデルの探索法,生産研究(2013)
【25】安藤潤,防衛部門経済の外部効果,早稲田大学経済学研究(1998)
【26】M. R. Osborne, B. Presnell, B. A. Turlach：On the LASSO and Its Dual(2000).
【27】Trevor Hasitie,Robert Tibshirani,Jerrome Friedman：統計的学習の基礎 (2009)
【28】矢島美寛,廣津千尋,藤野和建,竹村彰道,竹内啓,縄田和満,松原望,伏見正則：自然科学の統計学(2016)
【29】C.M.ビショップ：パターン認識と機械学習 上 (2006)
【30】C.M.ビショップ：パターン認識と機械学習 下 (2006)
【31】光成滋生：パターン認識と機械学習の学習(2017)
【32】野田一雄,宮岡悦良：数理統計学の基礎(1992)
【33】東京大学：線形推定論,https://www.ms.u-tokyo.ac.jp/~nakahiro/lec17/modelmon/workbook2.pdf
【34】@hoxo_m：Rでスパースモデリング：glmnetの便利な補助ツール,https://qiita.com/hoxo_m/items/83e89dca392fa7afe69a