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.2k
簡単な機械学習 / Python ML
プログラミング基礎同演習
kaityo256
PRO
December 22, 2020
Tweet
Share
More Decks by kaityo256
See All by kaityo256
モンテカルロ法(3) 発展的アルゴリズム / Simulation 04
kaityo256
PRO
7
1.3k
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
5
2k
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
4
480
論文紹介のやり方 / How to review
kaityo256
PRO
15
84k
デバッグの話 / Debugging for Beginners
kaityo256
PRO
11
1.6k
ビット演算の話 / Let's play with bit operations
kaityo256
PRO
8
550
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
15
5.3k
制限ボルツマンマシンの話 / Introduction of RBM
kaityo256
PRO
3
1.3k
論文の読み方 / How to survey
kaityo256
PRO
223
170k
Other Decks in Education
See All in Education
プレゼンテーション実践
takenawa
0
7.2k
SARA Annual Report 2024-25
sara2023
1
180
Course Review - Lecture 12 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.7k
計算情報学研究室 (数理情報学第7研究室)紹介スライド (2025)
tomonatu8
0
550
The Art of Note Taking
kanaya
1
140
2025年度春学期 統計学 第5回 分布をまとめるー記述統計量(平均・分散など) (2025. 5. 8)
akiraasano
PRO
0
130
AIC 103 - Applications of Property Valuation: Essential Slides
rmccaic
0
240
GitHubとAzureを使って開発者になろう
ymd65536
1
130
OpenRobomaster 中国のロボットコンテスト 日本連携の可能性
takasumasakazu
0
450
生成AI
takenawa
0
7.2k
View Manipulation and Reduction - Lecture 9 - Information Visualisation (4019538FNR)
signer
PRO
1
2.1k
『会社を知ってもらう』から『安心して活躍してもらう』までの プロセスとフロー
sasakendayo
0
240
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
740
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Adopting Sorbet at Scale
ufuk
77
9.5k
Gamification - CAS2011
davidbonilla
81
5.4k
Making Projects Easy
brettharned
116
6.3k
The Invisible Side of Design
smashingmag
301
51k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
4 Signs Your Business is Dying
shpigford
184
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Designing for humans not robots
tammielis
253
25k
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を選ぶ