機械学習的な回帰と言っても、どのようにして、何を目的として、また、何故その手法を 使うと良いのかは問題設定による所が多く、何に使えるのか、何故最適化されるのかなどについては、数式などを解いてそれぞれの手法について個別に理解していくしかないので、大まかな枠組みだけ説明しますね。
回帰は重回帰だろうと機械学習の手法だろうとモデルが同じであれば解こうとしてる問題は同じです。使い分けと言うより数理モデルが正しければどちらの結果も同じ推定値に収束します。重回帰を最小二乗法で解いたもの。ベイズ理論の最尤推定で解いたもの。これらの重み係数の最適解は一致します。つまり、機械学習的な手法でも数理モデルが同じであれば、解いてる問題は本質的に重回帰であるに過ぎません。数理モデルが十分に正しいと検証出来ていれば統計学でいう重回帰でも同じ結果が出るいうことになります。より広く一般化したものが線形回帰モデルになります。
ただし、
nazo_oさんが言うように、重回帰は人間が立てた数理モデルを使うのであり、それが正しいというのが前提の元で、得られたデータから最も誤差が小さくなるように重みを決定することからレンジの広い基底関数の影響によって点を必ず通るような曲線であるものの値が発散するような動きを推定してしまうようなことがあります。機械学習的にはこの現象を過学習やオーバーフィッティングと呼んだりします。機械学習的な手法にはこれらの過学習を起こす基底関数に対して制約条件を課すことで、影響の大きすぎる期待関数の重みを調節し、過学習を防ぐなどの知見が見られます。
この制約の種類に応じてredge回帰(L2ノルム正則化、二乗和制約)、lasso回帰(L1ノルム正則化、1乗和制約)などと呼びます。それぞれ、使わない重みが0に近づくようにする。使わない重みを0にするなどの特徴があります。(L1は特に解が実際に疎であることが解っている場合に、圧縮センシング、スパースコーディングと言う観測しなくて済む点を特定する手法として使うことが出来ます。)
また、重回帰では相関係数によって変数の信頼度は測れますが、そこからどのように予測精度を上げれば良いのかという知見は得られません。データが非常に多ければ重回帰でも上手く回帰を行う事が出来ますが、少ないデータから回帰を行うと予測精度が上手く出ません。さらに次元が増えると簡単には解けない、あるいは解くのが現実的な時間では不可能なモデルになります。
これらの問題に対してはカーネルトリックと呼ばれる次元に対してデータ点が少ない場合でも正確な回帰が出来るような手法があったりします。
また、説明変数と目的変数の相関を調べる手法としてランダムフォレスト、RVM。
クラスタリングの識別面を調べるための決定木回帰、ロジスティック回帰、他クラスロジスティック回帰、SVMなど、回帰する曲線の予測自体が目的ではない回帰手法があります。
また、ニューラルネットやディープラーニングも非線形な回帰です。これらの内部では実は、シグモイド関数または、ソフトマックス関数と呼ばれる関数のパラメータを一般化線形モデルで表し、その重みを、それぞれのニューロンによって推定しているだけです。出力が決まった際の最適解は誤差逆伝搬法と呼ばれる方法で数理的に綺麗に解くことができます。
まとめると、重回帰も本質的には線形回帰モデルで、機械学習の手法にも線形回帰モデルを解く手法が多々存在し、どれを使うべきかは問題設定によると言うのが答えです。
基本的には重回帰で充分精度が出る問題では重回帰を、重回帰では解けない、精度が出ない、データが足りない、などであれば機械学習を使うと言った使い分けが出来ると言えるかもしれません。
補足
機械学習的な手法であっても相関のある変数を捨てる選択の自動化は難しいです。何故なら入力するデータ、出力して欲しいデータを決めるのは人間だからです。基本的に線形回帰モデルは変数同士が独立であることを仮定しています。独立のないデータをどうやって回帰するかですが、PCAと呼ばれる次元削減手法や混合ガウス分布のMAP推定(chinese restaurant process、変分ベイズEM)、最尤推定(GMMEM)などを使って独立な変数を選択します。機械学習的な回帰手法全てが相関を考慮せずに適応出来るわけではありません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/20 02:57