あなたも機械学習を始めたくなる!決定木?回帰?など、アルゴリズムを解説してみた
18/07/29 13:31:44 19/01/13 13:24:11
機械学習は今話題のAIと切っても切り離せない概念で、今後もより一層注目されていくことでしょう。エンジニアの方はもちろん、そうでない方もある程度のアルゴリズムを把握されておくと良いかと思います。
よく各業界でAIに仕事を奪われる奪われないと議題に上がることが多いですが、AIについて考えるのであれば機械学習の概念を知っておかないと適正な判断ができません。どの業界の方もAIは今後関係してくるので、機械学習のアルゴリズムの概念を知っておくのがおすすめです。
とは言っても基本的には統計のアルゴリズムなのでIT知識が必要なわけではないので、どなたでも取っつきやすいかと思います。
目次
アルゴリズムを解説
それでは機械学習に関連する各アルゴリズムを紹介していきます。
決定木
決定木とは、条件分岐から広げていくアルゴリズムです。たとえばAという選択肢とBという選択肢があって、そのどちらを取りうるかによって振り分けます。次にまたAとBのそれぞれの選択肢から条件分岐させる形でどんどん広げていきます。
これを繰り返すことで意思決定を高度にしていくアルゴリズムが決定木です。
最小二乗法
最小二乗法はグラフ上ばらつきのあるデータに対して直線を引き、傾向を探っていく手法です。統計学の線形回帰と同じです。線形回帰という用語だけだとピンと来ないかもしれませんが、おそらくばらつきのあるデータに対して一直線を引いているグラフを見たことのある方は多いかと思います。
AIはデータベースにデータを蓄積してそのデータを活かして意思決定の精度を上げていくことがロジックの基本なので、最小二乗法はある意味AIの意思決定の基盤的なアルゴリズムと言えるでしょう。
ランダムフォレスト
ランダムフォレストは決定木を複数配置したアルゴリズムです。木が集まると森になるので、言葉の意味そのままです。機械学習のアルゴリズム一つ一つは単純ですが、それらが複数組み合わさることで一見すると複雑な処理を行っているように見えます。
レコメンデーション
レコメンデーションはそのまま実用的なシステムに使われているアルゴリズムで、たとえばAmazonのような通販サイトで類似する商品等を紹介するシステムなどが挙げられます。具体的な分析手法としては、ECサイト上のレビュー点数、履歴、などのデータを蓄積し、そこから紹介する商品を選定していきます。
ただし、現状そのまま類似する商品を紹介してユーザーのニーズを満たさないという不満点があります。たとえば、ネットで冷蔵庫を購入した後に、別の冷蔵庫をおすすめ商品として紹介してくるようなパターンです。
この場合すでに冷蔵庫は購入済みなので、紹介するなら他の電化製品等の方が良いでしょう。理由としては、冷蔵庫は引越しや新生活のスタートで購入するケースが多いので、同時に他の電化製品の購入も検討している可能性が高いからです。
少なくとも二つ目の冷蔵庫をおすすめするよりは成約率が高まるでしょう。この事例からもわかる通り、レコメンデーションは機械学習のなかでもっとも改良の余地がある部分と言っても過言ではないでしょう。
データを蓄積、分析してそこから類似するデータを抽出する処理は機械学習の得意分野ですが、データを蓄積してユーザーの意図を読み解くのは機械学習の苦手分野です。冷蔵庫を購入した人に電子レンジをおすすめしたり、ディスプレイを購入した人に目薬をおすすめするようなロジックの実用化はまだ難しいです。
包丁とまな板、パソコンとマウス、テレビとテレビ台、のようにセットで購入する人が多い商品は一緒に購入されている商品として紹介するのが簡単ですが、システムは潜在ニーズを探るのが苦手です。
顕在ニーズは消費者行動の統計データから容易に導き出せますが、潜在ニーズを読み取るアルゴリズムが誕生すればよりAIの活躍の場は広がるでしょう。つまり、現在一緒に購入している人は少ないが、おすすめすれば一緒に購入する可能性が高い商品をおすすめするというアルゴリズムです。
蓄積したデータから抽出するだけでなく、人間のニーズを先読みして動くようになれば人工知能はほぼ完成と言えます。機械が人間を超えたと言える状況で、レコメンデーションはアルゴリズムのなかでも改良の余地があり、同時に人工知能のレベルを底上げする可能性を秘めています。
教師ありと教師なし
機械学習に関するアルゴリズムには教師ありと教師なしがありますが、注目されているのは教師ありの方です。上記で説明してきた内容も教師ありの方です。教師ありと教師なしには以下のような違いがあります。
教師あり学習アルゴリズム
教師あり学習アルゴリズムとは、データを蓄積、整理するだけでなく、そこから独自のルールに基づいてデータ抽出を行うアルゴリズムのことです。統計データを取得するだけでなく、そのデータを活かして意思決定を行うということです。
具体的にどこまでデータを活用すれば教師あり学習アルゴリズムになるのかは諸説ありますが、もともと決まったロジックに基づいてデータ抽出を行うだけでも教師あり学習アルゴリズムに該当すると考えるのが一般的です。
たとえば、昔アキネーターというシステムが流行りました。アキネーターは最初に特定の人物をイメージし、その後システムの質問に回答していきます。いくつかの質問を経てシステムが最初にイメージした人物を当てるという仕組みになります。
アキネーターはかなりの精度なので、実際にやってみたことのある方は驚かれたかと思います。そのアキネーターがまさに教師あり学習アルゴリズムのイメージにぴったりで、蓄積したデータを基に出力しています。
過去にいろいろなユーザーが回答したデータがデータベースに蓄積され、そこから次の質問を想定しています。質問に答えていくと最終的に回答が出るという非常にシンプルな仕組ながら精度の高さにユーザーは驚きます。
詳細なロジックは割愛しますが、まずアキネーターは適当に一つ質問し、その回答からもっともイメージした人が多かった人物やキャラクターを特定、または排除するための質問を行います。これの繰り返しで、回答数の多い人物やキャラクターから順に絞っているのです。
そうすることによって、アキネーターはなるべく少ない手数でユーザーがイメージしたキャラクターや人物を特定します。アキネーターの精度の高さから内部のロジックがその都度書き換えられていると思われるかもしれませんが、実際ロジック自体は単純で書き換わっているわけではありません。
進化しているのはデータベースの中身だけなのですが、それでもこれだけ精度は日々成長しています。ロジックが変わらなくても充分に教師あり学習アルゴリズムと呼べるでしょう。
教師なし学習アルゴリズム
教師なし学習アルゴリズムは、出力を行いません。データをデータベースに蓄積、整理するのみで、そのデータを抽出するのは別のシステムや人間の役割となります。たとえばGoogleのキーワードツールなどは教師なし学習アルゴリズムに該当します。
単純にユーザーが検索した数を集計して整理しているだけなので、もちろんこのキーワードを使ったらアクセスが増える、このキーワードは使わない方が良い、といった予測は行いません。
まとめ
いかがだったでしょうか。ここまでで機械学習のアルゴリズムの内容や、日常で使われているシーンがイメージできたかと思います。
今後より一層活躍すること間違いなしなので、知っておくと業務に役立つだけでなく単純に楽しめます。
人気記事