Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

「機械学習」を始める前に知っておくこと・検討すべきこと

Oracle Database Cloudでいってみよう! 〜 【特別編】

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2016/03/28 14:00

 人工知能ブームによって機械学習にも注目が集まっています。注目とともに、機械学習に関連したクラウドサービスや事例が様々な業界や分野で発表されています。クラウド形式の機械学習サービスとしても、APIを中心に提供されているものから、プラットフォームとして提供されているものなど様々です。本稿では、機械学習を始める際に検討すべきことについて紹介していきます。最後に、Oracle Cloudで機械学習環境を構築する際のステップについても触れます。

目次

さあ、機械学習を始めましょう!

第3次人工知能ブームによって、人工知能が急激な盛り上がりを見せています。その技術の1つである「機械学習」にも大きな注目が集まっており、機械学習の名を冠したサービスや事例が多数発表されています。特定のテクノロジーが1つの業界で盛り上がることはありますが、機械学習への注目はあらゆる業界を巻き込んでおり、いわば社会現象ともいえるでしょう。

ブームを背景に、自社の業務に機械学習を活用したいと検討を進める企業も増えているように感じます。本稿では、これから機械学習を検討しよう、始めてみようと思っている方に向けて、機械学習とはそもそもどういったもので、機械学習を活用する場合に気を付けることは何かについて解説します。また、クラウドで機械学習を始めるまでのステップを、Oracle Database Cloudを例に紹介します。

機械学習とは?

機械学習とは、明示的にプログラミングをせずに、データから学習する能力を機械が持つことを意味します。応用例として有名なのは、画像認識や音声認識、自動運転などでしょう。機械学習によって、過去の顧客データの傾向から将来の優良顧客を自動的に予測することも可能になります。また、機械学習を手軽に始める環境が整いつつあり、機械学習をビジネスの現場で応用する土壌にもなっています。

機械学習自体は、半世紀ほど前からある技術です。ただし、機械学習のアルゴリズムは数式の塊であり、実装するとなるとその数式を理解しなければなりません。アルゴリズムが組み込まれたソフトウェアもありましたが、大半は有償で、十分なデータを元に分析を行うには専用サーバも必要だったため、一般ユーザが試すにはハードルが高いものでした。

近年はプログラミング言語のライブラリが充実し、スクラッチで試すにも以前のような高いハードルはなくなりました。また、クラウドサービスとして提供されるようになり、専用サーバなしで安価に始められる形態が増えてきています。

アルゴリズムの種類と応用分野

次に、機械学習の肝となる「アルゴリズムの種類」と「応用分野」を見ていきましょう。

機械学習のアルゴリズムには、大きく分けて教師あり学習教師なし学習の2種類があります。両者は、学習データ(機械学習でモデル作成の元になるデータ)にラベルが付いているか、いないかで分かれます。

ラベルの付いた学習データから予測モデルを作成するのが「教師あり学習」です。予測モデルができあがると、ラベル付けされていないデータに対し、どのラベルが該当するかを判断できるようになります。例えば、学習データに「優良顧客」というラベルが付いており、そこから予測モデルを作成して将来の優良顧客を分析するといったケースでは、教師あり学習のアルゴリズムを利用します。

一方、ラベルなしの学習データから規則性を発見し、モデルを作成するものが「教師なし学習」です。例えば、学習データに「優良顧客」などのラベルがなく、とりあえずどんな顧客グループがいるかを分析するといったケースでは、教師なし学習のアルゴリズムを利用します。

ただし、教師あり学習、教師なし学習のどちらのアルゴリズムを選択するかは、ラベル付けの有無ではなく、どのような分析を行うかによって決定します。学習データにラベル付けがされていない場合でも、分析テーマから考えて教師あり学習のアルゴリズムが適切であれば、事前にラベル付けを実施します。

それでは、機械学習でどのような分析を行えるのでしょうか。それを知るために、主要な分析内容とそれに関連するアルゴリズムを紹介しましょう[1]

1. 回帰

利益や売上のように、予測する値が連続的な量的データの場合に使用します。 一般化線形モデル(GLM)などがあります。教師あり学習のアルゴリズムのため、売上予測などを行うためには他店舗の売上情報などが必要です。

2. 分類

性別や婚姻ステータスのように、予測する値が質的データの場合に使用します。 決定木(DT)やサポートベクターマシン(SVM)、ニューラルネットワーク(NN)などがあります。こちらも教師あり学習のアルゴリズムであるため、婚姻ステータスを予測する場合には、過去のベつの人に対する婚姻ステータスの情報を必要とします。

3. クラスタリング

どのような顧客セグメントが存在するかなど、とりあえず持っているデータに対してグルーピングを行う場合に使用します。 k-Meansなどがあります。教師なし学習のアルゴリズムであるため、過去データにラベル付けがされていなくとも利用できます。

4. 相関

トランザクションデータから、何かと何かがどれくらい関連して発生しているかを検出するときに使用します。 Aprioriなどがあります。教師なし学習のアルゴリズムであるため、トランザクションデータがあれば利用できます。「グループAとグループBの相関を見たい」など、グループ同士の相関を見たい場合には、データが事前にグルーピングされている必要があります。

[1]: 今回は、アルゴリズム1つ1つの数学的特性には触れません。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 小川 幹雄(オガワ ミキオ)

    日本オラクルのクラウドアーキテクト。データサイエンスにおけるオラクルクラウドのソリューション構築を担当。機械学習、グラフ分析、ビジュアライズ分析とデータ分析をライフワークにしている。プライベートでも分析関連の論文などを読んでいることが多い。

バックナンバー

連載:Oracle Database Cloudでいってみよう! ~ 【特別編】
All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5