とある大学生の勉強メモ

Python, C#, UWP, WPF, 心理実験関連の開発備忘録

麻雀 点棒自動計算器を制作

最近では主流となっている麻雀の点棒自動計算機を作ってみた備忘録を残す.
ロードセルを使った重さで計測する手法,抵抗値を計測する手法,磁気センサを用いた手法,ラズパイとカメラによる画像認識などを考えた末,
抵抗を使ったやり方が手軽でノイズに強く,精密な計算ができると考え,抵抗案を採用.
問題の骨子は並列に配置された抵抗を如何に計測するかと,計測した抵抗を如何にLEDで出力するかであろう.

環境
windows10
mbed LPC1768(https://os.mbed.com/)

ステップ1 点棒の数をカウントする機構

まず抵抗をマイコンで計測できなければ話にならない.
用いたマイコンはmbed LPC1768.
f:id:amakazeryu:20210216054624p:plain

抵抗値をマイコンで計測

まずテストとして適当にアナログピンp20を指定する.以下のコードで指定したピン20の電圧を計測する.

#include "mbed.h"
 
AnalogIn myInput(p20);
Serial pc(USBTX, USBRX);
 
int main() {
    while(1) {
        pc.printf("%f\n", myInput.read());//PCでシリアル出力
        wait(1);//1s待つ
    }
}

配線はこんな感じ.1MΩをp20と3.3V-Outに割り込ませて,p20の電圧を計測する.

f:id:amakazeryu:20210216065634p:plain

USBでPCと接続し,値をチェックする.
USBポートを使ったシリアル通信用のドライバを入れることを忘れないようにしよう.

mbed.org

tera termでシリアルの返り値を見ると,まあ取れているっぽいゾ.

f:id:amakazeryu:20210216070441p:plain

こちらの値が1になると,指定したpinはグラウンドに対して3.3Vの電圧を有することになる.

分圧で抵抗を求める回路の作成

マイコンは電圧計測を主に行えるため,分圧の式から抵抗xを求める.
回路図は以下の通り.

f:id:amakazeryu:20210216155738p:plain

回路から,抵抗にかかる電圧V_rは,V-outから出力された電圧V_oと,定格抵抗A[Ω]を用いて,

V_r = \dfrac{x}{x+A}*V_o

と求まる.
したがってpin20で計測される電圧V_p

V_p = V_o - V_r

となるであろう.xを可変抵抗とみなしたときV_pが0~1まで満遍なく散らばれば,より多くの本数の分類が可能となる.
手持ちの100k[Ω]を使って10本の本数のカウントを想定してみた.

f:id:amakazeryu:20210216163827p:plain

これでは不安という方には数値解析を行おう.
解析的に解かねばならないのは,0~0.01の範囲でもっとも増加幅の良いグラフf(x)= \dfrac{x}{x+a}のパラメータaを決定すればよい.
Grapesというソフトが無料で素晴らしい.パラメータaをいじいじして,よさそうなグラフを見つけよう.(定格抵抗aを0から1まで)

f:id:amakazeryu:20210217210800g:plain

おそらく100kを点棒に使う場合,定格抵抗は25k[Ω]が良さそうだ.無論総当たりで数値解も出せるわけだが,評価関数の用意などしなくてはならず,今回はそこまでやらん!

次回予告

それでは次に抵抗付き点棒を用意しどこまで本数を区別できるのかのテストをしてみる.
計測した電圧値はもちろんノイズの影響を受けてばらつく.その平均を取って,うまく抵抗本数を推定できるかが勝負だ.
あまりにノイズが厳しい場合,オペアンプなどの増幅回路を投入して,抵抗の変化に対して電圧が反応しやすいようにする必要がある.

入力側が終わればあとは7セグにいかに出力するかだ.

セーリングのコース理論 タクティクス編 戦術と戦略の違いから

前置き:コース理論における2つの視点

コースを勉強するといっても実は二通りある.ずばりストラテジー(戦略)とタクティクス(戦術)である.ストラテジーとは戦略を意味し,マクロな視点からコースを組み立てることを指す.逆にタクティクスとは戦術を意味し,ミクロな要所要所の視点でコースを組み立てることを指す.また他艇という言葉を使う際に,ストラテジーでは往々にして艇団を想定するが,タクティクスでは艇一つないし二つ程度を想定する. f:id:amakazeryu:20200907151926p:plain

まず最も大切なこととして「タクティクスはストラテジーに勝てない」ということを断っておく.戦略でまさっていたのに戦術で負けたというのはコードギアスのスザク&ランスロットほどのぶっ壊れ戦術兵器が登場しない限りあり得ない.またぶっ壊れ性能がある敵とは基本的に戦わないでいいと思う.

さてストラテジーでは「どちらの海面にいくのか?」や「アプローチはどちらからするのか?」といったスタート前に組み立てる要素が多い.スタート前に「ブローがどちらにあるのか?」は当然ペアで協議すべき内容だろう.また当日の海上における観察だけでなく,陸にいるときの天候の予想やパターンの把握なども必要になってくる.ストラテジーのほとんどは海の上ではなく,陸で完結することの方が多い.そしてこれは例えば予選突破がかかったレガッタなどで,どの艇をマークするのかといったことも含まれる.従ってストラテジーとは「スタート前に決まっている予定のコース」と言い替えてもよい. ストラテジーを組み立てるのは基本的にスタート前,二上ならば一下ランニングの暇な時間帯である.決してクローズ帆走中にストラテジーは決まらない.常にスタート前あるいはランニング中に次のクローズのストラテジーを組み立てる癖をつけてほしい.

上記を理解した上でさらに順位を一つ一つ伸ばそうという考え方がタクティクスである.一点で泣くことはよくある.特に実力が伯仲するときは大きなコースミスが出にくく,タクティクスで差が出ることが多い.小さな勝利を積み上げていくのは本当に大切だ.しかしウインドストラテジーなどを見てもセーリングのタクティクスを言語化している文書はほとんどない.これはうまい人は意識せずに行っている代表格だからだと思う.「こういう時はこうする」というのが何度とないレース経験から導かれているのだ.しかし学生の時間は有限で,レース経験も稼げない.そこで今回知識化しようという試みを行いたい.

・クローズタクティクス

代表的なクローズタクティクスを紹介する.中級者ならだれでも知っているがおさらいとして見てほしい.

1.リーバウ

クローズのタクティクスとして最も有名なのがリーバウ(下受け)タックだろう.並んで走る際に,先行している下の艇が風をセールでベンドさせることで,後ろの艇がヘダーの風を受けることを利用している.まず最初に知っておくべき戦術だ.

f:id:amakazeryu:20200907144504p:plain

2.ドライブ⇒ブランケット

これも基本的な戦術.470は基本的にドライブメインな艇種だと思うが,特に潰したい下艇がいるときはドライブで被せていくという戦術がある.これは普通に帆走していても起こることなので特段戦術感はない.行きがかり上被せてしまうことの方が多い.通称ごめんなさいね~ブランケット. f:id:amakazeryu:20200907145052p:plain

3.ピンチング⇒リーバウ

スタート直後やレイライン,そして逃げのタックを打ちたくないときに出てくる.ドライブメインな470だが,あえてピンチングして上艇を潰さなくては自艇がブランケットポジションに追いやられてしまうことが多い.ボディアクションと合わせることで速度を落とさず角度だけ稼ぐこともできるので練習しよう.通称上殺し.なんかかっこいい.

f:id:amakazeryu:20200907145231p:plain

4.上マークアプローチでのドライブ⇒ゾーン内タックへのプロテスト

これも学生の大会だとよく見かける.上マークにオーバーセール状態でフェッチングしている際,余裕をもってドライブ目でアプローチし,タックした相手艇をラフして避けて(avoid)プロテストコール.ゾーン内でタックした艇は後続艇をラフさせてはいけないルールを逆手に用いる手段だ.ジャッジの人曰く95%でスタボ艇が勝つというぐらい注意しなくてはいけない審問案件なのでポートアプローチ時は注意しなくてはならない. f:id:amakazeryu:20200907150538p:plain

箸休め

以上4つは基本的なのでほとんどの中級セーラーは知っていると思う.ほかにもミートするポート艇に「前通っていいよコール」やサンドイッチ下受けなどあるがとりあえずクローズはこのあたりでおしまいにしたい.本番はランニングである.なぜかランニングになると「戦術なんてブランケット以外ないよ」となる人が多い.全くの的外れである.ランニングの方が戦術でやることは多い.そして上手い人はこの戦術を意識下で行ってしまうので,経験者とランニングで差がついてしまうわけだ.

・ランニングタクティクス

とはいえ一にも二にもブランケットである.そしてブランケットを気にせず安心できるポジションはクリアアヘッド・アスターンしかない.絶対にクリアアヘッド・アスターンになるまで他艇へのアテンションを下げてはいけない.これを基本としてほしい.

1.ブランケット回避(avoid)のジャイブ

ランニングのブランケットを被せる旨みを覚えた中級者は,上り目で被せてくることが非常に多い.そのときに相手が上ったタイミング(あるいは自分も少し上って相手にさらに上らせることもある)で,ジャイブすることで「はい,さようならー」とする戦術である.VMGを稼げない上りをしている艇はジャイブしても絶対にこちらをブランケットに入れられない.加えて相手艇に対してポテンシャルも獲得できるというブランケット症候群(ブランケットを入れて抜きたくて仕方のない人たち)対策にはうってつけの戦術である.通称さよならジャイブ. f:id:amakazeryu:20200907155703p:plain

2.権利主張⇒下突破

下から相手艇をまず突き上げる.そのあとパンピングによってサーフィングして速度を得て波の力でブランケットを外していく戦術.同じ艇種で何もせず下突破はほぼできない.そこで相手を上らせることでまずポテンシャルを稼ぎ,ブランケットコーンの幅を小さくする.最小限のブランケット領域を帆走する必要はあるので,風の力よりもその時間では波の力を有効活用する.多少無理やりにでもサーフィングすればブランケット内でも速度を維持できるため下突破を行えるのだ.わざと上らせることで相手艇に対してポテンシャルを稼ぎジャイブする戦術もある(筆者もよくやられました涙).通称突き上げ下突破. f:id:amakazeryu:20200907155142p:plain

終わりに

このほかにもマークアプローチの際に3万個ぐらい戦術があるのだが,正確なレイラインの読みを必要とするのでまた後日にしたい.クローズでも残り一万個ぐらい戦術があるが,お声があれば出していきたいと思う.それでは本日は以上です,お疲れさまでした.

おてがる統計 ~実験データをそのままウェブ上で統計処理~

実験データを統計処理するときに脳死で行える方法を備忘録として残しておく. (心の声:だってエクセル統計お金かかるし,そんな頻繁に使うもんじゃないもん.)

結論このサイトを使えばよい. www.statskingdom.com

ためしに信頼区間(Confidence Interval)を計算する.理論的な説明ページが出るが無視して(go to calculator)に飛ぶ. f:id:amakazeryu:20200715103749p:plain

標準偏差などを打ち込むのも面倒なので,実験の生データをぶち込むのが楽である.従って"Enter raw data directly"をクリック. f:id:amakazeryu:20200715104001p:plain

エクセルデータなどcsvコピーアンドペーストしてしまおう. f:id:amakazeryu:20200715104449p:plain

Caluculateを押すとまず平均値やシャピロウィルク検定(正規性の検定)結果が返ってくる. 生データが正規性を持っているかどうかは検定する上で前提なのだが,検定している論文はかなり少ない.差の付け所な気もする. f:id:amakazeryu:20200715104626p:plain

次いで信頼区間の結果. 平均と標準偏差それぞれの結果を返してくれる. f:id:amakazeryu:20200715105037p:plain

お次はt-検定で平均に統計的有意な差があるか見てみよう. 2つのデータを”Two sample T-Test”にぶちこむだけ. f:id:amakazeryu:20200715110451p:plain

P値や検定力,効果量が算出. f:id:amakazeryu:20200715110600p:plain

いろいろ試したが結局これが一番手っ取り早い. ということでお勧めです.

憧れとは ~新しい辞書を作ろう~

 辞書に載っていない言葉の意味を深掘りしていこうと思います.今回のテーマは「憧れ」,意味を特に考えずシンプルに因数分解すると"Want to do ~"や"Want to be ~"になるかと思います."~"はかっこよく対象と言い換えます.憧れに関して村上春樹ノルウェイの森で,セフレ作りが趣味な永沢先輩の恋人であるハツミさんに対して,主人公が

彼女のもたらした震えは(中略)少年期の憧憬のようなものであったのだ.(中略)ハツミさんが揺り動かしたのは僕の中に長い間眠っていた<僕自身の一部>であったのだ. ノルウェイの森

 と表現しており,それ以上憧れに関する説明はなくハツミさんが自殺する物語に繋がります.僕自身の一部,というところに引っかかりを覚えながらも,ロジカルに憧れについて分析してみましょう.

今までためておいた語彙辞典はこっち amakazeryu.hatenablog.com

 憧れの因数からwantについて考えます.wantと似た概念としてlikeがあります.likeの本質はagain(もう一度)であり,Likeを成立させるにはもう一度行うというのが必要条件です.もう一度行いたい(want to do it again)となれば,likeと同値になります.大丈夫ですね.意味空間Mにおける意味結合演算子●を用いて,

want ● again = like (want, like , again ∈ M)

 ここでlikeと憧れの明確な違いはagainがあるかどうかです.すなわち憧れは一度も経験したことがない対象にwantするののであり,likeのように過去に実経験があるわけではありません.図示すると,

f:id:amakazeryu:20200430145917p:plain

 againやwantのようにそれ以上分解できない要素を元などと言います(知らんけど).となると憧れは実は"want to do ~"(ただし”~”は未経験)なわけです.ノルウェイの森に戻ると,主人公は,他の女性と寝てばかりの恋人を思い続けるハツミさんのような一途さ(?)こそあるべき恋愛だと,経験がないながらも少年期の時は思っていました.しかしその認識は経験と共に失われます.過去の認識が自身の一部ということなのでしょうが,「経験がないのに自身の一部なんかい」と突っ込まれそうでイマイチ分かりづらいですね.ここはしっくりこない人が多そうです.当時(2004年)は憧れに関する意味分解が進んでいなかったので,伝わりづらい表現になったのでしょう.

 また憧れは百聞は一見に如かずを体現している言葉にも見えます.自分で経験して積んだ情報ではなく,伝達された情報のみで頭の中にイメージを作り上げてしまい,しばしば現実との乖離を生みます.

まとめ

憧れはwantとneverの意味結合.wantには経験のあることをしたい場合と未経験なことをしたい場合の二つがあり,その違いがlikeと憧れ.なぜ未経験なのにしたいと思うのかの解明がこれからの課題.それと単位ベクトルとしてcan(できるできない)の軸を,wantと直行ベクトルとして扱ってよいのかの検討も必要.林修ナチュラルに直行で扱っていたけど,それって本当に正しいのでしょうか.正しいであってほしいけど.

f:id:amakazeryu:20200430152017p:plain

超簡単! レトロボタンスイッチで,PC入力を行う! ~心理実験などに~

f:id:amakazeryu:20200202174707p:plain

今回は超簡単にスイッチボタンをPCに入力させたいと思います.

心理実験で,被験者がボタンを押す必要がある時,入力インターフェースをキーボードなどに頼ってる人は多いと思います.ただし,キーボードではボタン数が多く,被験者に選択ストレスが生じてしまうので,なるべくシンプルなボタンを与えたいところ.

といってもマイコンを使うのは同期やプラグラミングなど色々と面倒なものです.

今回は,マルツの押しボタンスイッチをテンキーに繋げる事で,PCに入力させたいと思います.

用意するもの

・ボタン(100円ぐらい)

・やっすいテンキー(600円ぐらい)

  f:id:amakazeryu:20200202174920p:plain        f:id:amakazeryu:20200202175259p:plain

 

テンキーは安くて解剖しやすいのが良いです.まずテンキーを開けましょう.

f:id:amakazeryu:20200202175859p:plain

御開帳~ということで,中身はこんな風になっています.

あるキーを押すと,その下を通るパターンが二つTureになります.

Tureになったパターンが赤丸の所にいき,基盤の中で処理を行ってPC入力をしています.ですので,テンキーの中から使いたいスイッチを選び,そのパターンを追って,赤丸の所で並列に配線を取ってくれば,テンキー上と同じようにスイッチを扱うことができます.

f:id:amakazeryu:20200202180446p:plain

8のキーは左から2つ目と,右から5つ目に対応しているようです.

このテンキーは24個のボタンがあるのですが,配線も4×6の24通り組み合わせがあるので,一致してますね.(左から5個目は使わないので,配線が切れています.)

それでは赤と青の所の配線を引っ張りましょう.

f:id:amakazeryu:20200202180918p:plain

 

引っ張った配線白と黒を,今度はマルツのスイッチの方にハンダします.

f:id:amakazeryu:20200202181106p:plain

 

これで,完了.後はPCにテンキーをUSB接続すれば,マルツのスイッチを押すと”8”を入力する事ができます.

 

実際にやってみた.

drive.google.com

 

今回は以上です,お疲れ様でした.

アウトプット講座 文章編 ~人に伝わりやすい文章の書き方の本質~

前書き

自分の考えを他人に伝える事が,とてつもなく大事であると気付いた最近.

周りを見て意外にプレゼンに自信がなかったり,スライドを作るのが苦手だったりする人が多いので,アウトプットの仕方をまとめていこうと思います.

僕はアウトプットする際は大抵,話し・プレゼン・文章(小説)・イラスト・動画を使っています.で,ぶっちゃけ使う場面でどれが良いのかというのは変わっていて,例えばウェブライティングならアクセスを稼ぐのが一番大事です.商品を売る際は,自分が本当はどう思うかよりも商品が売れる方が大事ですよね.

僕の得意分野は自分の価値観を伝える事なので,アクセスとか売れるとかは,先輩・上司に聞いて下さい.

本題

さて結論から言うと,一にも二にも,基本が大事です.プレゼンで最後尾の人を指名することで全員の集中力を高めさせるとか,白紙のスライドでプレゼンテーターに注意をひきつけるといった小技は,役に立ちますが,それよりも基本を見つめ直した方が遥かに伝わります.

1 文章編

1.1 文法編

まず文法を押さえる.はまりがちなのが,(1)述語の共用,(2)主語(S)と述語(V),(3)目的語(O)と述語(V)です. 以下の文章はどれも意味がおかしいです.

「親鳥は自分だけではなく,二匹の子鳥も育てなくてはいけません」

「遅刻ばかりをしていた僕が,規則正しい生活になった理由を説明します」

「猫を持って帰ったら,怒った両親を自分が面倒を見るという約束を条件に飼う事になった」

一文目は主語が,<自分and二匹の子鳥>であり,そこに育てるという述語がかかっています. 自分を育てる,っておかしいですよね.ここは「自分が食べる分だけではなく」と変えましょう. 2つの主語に同じ述語がかかるとき,述語の共用に注意しなくてはいけません.

二文目は,S+Vの文章なのに,規則正しい生活になったというbe動詞を使っています. 僕が規則正しい生活になっています,おかしいですよね. be動詞ではなく,一般動詞を使いましょう.「規則正しい生活を送れるようになった」など

三文目は両親という目的語の述語が抜けています.「両親を説得し」など補完しましょう. 以下解答例

「親鳥は自分が食べるだけではなく,二匹の子鳥も育てなくてはいけません」

「遅刻ばかりをしていた僕が,規則正しい生活を送れるようになった理由を説明します」

「猫を持って帰ったら,怒った両親を説得し,自分が面倒を見るという約束を条件に飼う事になった」 もしくは「猫を持って帰ると両親が怒ったが,自分が面倒を見ると説得し,飼う事になった」

以上のように述語の扱いに気を付ける事が非常に日本語では大切になってきます.

1.2 ロジック編

説得の為に,文章のロジックを通してください,というと「へ?」みたいな顔をする人がいます. 相手はあなたのやってきたことを知りません.ロジックを飛ばすと人はもういいや,と思ってしまいます. 最近話題の桜の会を例にいきます.

「桜の会は問題です!」

これはノンロジックと言われるもので,エビデンス無しの文章です. これを聞いても,そう思っている人は共感してくれますが,思っていない人は「ああそうですか」としかなりません.

「桜の会は,政府資金を不正利用しているので,問題です!」

これが一段階のロジック.問題とは何か?⇒不正利用です. でもこれでは不十分ですよね.だってなぜ不正利用なのか分からないからです. ここで大事なのは不正であれば問題であることにはロジックが通っていることです.

「桜の会は,与党の人間が自分達の選挙区の有権者を選んで呼んでいます.それは政府資金を不正利用しているので,問題です!」

これだと不正利用していると判りますよね.あるいは,有権者に政治家がお金や接待をすることが法律上禁止されていることなどを書けばよりロジックが通ります. このように相手の知識に合わせながらも,なぜなぜを繰り返してロジックを通す事が成果報告の文章では大切です.

研究者では必要十分条件や同値などと言いますが,なるべく同値な言葉を繋げていくことが肝要ですね.

1.3 小技編

ダブルミーニング(重複):「馬から落馬」「雷が落雷」など.避けましょう.

・削る:文章量はとにかく削ります.意味が同じなら,削った方が伝わります.「~だと考えられる」→「~である」

・曖昧を避ける:良い,悪い,などは説得力がありません.「削った方が良い」ではなく「削った方が伝わりやすい」と.

・主役は早めに登場:英語の主語が先に来るのと似ています.大事な事を先に書きます.position has meaning.

その他色々ありますが,思い出したら書き足します.

ベイジアン意志決定モデルに関して Bayesian Decision Models

せっかくベイジアンの(意志)決定モデルに関してお勉強したので,ブログで残しておきます.
内容を文章でまとめると,”被験者の意志決定をベイズ則を用いてモデル化することで,統計よりも解析で言えることが明確だよ”ということだと思う.
勉強したのは↓↓
www.sciencedirect.com
事前知識として,事前確率,事後確率,ベイズ則など分かっていると良いと思います.
本エントリを読破後,きっとベイジアンのビギナーになれると思います,知らんけど.

4つのステップ

本稿で説明するベイジアン決定モデルを用いた解析では,4つのステップを踏めばよいとのこと.
4つです.それぞれ順を追ってみていきましょう.
ここではまずおおまかな概要を述べ,後から具体的な実験で,実際に4つのステップを踏んでいこう思います.

Step 1 : Generative Model(モデルを作ろう)

何はともあれ,モデルを作りましょう.
実験環境sに対して,被験者の意志決定xとし,p(x|s)の分布を考えます.
p(x|s)というのは,何かの実験コンテクストsに対して,xが観測される分布のことです.

Step 2 : Inference (ベイズ則を用いるぞい)

ベイジアンモデルで重要なことは,被験者(意志決定者)がp(x|s)を学習していき,更新するということです.
そこで,本実験前に既に定まった結果を持つx_{trial}を被験者に与えましょう.
ベイズ則より,
    p(s|x_{trial}) = \frac{p(x_{trial}|s)*p(s)}{p(x_{trial})}
上式に於いて,
p(s):事前確率(意志決定者の信念に依存)
p(x_{trial}|s):尤度関数(sが与えられた時のx_{trial}の尤もらしさ)
p(s|x_{trial}):sの事前分布
p(x_{trial}):事前に決められた定数

Step 3: Taking an Action (実際にやってみた)

実際に実験を行い,その反応を見ることです.
アクションaはコスト関数C(s,a)で定義されます.
コスト関数の期待値は,
E(C(a)) = \sum_{s} p(s|x_{trial})*C(s,a)
このコストを最小化するように,被験者意志決定をします.
(コストの期待値は,全ての環境sにおける,それぞれのコストと確率の乗算の合計)
(コストっていうのは,例えば反応速度の実験なら,時間などになるかと思います.)

Step 4 : Response(アクションをそれぞれの結果に適用)

事前分布と事後計算により,ベイジアンモデルが完成しました.
最後の段階として,モデル作成者(解析側)は,それをもう一度チェックし直しましょう.
それからベイジアンモデルでのパラメータ(感覚ノイズ,経過率,誤った信念パラメータ)などを決定します.

実際にトレーニン

4つのステップはなんとなく分かったけど,実際の実験でどのように使えばよいか,正直分かりません.
ということで,実際に実験を考えてみて,どのようにベイジアンモデルを適用するか見ていきましょう.

実験(音源位置の推定)

変数の次元が分かりやすいように単位をつけて説明します.
ある線上に音源を設置し,その点から広がる音を観測して,音源がライン上のどこにあるのかを推定させるという実験を行う.

Step1 モデル生成

ライン上のs[cm]のところに,音源を設置する.音源は各試行ごとにランダムに設置されるp(s)
(ランダムというのは厄介な代物で,本当にランダムなのかは評価しづらいですが,とりまランダムと使わせて頂きます.)
どこに音源が設置されるのかという分布p(s)は,平均μ標準偏差σ_{s}ガウス分布になるので,

  p(s) = \displaystyle \frac{1}{\sqrt{2πσ^{2}_{s}}}exp(-\frac{(s-μ)^{2}}{\sqrt{2σ^{2}_{s}}})

これに対して,被験者がライン上のどこにあるのかx[cm]を回答します.
s[cm]という実験環境に対して,どこにあるのかと回答する分布がp(x|s)です.
ここで,音にはどうしても周辺音のノイズが入ってしまいます.この環境ノイズをσとすると,

  p(s) = \displaystyle \frac{1}{\sqrt{2πσ^{2}}}exp(-\frac{(x-s)^{2}}{\sqrt{2σ^{2}}})

これを図1A.Bに示します.
f:id:amakazeryu:20191115113610p:plain

Step2 推論

x_{trial}で学習すると,次の刺激の際に,どこで鳴っているのか?ということを予想することができる(事前分布p(s) )
このp(s) は生成モデルとは異なり,被験者の意志が反映されているわけです.
x_{trial}に基づいたL(s)は尤度関数です.sの関数であることに注意しましょう.

f:id:amakazeryu:20191202170011p:plain

事後分布はp(s|x_{trial})であり,ベイズ則より

p(s|x_{trial}) ∝  p(x_{trial}|s)*p(s) = L(s)*p(s)

比例記号を用いられるのは,1/p(x_{trial})が定数になるからです.
上式は未知刺激sの取り得る値の確率を表している.
事後分布は,事前分布に尤度関数を乗算することで求められる.

次の記事で,実際にモデルを適用させ,最後に評価するという所まで行きたいと思います.
今回は一旦ここまで,お疲れ様でした.