nikkie-ftnextの日記

イベントレポートや読書メモを発信

イベントレポート |【サポーターズ勉強会】機械学習入門

はじめに

だんないよ、nikkieです。
年が変わってから機械学習案件に配属され、日夜勉強中です。
抱えている疑問を解消できるかと「機械学習入門」という勉強会に参加してきました。

勉強会の概要

【サポーターズ勉強会】機械学習入門 - サポーターズCoLab

イベント概要

非エンジニア&機械学習を詳しくは知らないエンジニア向けの機械学習入門講座を
エンジニア向けにリメイクしてお届けします。

 AI・機械学習を正しく理解し、表層的な情報に惑わされず、使いこなしてほしいという前置きで
勉強会が始まりました。
以下、勉強会中のメモをもとにしたイベントレポートです。
なお、今回の発表は個人の意見であり、所属組織を代表するものではないそうです。

第一部:機械学習とは

  • 教師あり学習:赤ちゃんに教えるイメージ これは猫だよ
    例:スパムフィルタ スパムか非スパムかというデータから判定器を作る→未知のデータを判定
    世のサービスの8割
  • 教師なし学習:特徴が似たグループを見つける(特徴が似たグループが◯個あるということしかわからない)
    例:インスタの投稿解析 2つのグループに分ける
     →人間がこのグループはXXの写真とラベルを付ける
    教師ありと組合せて使われる
  • 強化学習:初期ルールと報酬だけ与えて学習させる しらみつぶしに計算させる
    迷路左手で壁を触って進むと20s 右手だけだと30s 左手+αなら。。。
    ルンバに使われている(掃除可能な床をすべて探索)スタート地点や家具の配置を変えると学習し直し

実例

YouTubeの推薦システム、アルファ碁

第二部:機械学習は万能か

→万能ではない

機械(AI)がなんでもやってくれるわけではない

何ができるのか

前提:大量に蓄積されたデータの中から

  1. 規則性を見つけ出し判定器を作る
  2. データをグループ分けする(クラスタリング
  3. 途中でルールが変わらないなら最適解を見つける(将棋や囲碁

機械学習でできないこと

  • データを集めること
  • データにラベルを付ける
  • 学習方法を決める

回し方

  1. 何をさせるのか決める(実例:ワインの等級を判別)
  2. データ集める
    データセットが公開されている
  3. データ前処理
    特徴量定義(数値に落とし込む)
    特徴量を絞る(主成分分析)
  4. 学習モデル選択(ワインの例は線形モデル)
    直線で切るか、曲線で切るかというイメージ
    13個の特徴量から2,3個選択する:超重要 完全に分けられる線を見つけた
  5. 評価方法を決める
    精度か、時間か、開発コストに見合うか
  6. 判定器(予測装置)の生成 ここだけが唯一機械だけでできること
  7. モデルの評価
    改善サイクルを回すのが非常に重要
    一回作った判定機が間違ったらフィードバック ←誤差の修正の仕組みがある

どんな判定機ができているか可視化できるのは目からウロコでした
(この線より右なら等級A、左なら等級B)


ワインの等級判別の例は以下のサイトなどもあるようです。

SGD(クラス分類)【Pythonとscikit-learnで機械学習:第1回】

 

おわりに

AIに代替される職業が話題になったが、AI vs 人間という構図ではなく
データやAIを活用しない人間 vs AI・機械学習を使いこなす人間 に分かれるのではないか

AI・機械学習を使いこなすには

  1. AI・機械学習を正しく理解する
    進化のスピードにキャッチアップ(何ができて何ができないかの認識を絶えずアップデート)
  2. サービス設計段階で将来的なAIの活用を想定しておく
    どこをAIに任せるか、どんなデータを集めるか
  3. 教師あり学習をしたいなら、例えばリアルタイムにデータにラベル付けできると助かる

業務として扱った時の課題

  1. イデアとAIが結びつかない
  2. 機械がなんでもやってくれると思い込んでいる できないと言っても理解してもらえない
  3. データがあると言われたが、Excel, PowerPointで蓄積されていた

解決策

  • モックアプリを作って目に見える形でアピール ←「振り返るとやるべきだった」
  • 機械学習リテラシーを向上させる

1がクリアされるとアイデアはめちゃくちゃ出てくる
2がクリアされるとコミュニケーションコストが減る
データはExcelと形式が近いスプレッドシートにためてもらう

学習法

 

以上です。

入門ということでバリバリ機械学習している方は少なめだったように思いますが、
情報交換して疑問点が解決でき、貴重な機会となりました。
参加者・運営者の皆様、どうもありがとうございました。