SlideShare a Scribd company logo
1 of 24
機械学習勉強会(1)
教師あり学習の基礎
April 17, 2019
Tomoya Nakayama
今日おぼえてほしいこと
• 機械学習(教師あり学習)の理論
• 回帰分析
• 2値分類(ロジスティック回帰)
• 多値分類
• (ディープラーニング)
• 各種ライブラリ・ツール →後半ハンズオンあり
2
1. 機械学習の理論
3
単回帰分析
x y
1 3
2 5
3 7
4 9
5 11
6 ?
• 𝑦 = 𝑤𝑥 + 𝑏に当てはまるwとb
を求める。
• 𝑤は「重み(weight)」
• 𝑏は「バイアス(bias)」
4
解法 (1)
1. wとbを適当に設定する
• wはランダムに、bは0に
設定するケースが多い
2. 設定したwとbを使って、
与えられたxすべてに対する
yの予測値を計算する
• 𝑦𝑖 = 𝑤𝑥𝑖 + 𝑏 (0 ≤ 𝑖 ≤ 𝑛)
※nはデータの個数
0
2
4
6
8
10
12
0 1 2 3 4 5 6
y
x
実際の値 予測値
5
w=1, b=0に
設定
解法 (2)
3. 予測値と正解値との差分の
2乗を計算し、すべてのxに
おける平均値を求める
これが平均二乗誤差(Mean
Squared Error)
• 𝐽 =
1
𝑛 𝑖=1
𝑛
( 𝑦𝑖 − 𝑦𝑖)2
↑損失関数(Loss Function)
0
2
4
6
8
10
12
0 1 2 3 4 5 6
y
x
実際の値 予測値
差分の2乗を求める。
ここは(7-3)^2=16
6
解法 (3)
4. 損失関数をwとbでそれぞれ偏微分したものを求める
(仮にJ’(w), J’(b)とする)
• 𝐽′ 𝑤 =
𝛿
𝛿𝑤
𝐽
• 𝐽′ 𝑏 =
𝛿
𝛿𝑏
𝐽
5. J’(w), J’(b)に学習率(learning rate)αを乗じたものを
w, bからそれぞれ引いて新たなw, bを設定する
• 𝑤 ← 𝑤 − 𝛼𝐽′ 𝑤
• 𝑏 ← 𝑏 − 𝛼𝐽′(𝑏)
6. 2~5の手順を繰り返す。
7
重回帰分析
x1 x2 y
1 0 3
2 1 6
3 0 7
4 1 10
5 0 11
6 1 ?
• 𝑦 = 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑏に当ては
まるw1, w2, bを求める。
• 𝑋 =
𝑥1
𝑥2
, 𝑊 =
𝑤1
𝑤2
と行列表
現にすると、
𝒚 = 𝑾 𝑻 𝑿 + 𝒃と一般化できる
• あとの手順は単回帰分析と同
じ
8
2値分類
科目1 科目2 合否
64 75 ×
77 66 ○
82 55 ×
49 95 ○
58 83 ○
69 69 ?
40
50
60
70
80
90
100
40 50 60 70 80 90
9
2値分類
科目1 科目2 合否
64 75 ×
77 66 ○
82 55 ×
49 95 ○
58 83 ○
69 69 ?
40
50
60
70
80
90
100
40 50 60 70 80 90
10
合格と不合格の
境界線を見つける
2値分類の基本的な考え方
• 2値の一方を1、他方を0の数値に置き換える
• 先の例では合格=1、不合格=0
• 「1となる確率」を計算する
• 導出された確率と正解値(1または0)との乖離を損失とする
• 確率が0.5以上かどうかで1か0かを予測する
• 0.5の閾値は任意に変えてもよい
11
2値分類の目的関数
• 𝑦 = 𝜎(𝑊 𝑇 𝑋 + 𝑏)
• σはシグモイド(sigmoid)関数
• 必ず0から1の間の数値になる
• 正解が1なら1に近く、
正解が0なら0に近い数値が
出るようWとbを調整する
0
0.5
1
-6 -4 -2 0 2 4 6
y
x
シグモイド関数
12
2値分類の損失
• 𝐽 =
1
𝑛 𝑖=1
𝑛
−𝑦𝑖 log 𝑦𝑖 − 1 − 𝑦𝑖 log 1 − 𝑦𝑖
• ↑の式が交差エントロピー(cross entropy)
• 正解とσの計算値が近いほど損失が小さくなる
13
2値分類の評価
• 正答率(accuracy)は当てにならない
ことがある
• データの正解が1か0のどちらか一方に
大きく偏っている場合
• 全部1/0と予測しても正答率が
高くなる
• 適合率と再現率
• 適合率(precision)…1と予測したものの
うち正解が1である割合
• 再現率(recall)…正解が1であるもののう
ち1と予測した割合
予測/正解 1
(Positive)
0
(Negative)
1
(Positive)
True Positive False
Positive
0
(Negative)
True
Negative
False
Negative
14
多値分類
• 分類が3個以上になったもの
• 𝑦 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥(𝑊 𝑇 𝑋 + 𝐵)
• 𝑊 =
𝑤11 𝑤12 𝑤13
𝑤21 ⋱ ⋮
𝑤31 … ⋱
∈ ℝ 𝑚×𝑘
, 𝐵 =
𝑏1
𝑏2
𝑏3
∈ ℝ 𝑘
, 𝑦 ∈ ℝ 𝑘
• 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 𝑥𝑖 =
𝑒 𝑥 𝑖
𝑖=1
𝑘
𝑒 𝑥 𝑘
• 𝑚はパラメータの数、𝑘は分類の数
• Softmax値がもっとも高いものが予測分類
• 2値分類も結局はこれで一般化できる
15
多層パーセプトロン(MLP)
• Y=WTX+bの計算を複数個・複数層組み合わせて、
非線形の問題を解けるようにしたもの
• 中間層(隠れ層:hidden layer)はReLUなどの活性化関数を通す
16
←左図は3層のMLP
・入力層3ノード
・中間層(隠れ層)4ノード
・出力層2ノード
モデルのテスト
• 手持ちのデータを訓練データとテストデータに分けておく
• 交差検証(cross validation)用のデータを作ることも
• 訓練データとテストデータで正答率・損失を比べる
• オーバーフィッティング(学習しすぎ)
• 正則化(regularization)…ペナルティ項の導入
• アンダーフィッティング(学習しなさすぎ)
• データを増やす
• パラメータを増やす
17
2. 各種ライブラリ・ツール
18
機械学習フレームワーク
19
ライブラリ
• numpy(数値計算)
• scikit-learn(アルゴリズム)
• pandas(前処理)
• matplotlib(グラフ作成)
• seaborn(グラフ作成)
20
開発環境
• Jupyter Notebook/Lab
• コードとドキュメントの統合
• Jupyterと連動するIDE
• PyCharm
• Visual Studio Code
• Anaconda
• PC内に独立したpython環境を複数作れる
21
オンライン実行環境
• Amazon SageMaker
• Azure Notebook
• Azureのアカウントがあれば無料で使えるらしい
• Google Colaboratory
• Googleアカウントがあれば無料で使える
• Binder
• GitHub/GitLab上のJupyter Notebookを無料で実行できる
22
3. ハンズオン
23
ハンズオン
1. 線形回帰編
• Google Colab版
• Binder版
2. MNIST画像認識編
• Google Colab版
• Binder版
• Googleアカウントを使用でき
る場合はGoogle Colab版を選択
してください
• Googleアカウントを使用でき
ない場合はBinder版を選択し
てください
• Binder版は起動に10分程度かか
ることがあります
• Binder版はGPUを使えないため
動作が遅いです
24

More Related Content

What's hot

AtCoder Regular Contest 017
AtCoder Regular Contest 017AtCoder Regular Contest 017
AtCoder Regular Contest 017AtCoder Inc.
 
第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)Shin Asakawa
 
情報オリンピック夏合宿発表
情報オリンピック夏合宿発表情報オリンピック夏合宿発表
情報オリンピック夏合宿発表Kazuma Mikami
 
数学教材(中間発表)
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)Mizuguchi1205
 
080 統計的推測 検定
080 統計的推測 検定080 統計的推測 検定
080 統計的推測 検定t2tarumi
 
02 機械学習
02 機械学習02 機械学習
02 機械学習CHIHIROGO
 
AtCoder Regular Contest 036 解説
AtCoder Regular Contest 036 解説AtCoder Regular Contest 036 解説
AtCoder Regular Contest 036 解説AtCoder Inc.
 
120419サブゼミ意思決定(2) 1
120419サブゼミ意思決定(2) 1120419サブゼミ意思決定(2) 1
120419サブゼミ意思決定(2) 1takemuralab
 
ラビットチャレンジレポート 応用数学
ラビットチャレンジレポート 応用数学ラビットチャレンジレポート 応用数学
ラビットチャレンジレポート 応用数学ssuserf4860b
 
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説AtCoder Inc.
 
K2PC Div1 E 暗号化
K2PC Div1 E 暗号化K2PC Div1 E 暗号化
K2PC Div1 E 暗号化Kazuma Mikami
 
コンピュータで全く使われない数表現
コンピュータで全く使われない数表現コンピュータで全く使われない数表現
コンピュータで全く使われない数表現Yu(u)ki IWABUCHI
 
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333Issei Kurahashi
 
K070k80 点推定 区間推定
K070k80 点推定 区間推定K070k80 点推定 区間推定
K070k80 点推定 区間推定t2tarumi
 
AtCoder Regular Contest 021 解説
AtCoder Regular Contest 021 解説AtCoder Regular Contest 021 解説
AtCoder Regular Contest 021 解説AtCoder Inc.
 

What's hot (17)

AtCoder Regular Contest 017
AtCoder Regular Contest 017AtCoder Regular Contest 017
AtCoder Regular Contest 017
 
第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)
 
情報オリンピック夏合宿発表
情報オリンピック夏合宿発表情報オリンピック夏合宿発表
情報オリンピック夏合宿発表
 
回帰
回帰回帰
回帰
 
数学教材(中間発表)
数学教材(中間発表)数学教材(中間発表)
数学教材(中間発表)
 
080 統計的推測 検定
080 統計的推測 検定080 統計的推測 検定
080 統計的推測 検定
 
02 機械学習
02 機械学習02 機械学習
02 機械学習
 
AtCoder Regular Contest 036 解説
AtCoder Regular Contest 036 解説AtCoder Regular Contest 036 解説
AtCoder Regular Contest 036 解説
 
120419サブゼミ意思決定(2) 1
120419サブゼミ意思決定(2) 1120419サブゼミ意思決定(2) 1
120419サブゼミ意思決定(2) 1
 
ラビットチャレンジレポート 応用数学
ラビットチャレンジレポート 応用数学ラビットチャレンジレポート 応用数学
ラビットチャレンジレポート 応用数学
 
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
 
K2PC Div1 E 暗号化
K2PC Div1 E 暗号化K2PC Div1 E 暗号化
K2PC Div1 E 暗号化
 
コンピュータで全く使われない数表現
コンピュータで全く使われない数表現コンピュータで全く使われない数表現
コンピュータで全く使われない数表現
 
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
 
K070k80 点推定 区間推定
K070k80 点推定 区間推定K070k80 点推定 区間推定
K070k80 点推定 区間推定
 
仮説検定
仮説検定仮説検定
仮説検定
 
AtCoder Regular Contest 021 解説
AtCoder Regular Contest 021 解説AtCoder Regular Contest 021 解説
AtCoder Regular Contest 021 解説
 

Similar to Machine Learning Seminar (1)

プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~んTokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~んsleepy_yoshi
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習Hidekazu Tanaka
 
AtCoder Regular Contest 046
AtCoder Regular Contest 046AtCoder Regular Contest 046
AtCoder Regular Contest 046AtCoder Inc.
 
Rm20150520 6key
Rm20150520 6keyRm20150520 6key
Rm20150520 6keyyouwatari
 
Datamining 4th adaboost
Datamining 4th adaboostDatamining 4th adaboost
Datamining 4th adaboostsesejun
 
線形微分方程式
線形微分方程式線形微分方程式
線形微分方程式HanpenRobot
 
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++sleepy_yoshi
 
140618 教育評価論 テスト項目作成_
140618 教育評価論 テスト項目作成_140618 教育評価論 テスト項目作成_
140618 教育評価論 テスト項目作成_Koyo Yamamori
 

Similar to Machine Learning Seminar (1) (11)

プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~んTokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ~ん
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習
 
AtCoder Regular Contest 046
AtCoder Regular Contest 046AtCoder Regular Contest 046
AtCoder Regular Contest 046
 
Rm20150520 6key
Rm20150520 6keyRm20150520 6key
Rm20150520 6key
 
Datamining 4th adaboost
Datamining 4th adaboostDatamining 4th adaboost
Datamining 4th adaboost
 
Prml 1.3~1.6 ver3
Prml 1.3~1.6 ver3Prml 1.3~1.6 ver3
Prml 1.3~1.6 ver3
 
線形微分方程式
線形微分方程式線形微分方程式
線形微分方程式
 
暗認本読書会12
暗認本読書会12暗認本読書会12
暗認本読書会12
 
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
 
140618 教育評価論 テスト項目作成_
140618 教育評価論 テスト項目作成_140618 教育評価論 テスト項目作成_
140618 教育評価論 テスト項目作成_
 

Recently uploaded

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 

Recently uploaded (11)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

Machine Learning Seminar (1)

Editor's Notes

  1. たとえば病気の発見をしたいとき、「間違って陽性と判定されてもよいが、発見漏れは防ぎたい」という意図があるときは、適合率よりも再現率を重視する。適合率と再現率はトレードオフ。
  2. 講師の資料作成時点の開発環境は、ローカル:anaconda+pycharm、サーバーに持ってdockerで専用のコンテナを作ってコマンドラインもしくはjupyterで実行・評価している。