2017年9月26日にBPStudy#121が開催されました。
第1部は、サイボウズ・ラボの西尾泰和さん*1にお話いただきました。
資料は以下です。
if文から機械学習へ
- 機械学習は、日頃のプログラミングから遠く感じるが、実は身近なif文と地続きでつながっている
要約
- if文は、重み付き和*2で表現できる。
- 重み付き和の重みを人間が決定するのがルールベース。コンピューター(機械)がデータをもとに決定するのが機械学習
あらためてまとめ
スライドだけでも充分に理解できると思いますが、分かった気にならないように自分でまとめてみました。
- (1)if文のシンプルな OR文とAND文
- (2)−1:複雑な条件を、if文で表現→And と Orが組み合わさって複雑
- (2)−2:真偽値を数値に変換して加算。数式で表現→複雑な条件もシンプルに表現できる
- (3)And 条件、Or条件、組み合わせ条件の右辺を1で揃え、左辺に係数をつける→重み付き和の表現になる
(4)複雑な条件を考えてみる→条件ごとに重みが異なる
- 重みを人間が決める=ルールベース
- 重みをコンピューター(機械)が決める=機械学習
オンラインPython学習プラットフォームのPyQでは、西尾さん監修のもと、if文からはじめて機械学習を使うまでの流れを、具体的な事例で学べるコンテンツを用意しています。
顧客価値と手法の関係
Q.以下の2つはどちらが顧客価値が高いか?
- 加工速度を2倍にする装置(顧客の利益を1万円増やす)
- 精度60%の識別器(顧客の利益を4万円増やす)
A.精度60%の識別器が4倍顧客価値が高い
- 精度は必ずしも重要ではない
- 顧客価値がどれくらい生まれるかが重要
- 顧客が何を求めていて、どのような制約条件があるか
(例)最新論文に書かれた手法を実装
- (制約条件)手法が要求する量のデータを顧客が用意できない
- その最新手法の実装は、顧客価値を持たない
機械学習の使いどころ
- リーンスタートアップのMVP(Minimum Viable Product)の考え方で必要最小限の実装を考える
ステップ1:コンシュルジュ型MVP(実装しない)
- 人間が仕事(サービス)を担当する
- 人間が担当しているが、時間や労力がかかっている→機械化で顧客価値が増えるチャンス
- 顧客は出来ているが、自分はやり方がわからない=情報の伝達漏れ
- 顧客も自分もやり方がわからない=ムリなことをやろうとしている可能性
ステップ2:人間を箱に入れて考える。
- 箱には電子データしか入力できない。出力も電子データ
- 顧客から入力データを得る方法、出力データを与える方法を考える(制約条件になる)
- 出力から顧客価値を生む方法を考える
- アルバイトに任せるとして、マニュアル(人間が考えたルール)を書いてみる
ステップ3:箱の中をコンピューター(機械)に置き換える
- ステップ2で考えたルールをプログラミングする
- 実行して顧客が満足するか
- 満足しないなら、具体的不満を収集する
- 入力に対する出力の要望=教師データ
ステップ4:機械学習の導入
- 教師データを使って機械学習
- 教師データが充実すると、アルゴリズムの良し悪しが定量的に測れるようになる
- ステップ3より精度が良いとは限らないので、PDCAサイクルを回し改善する
- 正しく分類できていないデータを眺め対策を考える(特徴量の追加など)
- 「判断の自信」を返してくれるアルゴリズム(ロジスティック回帰など)の場合、「自信のない結果」をみて教師データの追加(能動学習)
最後に(私のまとめ)
近年、AI、そのベース技術となる機械学習の手法が世の中で活用され始めました。
その流れからか「AIを使って何かできないか」という要望が経営サイドからあがり、経営課題に対していきなり機械学習を使い始めてしまうということもあるようです。
課題に対して機械学習をいきなり適用した場合、オーバースペックになりコスト高になってしまうことも多々あります。
オーバースペックにならないためには、以下の2つの見極めが必要です。
- ルールベースのプログラムでもできること
- 機械学習で楽にできること(ルールベースでは複雑で難しい)
これを見極めるための理解として、西尾さんは以下のことを説明してくれました。
- if文から機械学習は地続きで考えられること
- 顧客価値と手法の関係
- 機械学習の使いどころ
AI・機械学習を活用したい人は、これらを理解することで費用対効果に優れたソリューションをつくりだすことができるでしょう。
西尾さん、ありがとうございました!
*1:スライドの表紙にもありますが、2017年6月からビープラウドの機械学習系の技術顧問に就任していただいています
*2:係数をかけてつくられる和のことであり,加重和や線形和などともよばれる.例えば,数列(データに相当)x1,…,xnの各要素にそれぞれ係数(回帰係数に相当)w1,…,wnをかけて重み付き和がw1x1+…+wn xnとつくられる.引用元:実験医学online