さあ、機械学習を始めましょう!
第3次人工知能ブームによって、人工知能が急激な盛り上がりを見せています。その技術の1つである「機械学習」にも大きな注目が集まっており、機械学習の名を冠したサービスや事例が多数発表されています。特定のテクノロジーが1つの業界で盛り上がることはありますが、機械学習への注目はあらゆる業界を巻き込んでおり、いわば社会現象ともいえるでしょう。
ブームを背景に、自社の業務に機械学習を活用したいと検討を進める企業も増えているように感じます。本稿では、これから機械学習を検討しよう、始めてみようと思っている方に向けて、機械学習とはそもそもどういったもので、機械学習を活用する場合に気を付けることは何かについて解説します。また、クラウドで機械学習を始めるまでのステップを、Oracle Database Cloudを例に紹介します。
機械学習とは?
機械学習とは、明示的にプログラミングをせずに、データから学習する能力を機械が持つことを意味します。応用例として有名なのは、画像認識や音声認識、自動運転などでしょう。機械学習によって、過去の顧客データの傾向から将来の優良顧客を自動的に予測することも可能になります。また、機械学習を手軽に始める環境が整いつつあり、機械学習をビジネスの現場で応用する土壌にもなっています。
機械学習自体は、半世紀ほど前からある技術です。ただし、機械学習のアルゴリズムは数式の塊であり、実装するとなるとその数式を理解しなければなりません。アルゴリズムが組み込まれたソフトウェアもありましたが、大半は有償で、十分なデータを元に分析を行うには専用サーバも必要だったため、一般ユーザが試すにはハードルが高いものでした。
近年はプログラミング言語のライブラリが充実し、スクラッチで試すにも以前のような高いハードルはなくなりました。また、クラウドサービスとして提供されるようになり、専用サーバなしで安価に始められる形態が増えてきています。
アルゴリズムの種類と応用分野
次に、機械学習の肝となる「アルゴリズムの種類」と「応用分野」を見ていきましょう。
機械学習のアルゴリズムには、大きく分けて教師あり学習と教師なし学習の2種類があります。両者は、学習データ(機械学習でモデル作成の元になるデータ)にラベルが付いているか、いないかで分かれます。
ラベルの付いた学習データから予測モデルを作成するのが「教師あり学習」です。予測モデルができあがると、ラベル付けされていないデータに対し、どのラベルが該当するかを判断できるようになります。例えば、学習データに「優良顧客」というラベルが付いており、そこから予測モデルを作成して将来の優良顧客を分析するといったケースでは、教師あり学習のアルゴリズムを利用します。
一方、ラベルなしの学習データから規則性を発見し、モデルを作成するものが「教師なし学習」です。例えば、学習データに「優良顧客」などのラベルがなく、とりあえずどんな顧客グループがいるかを分析するといったケースでは、教師なし学習のアルゴリズムを利用します。
ただし、教師あり学習、教師なし学習のどちらのアルゴリズムを選択するかは、ラベル付けの有無ではなく、どのような分析を行うかによって決定します。学習データにラベル付けがされていない場合でも、分析テーマから考えて教師あり学習のアルゴリズムが適切であれば、事前にラベル付けを実施します。
それでは、機械学習でどのような分析を行えるのでしょうか。それを知るために、主要な分析内容とそれに関連するアルゴリズムを紹介しましょう[1]。
1. 回帰
利益や売上のように、予測する値が連続的な量的データの場合に使用します。 一般化線形モデル(GLM)などがあります。教師あり学習のアルゴリズムのため、売上予測などを行うためには他店舗の売上情報などが必要です。
2. 分類
性別や婚姻ステータスのように、予測する値が質的データの場合に使用します。 決定木(DT)やサポートベクターマシン(SVM)、ニューラルネットワーク(NN)などがあります。こちらも教師あり学習のアルゴリズムであるため、婚姻ステータスを予測する場合には、過去のベつの人に対する婚姻ステータスの情報を必要とします。
3. クラスタリング
どのような顧客セグメントが存在するかなど、とりあえず持っているデータに対してグルーピングを行う場合に使用します。 k-Meansなどがあります。教師なし学習のアルゴリズムであるため、過去データにラベル付けがされていなくとも利用できます。
4. 相関
トランザクションデータから、何かと何かがどれくらい関連して発生しているかを検出するときに使用します。 Aprioriなどがあります。教師なし学習のアルゴリズムであるため、トランザクションデータがあれば利用できます。「グループAとグループBの相関を見たい」など、グループ同士の相関を見たい場合には、データが事前にグルーピングされている必要があります。
注
[1]: 今回は、アルゴリズム1つ1つの数学的特性には触れません。