ビッグデータ

SEが知っておきたい機械学習の基本

機械学習の定義とは、「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野」

あるいは、「コンピュータプログラムが、ある種のタスクTと評価尺度Pにおいて、経験Eから学習するとは、タスクTにおけるその性能をPによって評価した際に、経験Eによってそれが改善されている場合である」というのが、一般的に知られる定義です。

前者の定義は計算機科学者のアーサー・サミュエルが、後者の定義は情報工学者のトム・M・ミッチェルが提唱しました。どちらも数十年前に登場したもので、機械学習が如何に古くから存在するかが分かります。

そんな機械学習が今、スポットライトを浴びているのは周知の事実でしょう。なぜ、機械学習が注目されているのか?今回は機械学習の基本から紹介したいと思います。

 

機械学習とは?

アーサー・サミュエルという計算機科学者は、コンピューターゲームの分野で知られる人物で、世界初のコンピューター・チェッカーを開発しました。ちなみに「チェッカー」とは、赤・黒12個ずつの丸い駒と縦横8マスのチェスボードを用いて相手の駒を取りあるゲームです。「ドラフツ」や、「西洋碁」とも呼ばれています。

機械学習をシンプルに理解するためには、このコンピューターゲームに例えるとイメージしやすいでしょう。

例えばコンピューター・チェッカーを開発するにあたって、開発者はコンピュータに行動と報酬を与えます。この場合、行動とは無数にある次の一手、報酬はゲーム勝利がそれに値します。

そうした行動と報酬を与えることで、コンピュータは試行錯誤を繰り返し、次第に最良の一手を導き出します。このような作業を繰り返し行い、コンピュータにある特定の行動を学ばせること。それが機械学習です。

1996年にはIBM社のディープ・ブルーというコンピューターチェスが、今年2017年にはGoogle DeepMindのAlpha GOというコンピューター囲碁が、当時の世界チャンピオンに勝利しています。

 

機械学習の分類

機械学習はその特徴によって主に3つの分類があります。それが「教師あり学習」「教師なし学習」「強化学習」の3つです。

 

教師あり学習

教師あり学習の基本はラベル付きのデータを分析させることにあります。ラベル付きのデータとはいわば、正解が付与されたデータです。例えば、犬の画像に「これは犬だ」というラベルを付けた状態で、コンピュータに分析させます。

ラベルを付けたまま分析させる理由は、なぜそれが犬なのか?という分類を学習させることにあります。犬というラベル付きのデータを分析させることで、コンピュータは画像内にある犬の特徴を読み取り、「これは犬なのか」と学んでいくわけです。

ただし、たった1枚の画像を分析させたところで、他の画像を読み取らせてもそれを犬だとは認識してくれません。そこで、何千枚何万枚の犬の画像を分析させ、理解できる特徴を幅を広げてあげます。こうすることで、限りなく100%に近い確率で「犬だ」と判断できるようになるのです。

教師あり学習は過去のデータからモデルを学習し、それを基準に新しいデータを分析します。そのため。迷惑メールの判別は気象予測といった分野に用いられています。

 

教師なし学習

教師なし学習ではデータに対して正解・不正解を与えません。取り込んだデータの中から規則性を探し、それに応じた行動を取るように学習させることを目的としています。身近なもので具体的な例をいえば、インターネットショッピングサイトのレコメンド機能がこれに該当します。

レコメンド機能というのは大量の購入データやユーザーデータをもとに、新しいデータを分類し、その分類に応じた行動を取ります。Aという商品を購入した人に対してはBという商品をすすめたり、Cという商品をお気に入りにしている人にDという商品をすすめます。

これらは過去の大量のデータの中から導き出した購入の傾向をもとにしており、合わせての購入率が高い商品などを紹介しているのです。

ただし、何を基準にしてデータを分類するかは人間が決定するので、分析精度を上げるためには人間側のスキルが非常に重要です。

 

強化学習

教師あり学習と教師なし学習、このどちらにも属さないのが強化学習で、先のコンピューター・チェッカーはこれに分類されます。

強化学習は教師あり学習に類似しているものの、最大の違いは明確な答えがないことです。その代わりに先述した行動と報酬を与えます。

次に何をするかという選択肢が無数にある状態で、報酬を目指して最良の行動を取る。この行動を繰り返し行わせることでその精度を高め、常に最良の選択を行えるようにするのが強化学習です。

 

機械学習はなぜ重要なのか

機械学習という分野がトレンドになっているのは知っていても、なぜ重要なのかまで理解している方は少ないかと思います。確かに、まったく新しい技術ではないのに、なぜ今になって注目されているのでしょうか?

その最大の理由がデータ量の増加です。

インターネットやパソコン、スマートフォンが普及したことで、誰でも簡単に情報を発信・閲覧できる時代になりました。それにより世界中の至る所でデータが急激に増加しています。

一説には世界のデータ量は、2013年から2020年にかけて4.4ZBから44ZBにまで増加するといわれています。これをGBに換算すると約44兆GBという、途方もない数字になります。こうしたデータ量の増加に伴って注目され出したのがビッグデータです。

ビッグデータとは大量のデータというだけでなく、分析可能かつビジネスにとって有益な知見を見出せるデータという意味があります。皆さんの会社でも、一度はビッグデータ解析の導入を検討されたことがあるでしょう。

ビッグデータ解析を導入する最大のメリットはビジネスチャンスの創出です。過去または現在のデータから規則性を見つけたりすることで、新たな知見を見出し、それをビジネスに活かすことで商品やサービスの価値を高めます。

これによって顧客満足度を高めたり、売上拡大を狙うのがビッグデータ解析の目的です。

そんなビッグデータ解析は果たして人手によって実現できるでしょうか?答えは当然「NO」であり、ここに機械学習が登場します。

想像もできないような大量のデータをコンピュータに取り込み、目的に応じて適切な学習をさせることで、分析精度を高めます。そうして分析されたデータをもとに、新たなデータから最良の選択ができるよう、コンピュータを成長させるのです。

例えばGoogleは大量の交通データや走行データを用いて、自動運転車両の開発に成功しています。他にはTwitterで自社のつぶやきをデータとして収取し、分析することで自社のブランディング効果を測定したりもできます。

このように機械学習はすでにビジネスの中心です。大切なのはどう活用するかであり、そこにはアイディアセンスなど、技術だけではない要素も重要とされているのです。

まとめ

機械学習を実施するためには、大量のデータを短時間で処理できるようなシステムが必要になります。例えばODIPのような大規模バッチ処理システムは、機械学習におけるデータ処理の時間短縮を支援します。このように、機械学習を実施するためにはその目的に応じて、最適なシステムを導入することが大切です。機械学習をビジネスに取り入れる際は、まずどういったシステムが存在し、何が必要なのかを十分に見極めてください。

10人月分の作業も数分で完了可能なバッチシステムとは

10人月分の作業も数分で完了可能なバッチシステムとは
大規模バッチ処理システムに課題を抱える企業は少なくありません。特にシステムの肥大化による開発生産性の低下は大きな問題です。それを解消するのが、インテリジェント・モデルの開発支援ソリューション「ODIP(オーディップ)」です。

大規模バッチ処理システム開発に求められる「飛躍的な生産性の向上」「システムの肥大化防止」「見える化」「高品質、高性能」という4つの要件に対応し、すでに大手金融機関のミッションクリティカルなシステムにも採用されています。

ダウンロード

ODIP Enterprise Solution
おすすめの開発ツールを比較機械学習とディープラーニングの違いとは