機械学習について¶
機械学習で実現したいこと¶
機械学習で実現したいことをひとことでいうと「データの集合をもとに、自動的にデータに潜む法則性を学習・発見し、データを分類、判別すること」です。
「データの集合をもとにデータを分類、判別すること」は、人が目視などによりデータの法則性を発見することによっても可能です。
データを分類している例¶
下図は人がデータの傾向を把握し、if分を組み合わせたプログラム(ルールベースのプログラムといいます)を書くことによってデータを分類している例です。
しかしデータの傾向を人が把握するのも、データの量や種類が増えてくると限界に近づいていきます。
人の情報処理能力を超えるような、複雑なデータを自動で分類したり判別するということが、機械学習のメリットです。
下図に、機械学習によって、データを分類する例を示しました。
機械学習のステップは以下となります(教師あり学習の場合)。
ステップ1:データの集合をもとにデータの法則性を自動で学習・発見する(トレーニング)。そのモデルの予測精度を検証する(テスト)
ステップ2:学習済みのモデルで、新規のデータを予測(上図の場合、分類)する。
このようにコンピューター(機械)がデータを自動で学習し、膨大なビッグデータの中から経営やビジネス判断のための新たな知見を得たり、コンピューターやロボットが自動で判断し動作するようになります。
これがビッグデータの時代に機械学習が注目される大きな理由です。
機械学習をいつ使うのか¶
機械学習は、何もせずとも夢のように問題を解決するツールではありません。
多くのデータ分析において、機械学習ではなく、if文の組み合わせ(「ルールベース」といいます)でも十分なケースが多々あります。
その場合に機械学習を使ってしまうと、オーバースペックになってしまいます。
たとえば機械学習の応用例としてメールなどの「スパムフィルター」があります。
スパムフィルターも「メール本文をチェックして 割引 など予め決めた単語があればスパムとする」という if
文があれば、機械学習でなくても問題を解決できます。
逆に、機械学習を使うメリットは、そのルールを自動で 学習する ことにあります。
ポイント¶
機械学習はif文(ルールベースの判定)の延長線上にある
実務上は「どういう時に機械学習を使うか」の判断が大事
「ルールベースと機械学習の境界」を学ぶことが大事
参考資料¶
ルールベースから機械学習への道(西尾泰和)