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
20
5.9k
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
580
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.1k
大規模言語モデルを支える分散学習インフラ Pathways
enakai00
3
520
Other Decks in Technology
See All in Technology
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
210
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
260
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
980
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
580
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.5k
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
210
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
580
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
190
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
210
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
420
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Building Adaptive Systems
keathley
43
2.7k
Writing Fast Ruby
sferik
628
62k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
530
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
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!