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
Agent Development Kit によるエージェント開発入門
enakai00
22
6.4k
GDG Tokyo 生成 AI 論文をわいわい読む会
enakai00
1
600
Lecture course on Microservices : Part 1
enakai00
1
3.7k
Lecture course on Microservices : Part 2
enakai00
2
3.6k
Lecture course on Microservices : Part 3
enakai00
1
3.6k
Lecture course on Microservices : Part 4
enakai00
1
3.6k
JAX / Flax 入門
enakai00
1
590
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.1k
大規模言語モデルを支える分散学習インフラ Pathways
enakai00
3
530
Other Decks in Technology
See All in Technology
許しとアジャイル
jnuank
1
150
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
290
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
2
600
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
170
業務効率化をさらに加速させる、ノーコードツールとStep Functionsのハイブリッド化
smt7174
2
130
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
4
360
コンテキストエンジニアリング入門〜AI Coding Agent作りで学ぶ文脈設計〜
kworkdev
PRO
0
250
Wasmのエコシステムを使った ツール作成方法
askua
0
120
"プロポーザルってなんか怖そう"という境界を超えてみた@TSUDOI by giftee Tech #1
shilo113
0
180
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
650
実装で解き明かす並行処理の歴史
zozotech
PRO
1
710
Where will it converge?
ibknadedeji
0
210
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
Speed Design
sergeychernyshev
32
1.2k
Mobile First: as difficult as doing things right
swwweet
224
10k
Thoughts on Productivity
jonyablonski
70
4.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Scaling GitHub
holman
463
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Producing Creativity
orderedlist
PRO
347
40k
Writing Fast Ruby
sferik
629
62k
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!