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
ITエンジニアのための「機械学習理論」入門 (ハンズオンガイド)
Search
Etsuji Nakai
October 23, 2017
Technology
3
330
ITエンジニアのための「機械学習理論」入門 (ハンズオンガイド)
2018/04/04 ver 1.2
Etsuji Nakai
October 23, 2017
Tweet
Share
More Decks by Etsuji Nakai
See All by Etsuji Nakai
GDG Tokyo 生成 AI 論文をわいわい読む会
enakai00
1
490
Lecture course on Microservices : Part 1
enakai00
1
3.3k
Lecture course on Microservices : Part 2
enakai00
1
3.3k
Lecture course on Microservices : Part 3
enakai00
1
3.3k
Lecture course on Microservices : Part 4
enakai00
1
3.3k
JAX / Flax 入門
enakai00
1
460
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
3.7k
大規模言語モデルを支える分散学習インフラ Pathways
enakai00
3
480
Python × 数学ブートキャンプガイド
enakai00
1
730
Other Decks in Technology
See All in Technology
AIエージェント入門
minorun365
PRO
33
19k
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
4
6.8k
Pwned Labsのすゝめ
ken5scal
2
570
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
340
Qiita Organizationを導入したら、アウトプッターが爆増して会社がちょっと有名になった件
minorun365
PRO
1
310
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
160
AIエージェント元年@日本生成AIユーザ会
shukob
1
260
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
330
OCI Success Journey OCIの何が評価されてる?疑問に答える事例セミナー(2025年2月実施)
oracle4engineer
PRO
2
220
OPENLOGI Company Profile
hr01
0
60k
MIMEと文字コードの闇
hirachan
2
1.5k
手を動かしてレベルアップしよう!
maruto
0
250
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
244
12k
Agile that works and the tools we love
rasmusluckow
328
21k
Designing for humans not robots
tammielis
250
25k
A better future with KSS
kneath
238
17k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
Raft: Consensus for Rubyists
vanstee
137
6.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Transcript
CodeZine Academy ITエンジニアのための 「機械学習理論」入門 (ハンズオンガイド) ver1.2 2018/04/04 中井悦司 (Twitter @enakai00)
2 CodeZine Academy 目次 ▪ ハンズオン環境の利用方法 ▪ 演習手順 - 演習1:最小二乗法による回帰分析
- 演習2:最尤推定による回帰分析(その1) - 演習3:最尤推定による回帰分析(その2) - 演習4:パーセプトロンによる二項分類 - 演習5:パーセプトロンとロジスティック回帰の比較 - 演習6:ロジスティック回帰のROC曲線 - 演習7:k平均法による画像変換 - 演習8:EM法による手書き文字分類
3 CodeZine Academy ハンズオン環境の利用方法
4 CodeZine Academy ハンズオン環境の利用方法 ▪ 本講義のハンズオン環境は、下記のBlog記事にしたがって準備したものが前提 となります。 - Google Colaboratory
を用いた演習環境の準備手順 - http://enakai00.hatenablog.com/entry/2018/02/11/151136
5 CodeZine Academy ハンズオン環境の利用方法 ▪ プルダウンメニューから「ファイル」→「Python X のノートブックを新規作 成」を選択すると新しいノートブックが開きます。 ▪
タイトル部分をクリックすると、新しいファイル名が設定できます。拡張子に は「.ipynb」を使用します。
6 CodeZine Academy ハンズオン環境の利用方法 ▪ ノートブック上では、セルにプログラムコードを入力して、▶ ボタン、もしく は、[Ctrl] + [Enter]
で実行すると結果が表示されます。 ▪ テキスト形式のセルには説明文を記載することができます。 コード形式、もしくは、 テキスト形式のセルを追加 テキスト形式のセル コード形式のセル
7 CodeZine Academy ハンズオン環境の利用方法 ▪ 実行結果を消去する際は、メニューから「編集」→「すべての出力を消去」を 選択します。 ▪ ノートブック全体を最初から実行し直す場合は、メニューから「ランタイム」 →「ランタイムを再起動」を選択して、実行環境を初期化します。
8 CodeZine Academy 演習手順
9 CodeZine Academy 演習1:最小二乗法による回帰分析 ▪ ノートブック「02-square_error.ipynb」を開いて、各セルの説明を読みなが ら、順番に実行していきます。 - このノートブックでは、最小二乗法による回帰分析を実施します。 ▪
下記の N を変えると、データ数(x軸上の観測点の数)を変更できます。 - データ数によって結果がどのように変わるか観察してください。 ▪ 下記の [0,1,3,9] は、グラフに描く4種類の多項式の次数を指定します。 - 多項式の次数を変えて結果がどのように変わるか観察してください。この時、多項 式の次数をデータ数以上に設定すると正しい結果が得られなくなります。
10 CodeZine Academy 演習2:最尤推定による回帰分析(その1) ▪ ノートブック「03-maximum_likelihood.ipynb」を開いて、各セルの説明を 読みながら、順番に実行していきます。 - このノートブックでは、最尤推定による回帰分析と最大ログ尤度の計算を行いま す。
▪ 下記の N を変えると、データ数(x軸上の観測点の数)を変更できます。 - データ数によって結果がどのように変わるか観察してください。 ▪ 下記の [0,1,3,9] は、グラフに描く4種類の多項式の次数を指定します。 - 多項式の次数を変えて結果がどのように変わるか観察してください。この時、多項 式の次数をデータ数以上に設定すると正しい結果が得られなくなります。
11 CodeZine Academy 演習3:最尤推定による回帰分析(その2) ▪ ノートブック「03-ml_gauss.ipynb」を開いて、各セルの説明を読みなが ら、順番に実行していきます。 - このノートブックでは、最尤推定による正規分布の推定を行います。 -
最後のセルを何度か繰り返し実行して、結果がどのように変わるか観察してくださ い。 ▪ 下記の [2,4,10,100] は推定に用いるサンプル数(4種類)を指定します。 - サンプル数によって結果がどのように変わるか観察してください。
12 CodeZine Academy 演習4:パーセプトロンによる二項分類 ▪ ノートブック「04-perceptron.ipynb」を開いて、各セルの説明を読みなが ら、順番に実行していきます。 - このノートブックでは、パーセプトロンによる二項分類を実施します。 ▪
分類用のデータは、2種類の2次元正規分布を用いてランダムに生成していま す。下記のパラメータでデータ数、中心座標、分散を変更できます。 - データの配置によって、結果がどのように変わるか観察してください。 データ数 中心座標 分散 ◦ ✕
13 CodeZine Academy 演習5:パーセプトロンとロジスティック回帰の比較 ▪ ノートブック「05-logistic_vs_perceptron.ipynb」を開いて、各セルの説明 を読みながら、順番に実行していきます。 - このノートブックでは、パーセプトロンとロジスティック回帰による二項分類を実 施します。
- 何度か繰り返し実行して、パーセプトロンとロジスティック回帰の結果の違いを比 較してください。
14 CodeZine Academy 演習6:ロジスティック回帰のROC曲線 ▪ ノートブック「05-roc_curve.ipynb」を開いて、各セルの説明を読みなが ら、順番に実行していきます。 - このノートブックでは、ロジスティック回帰を実施して、その結果をROC曲線で表 示します。
▪ 分類用のデータは、2種類の2次元正規分布を用いてランダムに生成していま す。下記のパラメータでデータ数、中心座標、分散を変更できます。 - データの配置によって、結果がどのように変わるか観察してください。 データ数 中心座標 分散 ◦ ✕
15 CodeZine Academy 演習7:k平均法による画像変換 ▪ ノートブック「06-k_means.ipynb」を開いて、各セルの説明を読みながら、 順番に実行していきます。 - このノートブックでは、サンプル画像「photo.jpg」を読み込んで、k平均法を用い て、画像の減色処理を行います。
▪ 下記の部分では、インターネットから画像をダウンロードして利用していま す。 - 同じ方法で、好きな画像をダウンロードして試してください。
16 CodeZine Academy 演習8:EM法による手書き文字分類 ▪ ノートブック「07-mix_em.ipynb」を開いて、各セルの説明を読みながら、順 番に実行していきます。 - このノートブックでは、混合ベルヌーイ分布を用いたEM法により、手書き文字の分 類を行います。
- 何度か繰り返し実行して、結果がどのように変化するか観察してください。 ▪ 下記の K=4 の部分で、分類するクラスター数を指定します。 - クラスター数を変更して、結果がどのように変化するか観察してください。
17 CodeZine Academy メモとしてお使いください
CodeZine Academy Thank You!