機械学習とは
機械学習とは、与えられたデータから規則性を見つけ出し、その後の予測を行うことです。この規則性を数式で表したものをモデルといいます。
機械学習の基礎知識
機械学習でまず必要な知識は確率や統計です。また計算するために必要な知識として、微分と行列があります。
機械学習の流れ
機械学習は以下の手順で行います。
- データ収集
- データクレンジング
- モデルの生成
- モデルの評価
データ収集とデータクレンジング
データ収集では、あるデータを集めれば、こういった予測ができると仮定してデータを集めます。収集したデータは、予測したいデータ(目的変数)と予測するために使用するデータ(説明変数)に分かれます。
収集したデータはそのまま使える訳ではなく、データクレンジングが必要になります。異常値や誤差など不適切なデータを除きます。一概に言えるわけではないので、データを見たりモデルの作成や評価を行いながらクレンジングを行っていくこともあります。
データクレンジングが終わると、説明変数から目的変数を求める式を見つけたいわけですが、そこで出て来るのがモデルです。
モデルの生成
モデルは世の中にたくさんありますが、何も考えずに適用すればよいわけではなくて、モデルの前提や仮定を考慮してモデルを選ぶ必要があります。そのためモデルの導出方法を理解しておくことも大切なことだと思います。
モデルの導出
モデルを導くには、尤度(ゆうど)関数を使います。尤度関数は尤も(もっとも)らしい度合を表す関数です。尤もらしさが最小や最大になる時が一番尤もらしい状態といえます。その考え方が最尤法です。
例えば回帰直線を求める最小二乗法。これはデータが直線で表わされることと誤差が正規分布になる事を仮定しています。そこで誤差の正規分布が最大つまり誤差が小さく中心に集まっている状態となるパラメータを求めるのが最尤法です。
さらに考えを拡張したのが、MAP推定です。尤度関数にベイズの定理を適用して、事前確率という任意の確率を与える事ができて、それを最尤法の考え方で同じように最小や最大を求めます。例えば最小二乗法の拡張であるridge回帰などが出てきます。
モデルの導出の基本は尤度関数と最尤法を理解するのが重要だと思います。
モデルの評価
モデルを決めた後は、モデルの予測精度を評価します。よく使われるものに交差検証法があります。
交差検証法
データを例えば10分割します。分割した1つ以外でモデルを作成しパラメータを決定します。残った1つのデータで目的変数を求めていて、実際の値とのかい離を確認します。1つのデータを順に入れ替えて、モデルの精度を10回検証できることになります。1つを未知のデータとみなして評価するため、その後の予想の精度の信頼性にもつながります。
まとめ
機械学習の基本は以下だと思います。
- 説明変数から目的変数を予測
- データ収集、データクレンジング、モデルの生成、モデルの評価の順番で実施
- モデル導出の基本は、尤度関数と最尤法
ただ基本的な考え方がわかっても実践するのが難しいです。実践から学ぶこと、苦労することがたくさんあります。
また機械学習はどんどん進化していていますので、新しい知識を学んだり、技術を取り入れたりすることは必須だと思います。
まずは基本を理解して、実践して、次のステップに進んでいきたいと思います。