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
2k
簡単な機械学習 / Python ML
プログラミング基礎同演習
kaityo256
PRO
December 22, 2020
Tweet
Share
More Decks by kaityo256
See All by kaityo256
デバッグの話 / Debugging for Beginners
kaityo256
PRO
9
920
ビット演算の話 / Let's play with bit operations
kaityo256
PRO
4
240
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
15
4.9k
制限ボルツマンマシンの話 / Introduction of RBM
kaityo256
PRO
3
830
論文の読み方 / How to survey
kaityo256
PRO
220
160k
リンゴゲームと貧富の差 / Origin of the disparity of wealth
kaityo256
PRO
14
14k
渡辺研Slackの使い方 / Slack Local Rule
kaityo256
PRO
9
8.5k
時間の矢について / Time's arrow
kaityo256
PRO
12
17k
t-SNEをざっくりと理解 / Overview of t-SNE
kaityo256
PRO
2
1.3k
Other Decks in Education
See All in Education
"数学" をプログラミングしてもらう際に気をつけていること / Key Considerations When Programming "Mathematics"
guvalif
0
570
1106
cbtlibrary
0
420
Padlet opetuksessa
matleenalaakso
4
12k
Nodiレクチャー 「CGと数学」講義資料 2024/11/19
masatatsu
2
190
Os pápeis do UX Design
wagnerbeethoven
0
370
Tableau トレーニング【株式会社ニジボックス】
nbkouhou
0
19k
Zoom-ohjeet
matleenalaakso
7
7.2k
Web Architectures - Lecture 2 - Web Technologies (1019888BNR)
signer
PRO
0
2.7k
Comezando coas redes
irocho
0
370
RSJ2024学術ランチョンセミナー「若手・中堅による国際化リーダーシップに向けて」資料 (河原塚)
haraduka
0
220
学習指導要領から職場の学びを考えてみる / Thinking about workplace learning from learning guidelines
aki_moon
1
710
Kindleストアで本を探すことの善悪 #Izumo Developers' Guild 第1回 LT大会
totodo713
0
130
Featured
See All Featured
Producing Creativity
orderedlist
PRO
341
39k
Ruby is Unlike a Banana
tanoku
97
11k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
How to Ace a Technical Interview
jacobian
276
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Statistics for Hackers
jakevdp
796
220k
Music & Morning Musume
bryan
46
6.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Optimizing for Happiness
mojombo
376
70k
KATA
mclloyd
29
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
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を選ぶ