機械学習について

機械学習で実現したいこと

機械学習で実現したいことをひとことでいうと「データの集合をもとに、自動的にデータに潜む法則性を学習・発見し、データを分類、判別すること」です。

「データの集合をもとにデータを分類、判別すること」は、人が目視などによりデータの法則性を発見することによっても可能です。

データを分類している例

下図は人がデータの傾向を把握し、if分を組み合わせたプログラム(ルールベースのプログラムといいます)を書くことによってデータを分類している例です。

ルールベース説明

しかしデータの傾向を人が把握するのも、データの量や種類が増えてくると限界に近づいていきます。

人の情報処理能力を超えるような、複雑なデータを自動で分類したり判別するということが、機械学習のメリットです。

下図に、機械学習によって、データを分類する例を示しました。

機械学習説明

機械学習のステップは以下となります(教師あり学習の場合)。

  • ステップ1:データの集合をもとにデータの法則性を自動で学習・発見する(トレーニング)。そのモデルの予測精度を検証する(テスト)
  • ステップ2:学習済みのモデルで、新規のデータを予測(上図の場合、分類)する。

このようにコンピューター(機械)がデータを自動で学習し、膨大なビッグデータの中から経営やビジネス判断のための新たな知見を得たり、コンピューターやロボットが自動で判断し動作するようになります。

これがビッグデータの時代に機械学習が注目される大きな理由です。

機械学習をいつ使うのか

機械学習は、何もせずとも夢のように問題を解決するツールではありません。

多くのデータ分析において、機械学習ではなく、if文の組み合わせ(「ルールベース」といいます)でも十分なケースが多々あります。

その場合に機械学習を使ってしまうと、オーバースペックになってしまいます。

たとえば機械学習の応用例としてメールなどの「スパムフィルター」があります。 スパムフィルターも「メール本文をチェックして 割引 など予め決めた単語があればスパムとする」という if 文があれば、機械学習でなくても問題を解決できます。

逆に、機械学習を使うメリットは、そのルールを自動で 学習する ことにあります。

ポイント

  • 機械学習はif文(ルールベースの判定)の延長線上にある
  • 実務上は「どういう時に機械学習を使うか」の判断が大事
  • 「ルールベースと機械学習の境界」を学ぶことが大事

参考資料

ルールベースから機械学習への道(西尾泰和)