Copyright(C) Open Stream,Inc. All Rights Reserved.
アイデア-1-2
(大学1 2年級)
■『重力場で投射された物体は
放物線を描く』
• 高校物理の知識
■計測データ=放物線+誤差
■最小二乗法で誤差を取り除く
34
35.
Copyright(C) Open Stream,Inc. All Rights Reserved.
最小二乗法の考え方
35
y = f(x)
S1
S2
S3 SN
P1(x1, y1)
ˆy1 = f(x1)
計測データ P1 PNについて、
S1 SNの合計が最小となるような
直線 y=f(x) を求める。
直線以外にも使える
36.
Copyright(C) Open Stream,Inc. All Rights Reserved.
最小二乗法の結果
36
• 放物線をデータに当ては
めた
• 統計学的に最も妥当な放
物線が得られる
37.
Copyright(C) Open Stream,Inc. All Rights Reserved.
例2:月面サッカー
リアルタイム計測編
■前述の計測システムが好評だったので、
次にリアルタイム化を依頼された。
■ボール飛行中にリアルタイムにノイズを取
り除いて画面に表示したい
■他のセンサー等の追加設備はない。
(コストダウンのため!)
37
38.
Copyright(C) Open Stream,Inc. All Rights Reserved.
アイデア-2-1
(大学1 2年級)
■ボールが飛行中に放物線を求めたい。
■リアルタイムデータに最小二乗法を適用し
てみる。
38
Copyright(C) Open Stream,Inc. All Rights Reserved.
月面サッカーの例では
■状態=[ボールの位置, ボールの速度]
■ニュートンの運動方程式を使って、状態方程式(遷移係数)を作成
■外部入力は月の重力(重力加速度)
■観測できるのはボールの位置だけ
45
青が計測値
赤が推定値
46.
Copyright(C) Open Stream,Inc. All Rights Reserved.
最小二乗法 vs
カルマンフィルタ
46
最小二乗
カルマン
フィルタ
メモリ負荷
大きい
(過去から現在までのセンサデ
ータを保持する必要あり)
小さい
(直近のセンサデータだけで良
い)
計算負荷 徐々に大きくなる 一定
47.
Copyright(C) Open Stream,Inc. All Rights Reserved.
余談:宇宙船と
カルマンフィルター
■1960年代の宇宙開発において、カルマンフィルターは
大きな役割を果たした(ロケットの軌道制御)
47
アポロ宇宙船の
誘導コンピュータ
(ソースコードが公開されている)
月ロケットの軌道制御
赤:ロケットの自己位置計測値
青:カルマンフィルタ推定軌道
緑:真の軌道
48.
Copyright(C) Open Stream,Inc. All Rights Reserved.
GPSもカルマンフィルター*
48
• この円は、カルマンフィルター
で推定された誤差の大きさを
示しています。
• 円は最初大きいが、しばらく
すると小さくなる。繰り返し
更新により推定誤差が小さく
なっていくためです。
*パーティクルフィルター等が使われている可能性もあります
49.
Copyright(C) Open Stream,Inc. All Rights Reserved.
フィルター理論は
マーケティングにも応用されつつある
■ 状態空間モデルによるインターネット広告のクリック率予測
http://www.orsj.or.jp/archive2/or57-10/or57_10_574.pdf
*この例では、パーティクルフィルタ(粒子フィルタ)を用いて
います。これは、カルマンフィルタと似た効果のある別のフィル
タ手法です。
49
Copyright(C) Open Stream,Inc. All Rights Reserved.
歪みを消すには?
■大きさが分かっている物体を撮影
■歪んだ画像データから、
元の画像への変換式を求める
■レンズの歪の特性を考える
• 歪の量は同心円状に分布、中心からの距離の関数
になる
• 多項式関数で近似できることが知られている
54
55.
Copyright(C) Open Stream,Inc. All Rights Reserved.
■アイデア図式
55
大きさ既知の
物体
P(X,Y)
レンズ
f()
歪んだ
画像
p(x,y)
p(x,y)=f(P)
大きさ既知の
物体
P(X,Y)
逆レンズ
g()
歪んだ
画像
p(x,y)
P(X,Y)=g(p)
g()=f-1() ←逆変換
56.
Copyright(C) Open Stream,Inc. All Rights Reserved.
■歪=データに含まれる誤差
• レンズの特性、製造誤差、カメラの製造誤差
• デジタル誤差(量子化誤差)
■誤差を消す=最小二乗法
• レンズ中心からの距離xに対する4∼6次方程式が
目的関数として良く使われる。
■データ数が多いほど解が安定する
56
57.
Copyright(C) Open Stream,Inc. All Rights Reserved.
キャリブレーションプレート
(較正基準器)
■市松模様や、ドット格子を良く使います。
(画像認識アルゴリズムで簡単にメッシュ点の位置(点群)が求まります)
→これを最小二乗法で処理して、変換関数 g()を求めます。
■OpenCVにも、この種のアルゴリズムが含まれています。
57
58.
Copyright(C) Open Stream,Inc. All Rights Reserved.
余談:スバルのeyesight
■ステレオカメラを利用している
■経年変化とキャリブレーションが課題の一つ
■どうやって解決したか?・・・調べてみてください
58
59.
Copyright(C) Open Stream,Inc. All Rights Reserved.
まとめ
■データ中心時代には Type-II データを
扱うことが必要
■Type-II データの処理には
数学的知識が欠かせない
■データを扱うあらゆる分野で数学が重要
59
Copyright(C) Open Stream,Inc. All Rights Reserved.
理由
■基礎知識・基本原理は普遍的であり、
時代を経ても変化しません。
■一度学べば、一生モノです。
■新しい技術へのキャッチアップが早くなり
ます。
■他の分野に応用することで、
新たな創造につながることもあります。
67
Copyright(C) Open Stream,Inc. All Rights Reserved.
数学を学ぶ人へのヒント
■学校数学と応用数学との違い
■数学は言葉
■数学はモデル
■エンジニアの利点を活かす
71
72.
Copyright(C) Open Stream,Inc. All Rights Reserved.
学校数学 vs 応用数学
■学校数学
• 数学の問題を解くために数学を学ぶ
• 意味・目的が分からない(ように思える)
• 『紙と鉛筆(手計算)』で解かないといけない
■応用数学
• 現実の問題を解くためのツールになる
• 意味・目的がはっきりしている
• コンピュータで解ければ良い
72
73.
Copyright(C) Open Stream,Inc. All Rights Reserved.
数学は言葉
■数学は『ワケワカラン記号の羅列』
ではありません。数学語という世
界共通の言語です。
■数学語を日本語に訳したり、日本
語を数学語に訳したりできます。
■まずは数学語を和訳できるように
なりましょう。
73
『数学は言葉』新井紀子著
74.
Copyright(C) Open Stream,Inc. All Rights Reserved.
数学はモデル
■モデル=模型
■数学は、計算のためだけのものではなく、
現実の問題を模型化するためにあります。
■数学的モデルは、コンピュータとの
親和性が高いです。
■方程式の解き方よりも、数学モデルの作り方を
学ぶほうが実践的です。
74
75.
Copyright(C) Open Stream,Inc. All Rights Reserved.
エンジニアの利点を活かして
数学を学ぼう
■数学をコンピュータ上で動かしながら
勉強すれば、早く深く理解できます。
■近年、数学向きのツールが多数登場
• R
• Python (IPythonがおすすめ!)
• Julia (最近注目)
• 数式処理ソフト(Mathematia, Maxima, Maple…)
75
76.
Copyright(C) Open Stream,Inc. All Rights Reserved.
オススメの勉強シナリオ
1.興味のある具体的例題を選ぶ
2.コンピュータ上で動かして例題を解く
3.そこに使われている数学手法を勉強する
基準:ある程度納得できるまで。
(多少わからなくても立ち止まらない)
4.同じ数学手法が使う別の分野の問題を調べる
76
77.
Copyright(C) Open Stream,Inc. All Rights Reserved.
ダメな勉強シナリオ
■教科書を1ページ目から勉強していく
■途中で理解できない箇所がでてきて、
先へ進めなくなって挫折・・・
77
78.
Copyright(C) Open Stream,Inc. All Rights Reserved.
おすすめ本
■高校までの数学に自信がない人向け
78
• 高校3年分の内容を1冊に
• 106時間分の講義音声ファイル
• 例題の詳細解答PDFファイル582ページ
• 独習向き
Copyright(C) Open Stream,Inc. All Rights Reserved.
Deep Learning以前の
パターン認識
84
入力
データ
特徴抽出
特徴量
データ
判別器
答
出力
従来法
人間(専門家)が設計・調整 機械学習(教師あり)
特徴量の設計が性能を左右する。
専門家が勘や経験則で特徴量を設計していた。
85.
Copyright(C) Open Stream,Inc. All Rights Reserved.
Deep Learningによる
パターン認識
85
入力
データ
特徴抽出
特徴量
データ
判別器
答
出力
従来法
人間(専門家)が設計・調整 機械学習(教師あり)
Deep Learning
機械学習(教師なし)
Google の Deep Belief Network:
膨大なデータと計算パワーにより、特徴抽出を自動化した!
『世界にはあらかじめ構造があり、その構造そのものを学習する』
特徴量の設計が性能を左右する。
専門家が勘や経験則で特徴量を設計していた。
86.
Copyright(C) Open Stream,Inc. All Rights Reserved.
word2vec
■Deep Learningを文書データに適用
■単語の意味を『意味ベクトルの合成値』
として表現できる
■King - Man + Woman = Queen という
計算を実行できる!
• 王・支配者という意味ベクトル
• 性別という意味ベクトル
86
87.
Copyright(C) Open Stream,Inc. All Rights Reserved.
機械学習の注意点
■OSS等が充実してきており学習器は誰でもすぐ使えます。
■しかし、結局は機械的な処理なので、どんな変なデータを
入力しても学習器は何かしらの(間違っているかも知れな
い)答を出してきます。
■データの性質の把握して、学習器の答を正しく評価するこ
とが必要になってきます。
■良い参考資料
• http://www.slideshare.net/canard0328/
ss-44288984
87
Copyright(C) Open Stream,Inc. All Rights Reserved.
とにかくこれを読もう!
■データは現実世界での意味づけ、
ストーリーがなければ活用でき
ません。
■人間は、最終的には言葉でのス
トーリー化された説明・理解が
必要です。
■一流の技術者になるには、明快
で論理的な文章力が必須です。
104
105.
Copyright(C) Open Stream,Inc. All Rights Reserved.
図解主義の危険性
■図やイラストは分かりやすいため、逆に
『分かった気になる』危険性がある。
■いざ文章に書いてみようとしたら、書け
ない!=自分が問題をキチンと理解して
いないことに気づくことがよくある。
105
106.
Copyright(C) Open Stream,Inc. All Rights Reserved.
参考:Amazon社の
ナラティブ経営
■ナラティブ(説話的・物語的)
■ アマゾンの会議は30分間の沈黙から始まる
• http://ascii.jp/elem/000/000/897/897508/
• 会議資料にパワポ(スライド資料)は禁止
• A4 4∼6枚の文章で説明することが求められる
• 会議の参加者は、前半30分で資料を精読、後半30分で深い討議
• 「重要な問題について理解してるかどうかを把握するためにナラ
ティブが重要。」
• 「最初は非効率的な会議だと思っていたが、今はちがう。事前にす
べての資料を読むわけにはいかないし、短い時間の中で問題の把握
ができて、何を解決したいかも分かる」
106
Copyright(C) Open Stream,Inc. All Rights Reserved.
私は英語が苦手です
■この本のやり方で勉強しています
■ヒアリング・発音重視
■脳の学習のクセを利用
■エンジニアは英語の読み書きは
できる人が比較的多いが、
会話が弱い人が多い
■会話にはヒアリング力が重要
108
Copyright(C) Open Stream,Inc. All Rights Reserved.
エンジニアの勉強で
大事なこと
■トップダウンとボトムアップのバランス
■インプットとアウトプットのバランス
■指標を使って成長を実感
110
111.
Copyright(C) Open Stream,Inc. All Rights Reserved.
■トップダウン型の勉強法
• まず問題を解いてみる。分からない箇所を逆にた
どりながら教科書を読む
■ボトムアップ型の勉強法
• まず教科書を一通り勉強してから、問題を解く
111
TOP
BOTTOM
112.
Copyright(C) Open Stream,Inc. All Rights Reserved.
伸び悩むエンジニアは
トップダウンだけ
■『すぐに役立つ』TIPSが大好き
■Qiitaは読むだけ
■『いまどきの』とか『イケてる』という
フレーズに弱い
■プログラミングを『覚え』ようとする
■『やり方(How to)』だけを知りたがる
■自分のコードを説明できない
■センスや経験だけに頼ろうとする
112
113.
Copyright(C) Open Stream,Inc. All Rights Reserved.
まず『やってみる』ことは大切
しかし・・・
■『やってみた』は TIPS/How to 知識
■for What/Why 知識を結びつけること
• 何のためにやるのか?
• なぜそうやると良いのか?
• どういう基本原理が作用しているのか?
• どういう前提条件なのか?
113
114.
Copyright(C) Open Stream,Inc. All Rights Reserved.
初めトップダウン
途中ボトムアップ、がオススメ
■新しい分野にチャレンジする時、
『まずやってみる』(例題・サンプル)
■やった結果を調べる
• なぜこのような結果が得られたのか?
• 自分が知っている言葉(=原理)で説明できるよ
うになるまで ること
114
115.
Copyright(C) Open Stream,Inc. All Rights Reserved.
インプットとアウトプット
■インプット
• 知識を頭に入れていく
■アウトプット
• インプットした知識を外に出す、実際に使う
115
116.
Copyright(C) Open Stream,Inc. All Rights Reserved.
インプットとは覚えるのではなく
理解すること
■ダメなエンジニア
• When, Howが中心
• 仕事を覚える=TIPSをたくさん覚えること、
だと思っている
■良いエンジニア
• Why, for What も押さえている
• 仕事を覚える=原理・原則・例外を理解する
• 自分の言葉で説明できる
116
117.
Copyright(C) Open Stream,Inc. All Rights Reserved.
伸び悩むエンジニアは
インプットだけ
■技術書を沢山買っている
• オライリーへの貢献が半端ない!
■勉強会とかセミナーに良く行く
• けど行くだけ
117
118.
Copyright(C) Open Stream,Inc. All Rights Reserved.
アウトプットするために
インプットしよう
■勉強会を主催してみる
■ブログに書いてみる
■デモプログラムを作る
■コンテストに出場してみる
118
119.
Copyright(C) Open Stream,Inc. All Rights Reserved.
指標の大切さ
■ゴール指標
• 資格取得、⃝⃝完成、etc.
■日々の指標
• 毎日何分やったか?など
• 進 の見える化=小さな達成感の積み重ね
• レコーディング・ダイエットの例
119
120.
Copyright(C) Open Stream,Inc. All Rights Reserved.
最後のまとめ
■データ中心の時代とは数学の時代
■技術の進化により数学のイメージが変わる、
学び方も変わる
■どんな時代でも生き残れるエンジニアに
なるには、基礎・基本が重要
■技術は覚えるのではなく、理解する
■勉強の仕方を見直そう
120