SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
最適化         前編



アレ  ソレ  コレ




 @kenchan0130_aki
アレ ソレ コレ
RNUOPTだと420000円
も!!




             誰でも   いま、Rをインストールしていると

                   最適化問題が

                   月額料金     0   円∼
自己紹介
• 学部4年生 → 院進学


• 専攻は確率過程、信用リスク


• Java、PHP、R(、Python)


• インターンでwebサイトを立ち上げ中
最適化とは

• 関数・プログラム・製造物などを最適な状態に近づけ

ること
                     引用:wikipedia


  今回の場合、ある制約条件のもとで関数を
  最大または最小にする解を探すこと
            =


          最適化問題
さっそくRに用意されている関数を使って
    最適化をしてみよう!
関数の最適化を考える
fw (x)

          80   100      120   140   160




    -40
    -20

x
    0
    20
    40
optimize(optimise)関数


• 一変数関数の最大、最小値を求めることができる


• maximum=TRUE   で最大化(デフォルトはFALSE)

• 黄金分割探索と逐次放物線補間の組み合わせ
早速使ってみる
fw (x)

          80   100 120 140 160




    -40
    -20

x
    0
    20
    40
fw (x)

          80   100 120 140 160




    -40
    -20

x
    0
    20
    40
100 120 140 160




ん?最適化できたのか?
fw (x)

         80




                           -40   -20   0   20   40

                                       x
範囲を狭めてもう一度やってみる
どうも初期値に依存す
                                                るのではないか




         100 120 140 160
fw (x)

         80




                           -40   -20   0   20   40

                                       x
どうも初期値に依存す
                                                るのではないか




         100 120 140 160
fw (x)

         80




                           -40   -20   0   20   40

                                       x
どうも初期値に依存す
                                                るのではないか




         100 120 140 160




    どうも怪しい
fw (x)

         80




                           -40   -20   0   20   40

                                       x
fw (x)

          80   100 120 140 160




    -40
    -20

x
    0
    20
    40
fw (x)

          80   100 120 140 160




    -40
    -20

x
    0
    20
    40
100 120 140 160




こうなるべきなんじゃないの?
  fw (x)

           80




                             -40   -20   0   20   40

                                         x
BFGS法は準ニュートン法
 CG法は共役勾配法(メモリー使用量
 が少ないため、大規模最適化に使え
 る可能性がある)
 L-BFGS-B法は制約条件を許す準ニュー
 トン法
                         optim関数
 SANN法はシュミレーテッド・アニー
 リング法(あまり一般的ではない)




• 多変数関数の最大、最小値を求めることができる


• control=list(   fnscale=(負の値) ) で最大化

• Nelder-Mead、BFGS、CG、L-BFGS-B、SANN法が使える


• 一変数に対しても使えなくはないが、既定の手法はう

 まく動作しない
多変数の最適化ができるなら



さっきのoptimizeの初期値を推定できるのでは?
つまり


二変数の最適化であると考えればいいのでは?
ということで、やってみた
fw (x)

          80   100   120   140   160




    -40
    -20

x
    0
    20
    40
fw (x)

          80   100   120   140   160




    -40
    -20

x
    0
    20
    40
fw (x)

          80   100   120   140   160




    -40
    -20

x
    0
    20
    40
                                       キタコレ
ちなみに、optim関数で推定した値は
optim関数


• Nelder-mead、SANN法は、微分できない関数にも使用

でき、初期値にそこまで敏感ではない

• 上記の手法で得られた値を使用して、BFGS、CG法を

使ってみるのも有
SANN法を使って一変数の最適化をやってみる
得られた値を使用してBFGS法を試してみる
fw (x)

          80   100   120   140   160




    -40
    -20

x
    0
    20
    40
たの か?
           optim関数
          に最
             が求
             適解
                まっ
     本当



• 原則として局所的最適値しか見つけられない


• 計算における数値誤差もあったりする


• 変数の数が多くなればなるほど、推定は難しくなる
nlm関数

• ニュートン法タイプのアルゴリズムを用いて関数を最

小化

• 最大化したい場合は   関数の戻り値 ×(−1)

• r-help記事によるとoptim関数より、しばしば良い結果を

与えるらしい
いい結果がでるならやるしかない
$codeが
1,2なら成功
3,4,5,6なら失敗
fw (x)

          80   100   120   140   160




    -40
    -20

x
    0
    20
    40
fw (x)

          80   100   120   140   160




    -40
    -20

x
    0
    20
    40
160


どうもnlm関数は初期値周りの
         140




 最小値を探しているみたい
         120
fw (x)

         100
         80




               -40   -20   0   20   40

                           x
nlminb関数


• PORTルーチンを用いた最小化関数


• 最大化したい場合は   関数の戻り値 ×(−1)

•   に包まれ(てしまっ)た最適化関数
fw (x)

          80   100   120   140   160




    -40
    -20

x
    0
    20
    40
fw (x)

          80   100   120   140   160




    -40
    -20

x
    0
    20
    40
160




ほぼ初期値の値が返ってきてしまう
           140
           120
  fw (x)

           100
           80




                 -40   -20   0   20   40

                             x
まとめ

• 非線形関数の最適化を行ってきた


• 用途に応じて最適化関数は使い分ける必要有


• 初期値選びで最適化が左右される


• 関数が動いたからと言ってそれが最適解とは限らない
参考文献

• RjpWiki            - 関数の最大・最小化

 •   http://www.okada.jp.org/RWiki/?%B4%D8%BF%F4%A4%CE%BA%C7%C2%E7%A1%A6%BA%C7%BE%AE%B2%BD




• R基本統計関数マニュアル

 •   http://cran.r-project.org/doc/contrib/manuals-jp/Mase-Rstatman.pdf




• Stefano M. Iacus (2011) - Option Pricing and Estimation of
 Financial Models with R

Weitere ähnliche Inhalte

Andere mochten auch

サーバ異常検知入門
サーバ異常検知入門サーバ異常検知入門
サーバ異常検知入門mangantempy
 
3次元のデータをグラフにする(Tokyo.R#17)
3次元のデータをグラフにする(Tokyo.R#17)3次元のデータをグラフにする(Tokyo.R#17)
3次元のデータをグラフにする(Tokyo.R#17)Takumi Tsutaya
 
Rデバッグあれこれ
RデバッグあれこれRデバッグあれこれ
RデバッグあれこれTakeshi Arabiki
 
近似ベイズ計算によるベイズ推定
近似ベイズ計算によるベイズ推定近似ベイズ計算によるベイズ推定
近似ベイズ計算によるベイズ推定Kosei ABE
 
Tokyo webmining 複雑ネットワークとデータマイニング
Tokyo webmining 複雑ネットワークとデータマイニングTokyo webmining 複雑ネットワークとデータマイニング
Tokyo webmining 複雑ネットワークとデータマイニングHiroko Onari
 
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqsleipnir002
 
異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –Yohei Sato
 
Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -
Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -
Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -Yohei Sato
 
Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」Takeshi Mikami
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringYahoo!デベロッパーネットワーク
 
Rて計量経済学入門#tokyo.r.17
Rて計量経済学入門#tokyo.r.17Rて計量経済学入門#tokyo.r.17
Rて計量経済学入門#tokyo.r.17yuuukioii
 

Andere mochten auch (13)

サーバ異常検知入門
サーバ異常検知入門サーバ異常検知入門
サーバ異常検知入門
 
Tokyor16
Tokyor16Tokyor16
Tokyor16
 
3次元のデータをグラフにする(Tokyo.R#17)
3次元のデータをグラフにする(Tokyo.R#17)3次元のデータをグラフにする(Tokyo.R#17)
3次元のデータをグラフにする(Tokyo.R#17)
 
Rデバッグあれこれ
RデバッグあれこれRデバッグあれこれ
Rデバッグあれこれ
 
近似ベイズ計算によるベイズ推定
近似ベイズ計算によるベイズ推定近似ベイズ計算によるベイズ推定
近似ベイズ計算によるベイズ推定
 
Tokyo webmining 複雑ネットワークとデータマイニング
Tokyo webmining 複雑ネットワークとデータマイニングTokyo webmining 複雑ネットワークとデータマイニング
Tokyo webmining 複雑ネットワークとデータマイニング
 
Tokyo r18
Tokyo r18Tokyo r18
Tokyo r18
 
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvq
 
異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –
 
Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -
Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -
Rで学ぶ 傾向スコア解析入門 - 無作為割り当てが出来ない時の因果効果推定 -
 
Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
 
Rて計量経済学入門#tokyo.r.17
Rて計量経済学入門#tokyo.r.17Rて計量経済学入門#tokyo.r.17
Rて計量経済学入門#tokyo.r.17
 

Mehr von Tadayuki Onishi

そろそろSublime Text 2を熱く語ろうと思う
そろそろSublime Text 2を熱く語ろうと思うそろそろSublime Text 2を熱く語ろうと思う
そろそろSublime Text 2を熱く語ろうと思うTadayuki Onishi
 
はじパタLT Section1
はじパタLT Section1はじパタLT Section1
はじパタLT Section1Tadayuki Onishi
 
Data Mining with R algae bloom case
Data Mining with R algae bloom caseData Mining with R algae bloom case
Data Mining with R algae bloom caseTadayuki Onishi
 

Mehr von Tadayuki Onishi (8)

はじパタLT3
はじパタLT3はじパタLT3
はじパタLT3
 
そろそろSublime Text 2を熱く語ろうと思う
そろそろSublime Text 2を熱く語ろうと思うそろそろSublime Text 2を熱く語ろうと思う
そろそろSublime Text 2を熱く語ろうと思う
 
はじパタLT2
はじパタLT2はじパタLT2
はじパタLT2
 
はじパタLT Section1
はじパタLT Section1はじパタLT Section1
はじパタLT Section1
 
アド部6回発表
アド部6回発表アド部6回発表
アド部6回発表
 
アド部5回発表
アド部5回発表アド部5回発表
アド部5回発表
 
garchfit
garchfitgarchfit
garchfit
 
Data Mining with R algae bloom case
Data Mining with R algae bloom caseData Mining with R algae bloom case
Data Mining with R algae bloom case
 

Kürzlich hochgeladen

論文紹介: 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
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス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
 
論文紹介: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
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Kürzlich hochgeladen (10)

論文紹介: 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
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: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...
 
論文紹介: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
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Tokyo r 10_12