山梨大ADP 機械学習 2024年12月21日

この日も風邪のため、欠席でした。
ひさしぶりのNTTデータの会場でした。

NTTデータの会場
NTTデータの会場

▼自己紹介(改めまして)

 郷健太郎 山梨大学大学院総合研究部・教授
 熊本県阿蘇市出身

▼授業構成

 1.機械学習とは何か
 2.実習環境の準備
 3.機械学習の手順:データセットの確認
 4.機械学習を具体的に実現する
 5.応用事例:画像から数字を予測する
 6.ふりかえりとまとめ

▼機械学習とは何か
・従来のコンピュータ利用との違い
 ・AIができること:コンピュータが自動的に学習する
・機械学習

▼なぜ人工知能の研究が進んだのか?
 大量のデータを学習することで認識が可能になった
 →インターネットの発展から

▼AIができること
・パターン認識
 ・もともとコンピュータが不得意としていた領域:画像の認識
 ・写真に写っているのは馬か羊か?
 ・進歩した技術:ニューラルネットワークによるディープラーニング(深層学習)
 ・応用分野:物流での仕分けや課金,音声認識による自動翻訳・コールセンター,
  製品の検品,顔認証,医療画像診断,自動運転

 →人間ならば簡単にできることをコンピュータができるようになった

・プロファイリング・フィルタリング
 ・個人像を描き出すこと
 ・ユーザの個性に合わせて,一人ひとりに個人化された広告を出す
 ・応用分野:推薦(レコメンデーション),ターゲティング広告,
  フィルターバブル

 →人間では不十分にしかできないことをコンピュータがより良くできるようになった

▼AIがなぜすごいのか
・分けるだけであれば従来のコンピュータでもできる
 ・分けるための「手続き」をプログラムとして実現すれば良い
・現在のAI技術:膨大なデータをもとに学習すること
 ・大量のデータをもとにして,分ける精度を上げている
・データを追加することによって,さらに精度を上げられる
            ↓
        基本技術:機械学習

▼問題|イヌかネコか?
 なぜイヌとネコを見分けることができるのか?
  →これまでの経験から学習している
 見分け方を説明できないかもしれないが,見分けられると役に立つ

▼機械学習の種類
 教師あり学習:数値や分類を予測する学習
 教師なし学習:データをまとめる学習
 強化学習:経験してうまくなる学習

▼人工知能を一言でいうと何か?
 データを「入力」すると、予測や判断を「出力」するもの

 昔からあるコンピュータ(のプログラム)と同じでは?
 違い:膨大なデータで学習すること → 結果が変化していく

■分けることは分かること
 
▼問題:アイスの売上を考えてみましょう
 天気予報によると,明日の気温は22°Cです.
 アイスは何個くらい売れると予想されるでしょうか?

 天気予報によると,明日の気温は25°Cです.
 アイスは何個くらい売れると予想されるでしょうか?

 関係性:
  ・気温が低いとアイスは売れない
  ・気温が高いとアイスは売れる

   →直線的な比例関係

▼予測の考え方
 気温(ある数値)が分かれば,アイスの売上(関係する値)を予測できる

▼クラスタリング
 たくさんのデータをグループ分けする

▼機械学習の用途の違い
 回帰:ある値に関係する値がどんな数値になるかを予測するとき
 分類:あるデータが,どの分類にあてはまるかを予測するとき
 クラスタリング:たくさんのデータをグループ分け(分類)するとき

▼分かるとは?
 ・分けることは分かること
  ・私たちが「わかった!」と思ったとき,頭の中では「知識を分けている」
  ・あるものが,別のものと違いをはっきり区別できるようになったとき,
   はじめて「わかった」と言える
 ・「データを分類する,分ける」ということ
  ・私たちがものごとを理解する知的活動と似たところにある
 ・では,分けるとは何か?    
       ↓ 
    線を引くこと!

▼機械学習のアルゴリズムでやっていること:線を引く

▼うまく分けるためには意味のある特徴量が重要
 特徴量(測定できるデータ)
 ・花の大きさ
 ・花びらの色
 ・花びらの長さ
 ・花びらの幅

 特徴量には
 ・予測にとって重要なもの
 ・予測にとって意味のないもの

▼何のために(何の目的で)特徴量を使うのか
 説明変数:予測の根拠になるもの
  特徴量(花の大きさ,花びらの色,…)
 目的変数:予測される結果
  花の名前

■まとめ
 ・分けることは分かること
  ・代表的な教師あり学習:回帰,分類
  ・代表的な教師なし学習:クラスタリング
 ・機械学習のアルゴリズムでやっていることは「線を引く」こと
  ・回帰も分類も線を引いている
 ・うまく分けるためには意味のある特徴量が重要
  ・説明変数:予測の根拠になるもの
  ・目的変数:予測の結果
  ・次元:説明変数の数
 
▼この講義でやること
 ・Pythonで簡単なプログラミング
  ・開発・実行環境:Google Colaboratory (Colab)
  ・機械学習ライブラリ:scikit-learn (sklearn)
 ・機械学習の手順を体験
  ・データの確認(可視化)
  ・学習→テスト
  ・結果の可視化
 ・例
  ・データセットの確認
  ・無作為に生成したデータの使用
  ・画像から数字を予測

参考書籍:森巧尚: Python3年生機械学習のしくみ体験してわかる!会話でまなべる!
     翔泳社, 2021.
     https://www.shoeisha.co.jp/book/detail/9784798170305

■ハンズオン

▼Google Colaboratoryにアクセスする
https://colab.research.google.com
 ・新しいノートブックを作成する
 ・基本的な使い方を学ぶ
  ・セルにプログラムを入力する
  ・セルを実行する
  ・新しいセルを追加する
 ・少し長めのプログラムを実行する
 ・ノートブックを保存する
 ・保存されたノートブックを開く

▼サンプルデータセットを見る
 scikit-learn (サイキット・ラーン)
 ※Google Colab ではインストール不要

 ※ハンズオンではアヤメの散布図を作成

▼手順|機械学習を具体的に実現する
 1.データを用意する
 2.データを学習用とテスト用に分ける
 3.モデルを選んで,学習する
 4.モデルをテストする
 5.新しい値を渡して,予測する
 6.(分類の状態を可視化する)

▼手順|機械学習を具体的に実現する
 1.データを用意する
 2.データを学習用とテスト用に分ける
 3.モデルを選んで,学習する
 4.モデルをテストする
 5.新しい値を渡して,予測する
 6.(分類の状態を可視化する)

▼学習用アルゴリズムを変えてみる
 ・機械学習の大きな手法
  ・教師あり学習
  ・教師なし学習
  ・強化学習
 ・学習用アルゴリズム
  ・各手法で,具体的にどのように学習するかを決めている手続き
  ・アルゴリズムによって精度(賢さに相当)が変わる
 ・代表的なアルゴリズム
  ・線形回帰
  ・ロジスティック回帰
  ・SVM(サポートベクターマシン)
  ・決定木
  ・ランダムフォレスト
  ・k近傍法
  ・k-means(k平均法)

▼手順|画像から数字を予測する
 1.データを用意する
 2.データを学習用とテスト用に分ける
 3.モデルを選んで,学習する
 4.モデルをテストする
 5.新しい値を渡して,予測する
 6.(分類の状態を可視化する)

 ※ハンズオンでは数字から画像ファイルを予測

■感想
 ハンズオンで楽しく学べました、
 後半かなりむずかしかったですけどね。
 Pythonの実行方法が知れてよかったです、
 ChatGPTが平気でPythonのコードを吐くので。
 ありがとうございました。

コメント

タイトルとURLをコピーしました