Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
簡単な機械学習 / Python ML
Search
kaityo256
PRO
December 22, 2020
Education
2
2.4k
簡単な機械学習 / Python ML
プログラミング基礎同演習
kaityo256
PRO
December 22, 2020
Tweet
Share
More Decks by kaityo256
See All by kaityo256
この講義について / 00-setup
kaityo256
PRO
0
210
GitHubによるWebアプリケーションのデプロイ / 07-github-deploy
kaityo256
PRO
1
180
演習:Gitの基本操作 / 04-git-basic
kaityo256
PRO
0
340
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
0
210
演習:GitHubの基本操作 / 06-github-basic
kaityo256
PRO
0
200
バージョン管理とは / 01-a-vcs
kaityo256
PRO
1
200
Gitの仕組みと用語 / 01-b-term
kaityo256
PRO
0
190
計算物理におけるGitの使い方 / 01-c-compphys
kaityo256
PRO
2
480
コマンドラインの使い方 / 01-d-cli
kaityo256
PRO
0
100
Other Decks in Education
See All in Education
Security, Privacy and Trust - Lecture 11 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
Use Cases and Course Review - Lecture 8 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.4k
IHLヘルスケアリーダーシップ研究会17期説明資料
ihlhealthcareleadership
0
2k
The browser strikes back
jonoalderson
0
790
Adobe Express
matleenalaakso
2
8.2k
Information Architectures - Lecture 2 - Next Generation User Interfaces (4018166FNR)
signer
PRO
1
1.9k
Multimodal Interaction - Lecture 3 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
2k
悩める リーダー達に 届けたい書籍|レジリエントマネジメント 書籍イントロダクション-260126
mimoza60
1
400
心理学を学び活用することで偉大なスクラムマスターを目指す − 大学とコミュニティを組み合わせた学びの循環 / Becoming a great Scrum Master by learning and using psychology
psj59129
1
2k
地区危機管理委員会 出前セミナー「ロータリーにおける危機管理」:膳所 和彦 氏(国際ロータリー第2720地区 パストガバナー・日田ロータリークラブ・医療法人恒心会ぜぜ医院 理事長):2720 Japan O.K. ロータリーEクラブ2026年2月16日卓話
2720japanoke
1
600
1216
cbtlibrary
0
160
CoderDojoへようこそ ニンジャ&保護者向け (CoderDojo Guidance for Ninjas&Parents)
coderdojokodaira
1
110
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
0
390
Why Our Code Smells
bkeepers
PRO
340
58k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
GraphQLとの向き合い方2022年版
quramy
50
14k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
380
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
230
エンジニアに許された特別な時間の終わり
watany
106
240k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
70
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
140
How to Talk to Developers About Accessibility
jct
2
150
Transcript
1 簡単な機械学習 プログラミング基礎同演習 慶應義塾大学理工学部物理情報工学科 渡辺 2020/12/22
2 機械学習 • 機械学習とは • 過学習 • 回帰 • GAN
3 惑星の動きを観測する (大量のデータ) Ԧ = Ԧ モデル化 法則の抽出 (情報圧縮)
4 彗星の動きを予測できる (モデルが正しければ) Ԧ = Ԧ モデル計算 法則からスタート
5 惑星の動きを観測する (大量のデータ) なんらかのモデルを作る 彗星の動きを予測できる (モデルが正しければ) 情報圧縮
6 教師あり学習 (Supervised Learning) 教師なし学習 (Unsupervised Learning) 強化学習 (Reinforcement Learning)
「問題と解答のセット」を与えて学習させる方法 ・画像認識、家賃推定など データだけ与えて、データの分類を行う方法 ・売上データを解析し、一緒に売れそうな商品を推薦する等 エージェントの行動に適切に報酬を与えることで 最適な行動を学習させる方法 ・チェスや囲碁の思考ルーチンなど ネコ イヌ
7 分類問題 (classification) 入力に対して「ラベル」を推定する問題 ネコ イヌ 回帰問題 (regression) 入力に対して「値」を推定する問題 16万円
写真に写るものがネコか イヌか判定する 築年数、駅までの距離、 周辺施設などから家賃を 推定する 築年数: X年 駅から: 徒歩Y分 広さ: Z平米 近所にコンビニあり
8 荷重 x 伸び y バネの伸びと荷重の関係 とりあえずいろんな荷重に対して、伸びを測定してみる データセット 伸び 荷重
9 荷重xとバネの伸びyの 関係をたくさん測定する なんらかのモデルを作る 未知の荷重x’に対して、 正しい伸びy’を予測できる 情報圧縮 荷重 x 伸び
y 荷重 x’ 伸び y’
10 0 荷重 伸び 観測値 先程のデータセットをグラフにしてみる の関係が予想される 最小二乗法でaを決める モデルパラメータ
11 何が起きたか? 多数のデータセットから、モデルが決まった 情報が圧縮された このモデルは正しいか? どうすれば正しいと検証できるか?
12 データセット 訓練データ テストデータ モデルを決める モデルの予測性能を確認する データを2つのグループに分ける
13 0 入力 出力 訓練誤差 0 入力 出力 汎化誤差 訓練誤差
汎化誤差 訓練データとモデルとの誤差 テストデータとモデルとの誤差 訓練誤差が小さい =うまく学習できている 汎化誤差が小さい =モデルが予測能力を持つ
14 0 出力 入力 0 出力 入力 訓練データは完璧に再現するが… 訓練データ テストデータ
テストデータが全然合わない 0 出力 入力 訓練データに最適化され過ぎ、 予測性能を失うことを 過学習(Over fitting)と呼ぶ 実はこんな関数だった
15 荷重 x 伸び y モデル データ 荷重 x’ 伸び
y’ 予測 データ ネコ イヌ モデル モデルパラメータ:少数 最適化:最小二乗法 モデルパラメータ:多数 最適化:SGD, Adam, AdaGrad, etc. ネコ 予測
16 • 機械学習とは一種の情報圧縮 • 具体的にはパラメータの最適化 • 学習とは「訓練誤差」を減らす作業 • 目的は「汎化誤差」を減らす事 •
過学習とは「訓練データ」に最適化 され過ぎ、未知のデータへの予測能 力を失うこと
17 ※データは厚生労働省の平成30年賃金構造基本統計調査による 「年齢・学歴・企業規模」から「給与」を推定したい 学歴 中卒 高卒 高専・短大卒 大学・大学院卒 企業規模 小企業(従業員数〜99人)
中企業(従業員数〜999人) 大企業(従業員数1000人〜) 年齢 給与 「年齢・学歴・企業規模」を説明変数、「給与」を目的変数と呼ぶ
18 年齢と給与は強く相関していそう 「学歴」や「企業規模」はどのように取り込むか? = age age + age 係数の意味 毎年
円だけ給与があがる
19 →ラベルの変数化 企業規模が大きくなるほど給与が上がりそう size= 0 (小企業) 1 (中企業) 2 (大企業)
= age age + size size + 企業規模が給与に与える影響
20 = age age + size size + size= 0
(小企業) 1 (中企業) 2 (大企業) 係数の意味 小企業勤務に比べ、中企業勤務は size 円 だけ給与が多い 小企業勤務に比べ、大企業勤務は 2size 円 だけ給与が多い 中企業勤務による給与増分は、大企業と小企業の 中間であると仮定していることに 小→中→大の給与の増分は独立に扱いたい
21 「小規模かどうか?」「中規模かどうか?」の変数を作る 小 = 1 (小企業勤務) 0 (それ以外) 中 =
1 (中企業勤務) 0 (それ以外) 大 = 1 (大企業勤務) 0 (それ以外) 小 中 大 ( ) , , このようなベクトルを作ると 小企業勤務= (1, 0, 0) 中企業勤務= (0, 1, 0) 大企業勤務= (0, 0, 1) ベクトルのうち、要素一つだけ1、それ以外は0 これをone-hot 表現と呼ぶ
22 = age age + + + + 小 小
中 中 大 大 One-hot表現による回帰 係数の意味 中 中企業勤務の人は、小企業勤務の人より − 小 円だけ給与が高い 大 大企業勤務の人は、小企業勤務の人より − 小 円だけ給与が高い 差しか意味を持たないが、ラベルの数だけ変数を作るのが楽 学歴も同様にone-hot表現を作る
23 課題の手順 • Pandasを使ってデータを読み込む • 大企業に務める人の給与を学歴別にプロット • ラベル変数からone-hot表現を作る • 年齢・企業規模・学歴について回帰分析
結果の解析 = age age + + + + 小 小 中 中 大 大 company_size_small company_size_middle company_size_large age 係数が上記のような名前で得られるので、その値について考察 学歴は education_[middle/high/tech/university]という名前に
24 偽造者 (Generator) 博物館 (Real Dataset) 鑑定者 (Discriminator) 提供されたデータが 本物か偽物か見分ける
ニセのデータを生成 本物のデータを提供
25 ランタイムのタイプから「ハードウェアアクセラレータ」としてGPUを選ぶ