Submit Search
Upload
機械学習のための数学のおさらい
•
31 likes
•
19,785 views
Hideo Terada
Follow
初等的な微分法の説明と、それが機械学習がどのように使われているかの概論。初心者向けです。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 52
Download now
Download to read offline
Recommended
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
Satoshi Hara
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門
irrrrr
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
佑 甲野
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン
Yuta Sugii
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
MLSE
[DL輪読会]data2vec: A General Framework for Self-supervised Learning in Speech,...
[DL輪読会]data2vec: A General Framework for Self-supervised Learning in Speech,...
Deep Learning JP
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
Recommended
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
Satoshi Hara
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門
irrrrr
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
佑 甲野
深層学習 勉強会第5回 ボルツマンマシン
深層学習 勉強会第5回 ボルツマンマシン
Yuta Sugii
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
MLSE
[DL輪読会]data2vec: A General Framework for Self-supervised Learning in Speech,...
[DL輪読会]data2vec: A General Framework for Self-supervised Learning in Speech,...
Deep Learning JP
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
Overcoming Catastrophic Forgetting in Neural Networks読んだ
Overcoming Catastrophic Forgetting in Neural Networks読んだ
Yusuke Uchida
深層生成モデルと世界モデル
深層生成モデルと世界モデル
Masahiro Suzuki
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
Eiji Uchibe
スパースモデリング入門
スパースモデリング入門
Hideo Terada
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太
Preferred Networks
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法
Satoshi Hara
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
Deep Learning JP
Transformerを雰囲気で理解する
Transformerを雰囲気で理解する
AtsukiYamaguchi1
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
Deep Learning JP
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
cvpaper. challenge
21世紀の手法対決 (MIC vs HSIC)
21世紀の手法対決 (MIC vs HSIC)
Toru Imai
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
gree_tech
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
Deep Learning JP
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
Deep Learning JP
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
Yusuke Uchida
Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2
Kota Matsui
【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者
cvpaper. challenge
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
Hideo Terada
画像処理AIを用いた異常検知
画像処理AIを用いた異常検知
Hideo Terada
More Related Content
What's hot
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
ryosuke-kojima
Overcoming Catastrophic Forgetting in Neural Networks読んだ
Overcoming Catastrophic Forgetting in Neural Networks読んだ
Yusuke Uchida
深層生成モデルと世界モデル
深層生成モデルと世界モデル
Masahiro Suzuki
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
Eiji Uchibe
スパースモデリング入門
スパースモデリング入門
Hideo Terada
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太
Preferred Networks
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法
Satoshi Hara
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
Deep Learning JP
Transformerを雰囲気で理解する
Transformerを雰囲気で理解する
AtsukiYamaguchi1
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
Deep Learning JP
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
cvpaper. challenge
21世紀の手法対決 (MIC vs HSIC)
21世紀の手法対決 (MIC vs HSIC)
Toru Imai
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
gree_tech
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
Deep Learning JP
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
Deep Learning JP
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
Yusuke Uchida
Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2
Kota Matsui
【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者
cvpaper. challenge
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII
What's hot
(20)
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
Overcoming Catastrophic Forgetting in Neural Networks読んだ
Overcoming Catastrophic Forgetting in Neural Networks読んだ
深層生成モデルと世界モデル
深層生成モデルと世界モデル
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
スパースモデリング入門
スパースモデリング入門
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太
東大大学院 電子情報学特論講義資料「深層学習概論と理論解析の課題」大野健太
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
Transformerを雰囲気で理解する
Transformerを雰囲気で理解する
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
21世紀の手法対決 (MIC vs HSIC)
21世紀の手法対決 (MIC vs HSIC)
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
SSII2021 [SS1] Transformer x Computer Visionの 実活用可能性と展望 〜 TransformerのCompute...
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2
【メタサーベイ】Vision and Language のトップ研究室/研究者
【メタサーベイ】Vision and Language のトップ研究室/研究者
SSII2022 [OS3-02] Federated Learningの基礎と応用
SSII2022 [OS3-02] Federated Learningの基礎と応用
More from Hideo Terada
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
Hideo Terada
画像処理AIを用いた異常検知
画像処理AIを用いた異常検知
Hideo Terada
B-DCGAN Slides for ICONIP2019
B-DCGAN Slides for ICONIP2019
Hideo Terada
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
Hideo Terada
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティング
Hideo Terada
ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)
Hideo Terada
データ中心の時代を生き抜くエンジニアに知ってほしい10?のこと
データ中心の時代を生き抜くエンジニアに知ってほしい10?のこと
Hideo Terada
技術系文書作成のコツ
技術系文書作成のコツ
Hideo Terada
More from Hideo Terada
(8)
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
画像処理AIを用いた異常検知
画像処理AIを用いた異常検知
B-DCGAN Slides for ICONIP2019
B-DCGAN Slides for ICONIP2019
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティング
ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)
データ中心の時代を生き抜くエンジニアに知ってほしい10?のこと
データ中心の時代を生き抜くエンジニアに知ってほしい10?のこと
技術系文書作成のコツ
技術系文書作成のコツ
Recently uploaded
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Recently uploaded
(9)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
機械学習のための数学のおさらい
1.
機械学習のための数学のおさらい 微分法と機械学習 株式会社オープンストリーム CTO 寺田英雄 2017.08.18 fun-tech
2.
数学ユーザーになろう! ■ 機械学習エンジニアにとって必要な数学力は、 まずは、”ツールとして”数学を使う能力です。 ➢ 学校のテストのようなトリビアルな数学問題を解くことが 目的ではありません。 ➢
数式の読み方と、その意味・イメージを理解できればOK。 ■ 学校の数学が苦手だった人でも大丈夫です。 ■ 言語やライブラリが進化しているので、 面倒な計算はコンピュータに任せればOK。 2
3.
今日の目標 ■ 微分法とはどういうことか、だいたい分かる ■ 機械学習に微分法が必要であることが分かる ■
ディープラーニング(NN)の学習と微分の関わりが ざっくり分かる ■ 微分関連の数学記号に慣れる 3 注:この資料では、説明をシンプルにするため、 数学的な厳密性は省略しています
4.
目次 1. なぜ機械学習には微分法が必要なのか? 2. 微分法のおさらい 3.
微分法による機械学習の実例 4. 数値微分 5. Deep Learning と微分法 6. まとめ 4
5.
5 イントロダクション 1.なぜ機械学習には微分法が必要なのか?
6.
関数(函数/function)のおさらい ■ 数学的な関数のざっくり定義 ➢ ある数
x を入れたら、別の数 y が(ある規則に従って)出てくる箱 • 入力変数x、出力変数 y 6 こう書きます 記号は任意です
7.
x, y に使える色々な『数』の種類がある ●
数の種類:数学での呼び方と、プログラムでの呼び方(例) 7 数学 プログラム 例(Python/numpy) スカラー(scalar) 数値定数、数値変数 0 ; 500 ; x ; y ベクトル(vector) 1次元配列 v = np.array([1, 4, 5]) 行列(matrix) 2次元配列 m = np.array([[3, 7, 11], [1, 8, 2]]) テンソル(tensor) 3次元(以上の)配列 m = np.array([ [[1,2], [3,4]], [[5,6], [7,8]], [[9,10], [11, 12]], ]) 備考: *テンソルは、他の数のクラス(スカラ・ベクトル・行列)をまとめて表せる概念です。 テンソル観点で、その数クラスを表すときの配列の次元数のことを『階数』といいます。 スカラー=階数0のテンソル;ベクトル=階数1のテンソル;行列=階数2のテンソル 関数の入力・出力は、上記のどんな組み合わせを用いても良い
8.
関数は便利な考え方 入力から出力を得るもの:なんでも関数とみなせる ■ RDBデータベースは関数 ➢ 入力:SQL/出力:クエリ結果データ ■
コンパイラは関数 ➢ 入力:ソースコード/出力:実行バイナリ ■ 顔認識は関数 ➢ 入力:画像/出力:顔の位置・大きさ ■ 天気予報は関数 ➢ 入力:現在までの気象データ/出力:明日の天候、気温、降水確率 8
9.
機械学習(ML) = データから(自動的に) 関数を作らせる仕事 9
10.
機械学習利用時の具体的ステップ 1. 問題の性質=作りたい関数の性質を考えて 2. (関数を作らせるための)どのMLアルゴリズムを使うか決める 3.
データをMLアルゴリズムに与えて、関数を作らせる 4. できあがった関数を使う 10 どうやって、関数を作っているの?
11.
機械学習:関数の作られかた 1. 関数には調整用のパラメータ変数θがある(ものが多い*) 2. MLアルゴリズムは、あなたのデータに合わせて 『最も良い』パラメータθの値を自動的に決定する 11 パラメータってどんなもの? *クラスタリング等の例外があります。 こう書きます
12.
パラメータの例 ■ 直線:1次関数 ■ グラフ:直線 ■
パラメータ: θ=(a, b) a:傾き, b:切片 12
13.
1次関数の例 13 パラメータを変える→関数の形が変わる
14.
補足:直線の傾き? ■ x軸方向の変化量⊿xに対するy軸方向の変化量⊿yの割合 ➢ =(x軸方向に+1進んだときの、y値の変化量)=a 14 ⊿x ⊿y 1 a
15.
パラメータの例 ■ 放物線:2次関数 ■ グラフ:放物線 ■
パラメータ:θ=(a, b, c) 15
16.
2次関数の例 16 パラメータを変える→関数の形が変わる
17.
パラメータの模式図 17
18.
機械学習:関数の作られかた 1. 関数には、調整用のパラメータ変数がある(ものが多い) 2. 各アルゴリズムは、あなたのデータに合わせて 『最も良い』パラメータ(=関数の形)を自動決定している 3.
最も良いパラメータを選ぶ方法: パラメータに対する評価(良し悪し)を数値化して判断する →パラメータをいろいろ変化させてみて、評価値の変化をみる →評価値 E はパラメータθを入力とする関数(と考えることができる) a. Eが利得値(gain)ならば、最大のものを選ぶ OR b. Eが損失値(loss)ならば、最小のものを選ぶ 18 関数の最大・最小を求めたい → 微分法が便利
19.
ここまでのまとめ なぜ機械学習に微分法が必要なのか? ■ 機械学習とはデータから関数 y=f(x,θ)
を作る仕事 ■ 目的のデータに『良く合う(適合する)』関数を作りたい ➢ 関数の形はパラメータθで決まる ➢ θによる関数 f の適合度関数 E=h(θ) とする ➢ 関数 h の最大(極大)値・最小(極小)値を求めるのに、 微分法が使える(数学的な原理) 19
20.
20 これが本題 2.微分法のおさらい
21.
微分法の主な使い道 ■ (1)関数の最大(極大)値・最小(極小)値問題を解く ■ (2)微分方程式を解く ※今回の範囲外 ➢
自然現象は、微分方程式の形で表現できるものが多い (例:物体の運動、惑星の運行、水や空気の流れ、電気回路・・・) ➢ 微分方程式を解くと: • 惑星や宇宙船の軌道を予測・制御できる • 電気回路の動作を予測・制御できる • 天気シミュレーション:大気の流れや気温の変化の予測ができる • etc... 21
22.
微分法による関数の極大・極小値の求め方概略 ■ ある関数* f
について、『微分』という操作を加えると、 『導関数**』と呼ばれる別の関数を作ることができる。 ■ 元の関数 f が極値(極大値or極小値)となる位置では、 導関数の値はゼロとなる。 ➢ つまり:導関数の値がゼロになる位置を見つければ、 そこは f の最大(極大)値か最小(極小)値となっている 22 なぜそうなる? *微分可能な関数 **導関数の別名:微分係数、微分
23.
導関数は、f(x)の各位置における接線の傾きになる ■ 接線って?(接線の定義) ➢ 曲線に”接しているだけ”の線 ➢
曲線上のある一点だけを通り、他の(付近の)点は通らない直線 23 放物線 y = x^2 x=1を通る接線 傾き a=2 3次関数 x=-1 を通る接線 傾き a=-2
24.
接線の傾きがゼロになるとなぜ:極大・極小? ■ 傾きがないので、その付近では関数の値はそれ以上大きく (OR小さく)なれない 24 接線は無数にある。 接線の傾きがゼロ以外なら、 関数の値はその付近で増減している。 接線の傾きがゼロになる位置 この場合は極小値
25.
極値の例(3次関数) 25
26.
接線を数学的にきちんと定める:極限(1) ■ 曲線y=f(x)上のある点Pと、少し離れた別の点Qを考えます。 ■ この2点を通る直線Lを考えます。 ■
QをどんどんPに近づけていくと、L(の傾き)は、 どんどん接線Tに近くなります。 26 y=f(x) T L P Q x y
27.
接線を数学的にきちんと定める:極限(2) ■ Qを限りなくPに近づけていったとき、Lが限りなく近づいていく先を求めることを、『点Pに おけるLの極限を求める』といいます。 ➢ この場合のLの極限は点Pの接線Tになります ■
数式では以下のように書きます(上記の日本語を数式に翻訳) 27 ←『直線Lは、P, Qに応じて 決まる』という意味を表現していま す。
28.
接線を数学的にきちんと定める:極限(3) ■ 直線Lをxy座標で書き直します ■ 接線Tの定義式に当てはめて 28 y=f(x) T L P Q ⊿x ⊿y L:
29.
接線を数学的にきちんと定める:極限(4) ■ という値が存在するとき、その値をPにおける微分係数といいます。 微分係数は以下の記号で表します。 ■ 別の記法もあります 29 ライプニッツの記法 「ディ−ワイディーエックス」 と読みます ラグランジュの記法 「ワイダッシュ」 と読みます ニュートンの記法 「ワイドット」 と読みます 微分係数を求めることを『微分する』といいます
30.
初歩的な微分の例 例: を で微分する。 30 x y a a+h f(a+h) f(a) ←この計算は、どんな a
についても成り立つの で、a を変数 x と読み直し、関数と考えることが できる。これを導関数という。 ⊿ y ⊿ x
31.
参考:いろいろな導関数(=微分)の公式 31 引用元:https://ja.wikipedia.org/wiki/%E5%BE%AE%E5%88%86
32.
32 3. 微分法による機械学習の実例
33.
一番シンプルな機械学習:最小二乗法 ■ 目的 ➢ 2つのデータ変数
X, Y があり、X と Y が比例関係にあると想定 されるとき、この X, Y の比例関係に最も近い直線を求めること。 ➢ 例: • X:身長, Y:体重 ➢ 応用:身長から体重を予測する。 33 y:体重 x:身長 ?
34.
一番シンプルな機械学習:最小二乗法 ■ 概略手順 ➢ データに対する直線
f の『近さ』を示す関数 g を作る。 ➢ 評価関数 g を微分して、極値(最小値)を求める。 ■ gの作り方:データとfの当てはめ誤差の二乗 34 y:体重 x:身長
35.
一番シンプルな機械学習:最小二乗法 ■ sを全データについて計算し、その総和を計算する 35 y:体重 x:身長 ? 1 2 3 4 5 6 7 8 このgを最小化するように 直線fのパラメータを決めればOK y=f(x)
36.
一番シンプルな機械学習:最小二乗法 ■ gの最小値の求め方 ■ g
を a, bについて微分(偏微分)して、最小値を求める 36 ←gは、変数a, b の関数(2変数関数)と見立てる この連立方程式をとけば良い #Pythonでは scikitの LinearRegressionクラスで 最小二乗法による関数当てはめができます。
37.
偏微分(partial differenciation)とは? ■ 多変数関数について、どれか一つの変数に着目して微分するこ と。その際、他の変数は定数と考える。 ■
例: 37 を、yについて偏微分する xについて偏微分する (デーエフデーエックスと読みます) (デーエフデーワイと読みます) 偏微分記号:ギリシャ文字の D 『デー』 『パーシャルディ−』 『パーシャル』 『ラウンドディー』 『ラウンド』
38.
偏微分の図形的イメージ 38 ■ fは、(超)空間にある曲面を表す ■ 偏微分は、特定方向への曲面の傾きである
39.
39 コンピュータ上での微分 4. 数値微分
40.
解析的な微分と、数値微分 ■ 解析的な微分 ➢ 数学の世界:数式で関数を書けるもの。 ➢
手計算できる。 ➢ 極大・極小がイッパツで見つかる。(微分=0を解くだけ) ■ 数値微分 ➢ 微分を差分に置き換えて数値計算し、微分を『近似』したもの。 • コンピュータでは、極限(無限小)を直接扱えない。 • MLなど現実的な問題では、関数の形は非常に複雑になり、 解析的な数式では表現できない。 ➢ 注意点 • 極大・極小は、探索処理で見つける必要がある。 • 厳密に見ると誤差がある。 ✓ 実用的に十分な誤差範囲を設定し、そこで計算を打ち切る。 40
41.
数値微分の実装 ■ df/dx を
⊿f/⊿x で近似する ■ 十分に小さい ⊿x を決める ➢ 例えば、ディープラーニングでは、1/10000 = 0.0001が使われる ■ 以下を計算する 41 x=a f(a) f(a+⊿x ) x=a+⊿x
42.
数値微分の問題 ■ 前か後か?:差分をとる方向によって結果が変わる・不安定 ■ 対策:中心差分 42 前方差分 後方差分 真の接線 中心差分
43.
43 5. Deep Learning
と微分法
44.
ディープラーニングはややこしい関数の生成器 ■ 多層ニューラルネットワークは、複雑で高次元な関数を表現する 仕組み。 ➢ 複雑ではあるけれども、関数であることに変わりはない ■
解析的な微分はできない。 44
45.
ディープラーニングの学習=損失関数の最小化 ■ 教師あり学習(分類) ➢ 入力データ: ➢
ラベル(教師): ➢ DLの出力: ➢ 損失関数: ➢ NNの重みパラメータ: 45 Neural Network ←ネットワークの結合状態を調整 文字の正解ラ ベル 例:手書き文字画像
46.
■ wを勾配法によって繰り返し更新し、Lを最小化します。 つまり: 損失関数の最小化=wの調整 46 Neural Network ←ネットワークの結合状態を示す となるwを探します。 アルゴリズム (勾配降下法)
47.
勾配法(勾配降下法) ■ 仮に wを2次元とすると、L
はw上に表現された地形図のようなも のになる。 47 注:実際の学習では、このような『全体像』は見えていません
48.
勾配法(勾配降下法) ■ Lを各次元方向に偏微分した値を見れば、各地点で『最も傾いてい る向き』が分かる。これを勾配(gradient)という。 48 『ナブラL』と読みます
49.
勾配法(勾配降下法) ■ 勾配の向きにそって少しづつ坂を下れば、 いずれ極小値に到達できる。 49 極小値 学習率『エータ』 どれくらい早く坂を下る か? (ハイパーパラメータ)
50.
勾配法のイメージ ■ あなたは突然山に放置されました。濃霧で足元しか見えません。 地図・GPSやコンパス等はありません。 ■ あなたは不死身のロボットですが、歩行しかできません。 ■
もっとも早く山を降りる方法は? 50
51.
誤差逆伝播法 ■ 勾配法の問題 ➢ 計算に時間がかかる ■
誤差逆伝播法(Backpropagation) ➢ 効率のよいwの更新ができる ➢ 詳しくは専門書にて・・・ 51
52.
まとめ ■ 機械学習とは? ➢ (複雑な)関数をコンピュータに作らせること ■
関数を作る方法 ➢ パラメータ最適化 ■ パラメータ最適化の方法は? ➢ 微分法が使われる ■ 微分とは ➢ 曲線の接線の傾き=導関数を求める ■ 解析的微分と数値微分 ■ 偏微分、勾配法とNNの学習 52
Download now