機械学習を活用した情報システムの数や規模が急拡大している。背景には、ここ最近のビッグデータ基盤の整備がある。大量のデータを蓄積し、それを解析して見えないものを予測し、ビジネスに活用したい。そんなニーズに応えるのが、機械学習なのだ。
例えば、みずほ銀行は2015年10月、コールセンターで試用してきたIBM Watsonによる端末を20倍の規模に拡大した。将来的には同年7月に5店舗に配置した人型ロボット「Pepper」と連携させる計画である。リクルートテクノロジーズでもこの7月、SNS「ギャザリー」の中で機械学習の試験運用を開始。投稿された画像を自動で識別し、社会的に問題のあるセクシャル/グロテスクな画像を人が介在することなく排除する仕組みである。
もはや機械学習はバズワードではない。このほかにも活用事例が次々に報告されている。ITエンジニアが機械学習を活用したシステム構築・運用にかかわる機会は今後、確実に増えるだろう。
機械学習の五つの用途
では、ITエンジニアとしてどんな準備をすべきなのか。まず、基本的な概念や特徴、活用シーンを理解することから始めたい。例えば機械学習と人工知能を混同する人は多い。そもそも機械学習とは、人工知能(AI)に包含される「学習」の技術要素である(詳しくはp.47の別掲記事を参照)。
機械学習とは、さまざまなデータ(見えているもの)から見えていないものを予測する技術だ。まずビッグデータ基盤に蓄積したデータを解析し、予測モデルを作る。その上で別システムなどからAPIを通じてデータを渡し、予測モデルにかける。そこから読み取れる未知の何かを予測するのが機械学習である。
具体的にその用途は、大きく五つに分類できる(図1)。一つは「クラスタリング(Clustering)」である。値の類似性を基に、与えられたデータを複数のグループに分けるもの。検索エンジンや、ユーザーの嗜好をグループ化する場合などに使う。