この連載では、機械学習にまだなじみがないITマネジャーやエンジニアに向けて、ビジネスへの活用を前提に、機械学習とその応用について説明している。

 第1回(機械学習は、なぜ「未知の問い」への答えを出せるのか)では機械学習についての大まかなイメージを、第2回(利用者をイライラさせないレコメンド機能を機械学習で実現する)ではネットショップのレコメンド(推薦)エンジンを例に取って機械学習の仕組みをそれぞれ解説した。前回までで機械学習の大枠はご理解いただいたと思う。

 今回は、機械学習を応用する際に知っておくと便利な勘所を紹介したい。前回までと同様、やや専門的な用語が出てくるが、頭の片隅に置いていただければと思う。

高校までに習う数学の考え方と逆

 連載第1回で「y=a+bx」という簡単な式を紹介したことを思い出してほしい。この式の「xとy」というサンプルデータを教師データとして学習させて、パラメーターである「aとb」を求めていく、というのが機械学習の基本的な考え方だと説明した。

 機械学習では、様々な式やそれを求めるためのアルゴリズムが提案されている。どのやり方も、考え方の基本はこの簡単な式で説明できる。この式をもう少し掘り下げて、機械学習の考え方を見ていく。

 いま「車はスタート位置aにいる。ここから時速bキロメートルでx時間進んだときの走行距離yを求めよ」という問題があるとする。この問題に、例で挙げた「y=a+bx」が適用できるのは、お分かりだろう。

 この式を使う場合は通常、xとyを「変数」、aやbを「定数」として扱う。つまり、aとbの値はあらかじめ決まっており、その前提のもとでxに何らかの値を入れたときのyの値、あるいはyが何らかの値を取るときに、yがその値になるためのxの値を求める。

 ここで先ほどの「この式の『xとy』というサンプルデータを教師データとして学習させて、パラメーターである『aとb』を求めていく」という説明に戻る。機械学習の基本的な考え方は、私たちが数学などの授業で習った考え方と逆であることが分かる。