今回はRidge回帰を紹介したいと思います。
#目次
- 回帰分析について
- Ridgeとは?
- AI on Browserで動かしてみた
- ビジネスシーンでの活用方法
- さいごに
回帰分析について
回帰分析とは、大まかに説明すると、とある物事を
Y = f(X)
の形に当てはめることを言います。
このとき、Yを「目的変数」、Xを「説明変数」といい、Xが1次元の場合は「単回帰」、2次元以上の場合は「重回帰」といいます。
Ridgeとは?
回帰分析の手法として、今回は「Ridge」という手法に着目してみたいと思います。
似たような仲間に「Lasso」、「ElasticNet」というものがありますがこの3手法は全て、
最小二乗法の式にもうひと手間を加えることで表現されます。
最小二乗法の式は以下になります。
\sum_{i=1}^{n}\lbrace{y_i-f(x)}\rbrace^2
これにL1正則化項(ノルムともいう)を加えるのがLasso、L2正則化項を加えるのがRidge、2つを複合的に加えるのがElasticNetとなります。
正則化項には過学習を抑える働きがあります。
せっかくモデルを作っても、未知のデータに対して使い物にならない…となるのは悲しいですよね。
L1正則化項とL2正則化項の違いは、この中での説明変数の扱い方になります。
L1正則化項は、過学習を防ぐために「いくつかの説明変数を無視する」可能性があります。
逆に、L2正則化項は、「全ての説明変数を無視しない」という仕組みになっています。
つまり。Ridgeを活用する場合は、
「過学習は防ぎたいが、全ての説明変数が重要である」
というシーンが想定されます。
AI on Browserで動かしてみた
AI on Browserで動かしてみると以下のようになります。
今回はワインの品質予測を実施してみます。
画面下部にRMSE(二乗平均平方根誤差)が表示されています。
今回のデータセットでは非常によい予測ができていることがわかります。
誰でも利用できるので、Ridgeの他にも様々な手法を利用することができるのでぜひアクセスしてみてください!
https://ai-on-browser.github.io/?data=manual&task=RG&model=ridge&dimension=2
また、コードは以下にあるので良かったらご参照下さい。
https://github.com/ai-on-browser/ai-on-browser.github.io/blob/v0.0.20/lib/model/ridge.js
ビジネスシーンでの活用方法
先に挙げた特徴から、「ある程度重要な説明変数の見当がついてる」場合にRidge回帰を活用できると考えられます。
例えば、「製品不良の予測モデルを作成するときに、これと、これと、これのセンサーデータが関係ありそう」というような場合です。
#さいごに
ビジネスシーンではニューラルネットワークの活用が注目されていますが、モノによっては十分Ridge回帰などの統計的手法で表現することができる可能性が大いにあります。
そのため、なんでもすぐニューラルネットワーク!という風に考えずに、回帰モデルなどで表現できないかを検討することが重要となってきます。
さらに、アルゴリズムを選択する前に投入するデータの選定、加工が重要となってきます。