機械学習の技術を勉強するとき、さまざまな数学・統計などの理論を前にして、「これ全部理解しなければいけないの? 機械学習を使えるようになるには一体どこまで勉強したらいいの?」という疑問を持ったことはありませんか?
そんな方には、まず機械学習アルゴリズムの特徴と大まかな意味合いの理解を目標にすることをお勧めします。というのも、機械学習のさまざまなアルゴリズムはそれぞれに特徴(長所・短所)があり、適材適所で使い分ける必要があるからです。
たとえば、2次元座標に分布しているデータを機械学習を使って3つのクラスタに分けるとします。図1左はk-meansというアルゴリズムを使ったときの結果ですが、データを正しくクラスタリング(色分け)できていません。k-meansは同心円状に分布するデータには適用できる一方、楕円形状に分布するデータには適用できないという特徴があります。この場合はガウス混合モデルというアルゴリズムを使うとうまくいきます(図1右)。
図1 k-meansとガウス混合モデルによるクラスタリング
また、特徴を理解するうえでは、アルゴリズムの意味合いを大まかにつかむことも大切です。数学や統計などの理論から学ぶのも一手ですが、アルゴリズムを実装・実行し、その結果を可視化するだけでも大まかに理解することは可能です。
再び2次元座標に分布しているデータをクラスタリングする例を見てみましょう。図2はk-meansを使って3つのクラスタに分けるときの様子を可視化したものです。①では3つのデータ群が存在しています。まず②で各クラスタの重心の初期値となるデータ点▲をクラスタ数分だけ(今回は3つ)選択します。次に、各データ点に対してクラスタを割り当てます(③)。各データ点には最も距離が近い重心が属するクラスタを割り当てます。しかし、まだ正しくクラスタリングできていません。そこで重心▲の位置を更新し(④)、クラスタを再割り当てします(⑤)。これを変化がなくなるまで繰り返します。⑧ではデータが3つのクラスタにきれいに分けられています。
図2 k-meansによるクラスタリングの様子
このように、データ内に潜むルールを学習し予測するしくみがわかれば、アルゴリズムの特徴も理解しやすくなります。図2を見れば、k-meansが図1でうまくいかなかったのは、クラスタの重心とデータとの距離をもとにしてクラスタリングしているからだということがわかると思います。
『AIエンジニアを目指す人のための機械学習入門』は、まずアルゴリズムの特徴と大まかな意味合いをつかみ、それからベースとなる理論を学ぶ、そんな流れで解説する書籍です。本稿を読んで共感していただけたなら、手に取ってみてください。