FC2ブログ

Item Response Theory

なぜか、Item Response Theoryをやることになりました。略して、IRT。

これは主に心理学で使われる、計測手法です。それに対して、従来の計測手法は、Classical Test Theory。略して、CCT。

以下の本を購入、勉強しております。

Item Response Theory for Psychologists (Multivariate Applications Series) Psychology Press; 1 edition (May 1, 2000)
スポンサーサイト



cross-entropyの謎 (8)

2クラス分類における、cross entropyは以下の式です。

L = -t*log(y) - (1-t)*log(1-y) --- (1)

tは教師データ、yはいま計算して得られている値です。t=yのとき、Lは最小となります。

さて、ここでの注意は、y=0またはy=1のとき、式(1)は定義できません。対数はゼロをとれない。教科書によっては、注意事項として記載されています。

しかしながら、yがシグモイド関数で得られているのであれば、yは0や1はとりません。なので、式(1)はそのまま計算できることになりますね。うまくできていますが、これは偶然なのだろうか?

XOR

諸事情により、XORをニューラルネットで実装しました。Javaによる、ベタ書きハードコードです。一切のツールは使用せず。

入力2つ、隠れ層2つ、出力1つ、という極めて簡単なものです。隠れ層と出力は、ロジスティックをかませました。隠れ層のロジスティックはいまは流行らないのでしょうが、基本を重視。数学的には、微分ができますから、こちらが楽しい。

結果ですが、きちんと学習されまして、パラメータ9(3×3)つの遷移をエクセルで図示。さらに、入力を(x,y)平面、出力をzとして、三次元プロットをMathematicaで描画しました。

このあたりはわかりきっていると思っていたのですが、すべて実装してみると、やはりいろいろな知見が得られました。基本は大切です。

本当は、Mathematicaですべてやりたかったのですが、私のテクがなく、上記のように3つのツールの併用となりました。

AIのための数学 (6)

「AIのための数学」、全12回シリーズ、お客さんがついたということを報告いたしました。したがって、二回目を敢行。

第3回:重要な関数(多項式/指数/対数)

第3回は、後半にsigmoid/softmaxをやるのですが、これが思いのほか時間がかかりました。関数形がややこしいのと、関連していろいろな説明をして、結局これで80分を費やすこととなりました。このあたりは、確かに難しいと思います。

コメントとしては、通常の工学では必須の三角関数は、AI系ではほぼ登場しないということ。また、三次関数以上もほぼ登場しません。最適化の定式化では、二次関数にしますからね。したがって、このあたりはスキップです。このようにして、最短経路を目指します。

Generalized Linear Models With Examples in R

Generalized Linear Models (GLM) について、もう少し勉強したいと思い、良書を調べていました。見つかったのが、こちらです。

Generalized Linear Models With Examples in R (Springer Texts in Statistics) 1st ed. 2018 Edition by Peter K. Dunn (Author), Gordon K. Smyth (Author)

三章までが、通常のlinear modelsの説明です。ここまではわかっていることが期待されます。

四章から、GLMに入ってきます。五章からが本論。かなりよい感じですね。

シンギュラリティサロン (3)

知人のアメリカ人AI研究者Sと、チャットをしていました。AIがらみです。

そこで、シンギュラリティサロンについて少しばかり触れたところ、興味を示しました。かれは確か、シンギュラリティ派だったと思います。サイトがあれば教えてほしいとのことで、そこのURLを送りました。

もちろん日本語のサイトなので、かれには読めないだろうと思っていましたが、返事が日本語で「ありがとう」と来ました。もしや、AIを駆使した技術で読めたのだろうか。まあ、Google翻訳でも、ある程度は意味がわかるでしょうけれど。

損失関数の微分の謎 (2)

ニューラルネットワークにおける、損失関数Lの話です。前回は混乱しました。

http://kanouy.blog9.fc2.com/blog-entry-2415.html

ネットからの出力をyとします。そのあと用途に応じて、シグモイドまたはソフトマックスをかませます。その出力をy'=f(y)とします。回帰のときは、y'=yです。そして、その教師(正解データ)をtとします。

損失関数としては、誤差の二乗、またはクロスエントロピーが用いられます。このような適切な損失関数を使う限りにおいて、

∂L/∂y = y' - t --- (1)

となります。訂正させていただきます。y'=f(y)をかませなければ、式(1)が計算できないことになります。

損失関数の微分の謎

ニューラルネットワークにおける、損失関数Lの話です。

ネットからの出力をyとします。そのあと用途に応じて、シグモイドまたはソフトマックスをかませます。そして、その教師(正解データ)をtとします。

損失関数としては、誤差の二乗、またはクロスエントロピーが用いられます。このような適切な損失関数を使う限りにおいて、

∂L/∂y = y - t --- (1)

のように、極めて簡単な形となることが知られています。理論の素晴らしい結論です。

しかし、ここで疑問です。もしそうであれば、結局のところ、損失関数の具体的な形はどうであれ、式(1)を使って最適化すればよいわけですね。すこし整理が必要。

Artificial Intelligence Engines (2)

James Stoneの最新刊、到着したので、読み始めました。

Artificial Intelligence Engines: A Tutorial Introduction to the Mathematics of Deep Learning – 2019/3/28 James V Stone

とりあえず、第4章まで読みました。この章は、backpropagationです。私の絶賛売り込み中の講義集、「AIのための数学」のターゲットです。

第5章は、Hopfield Nets、第6章は、Bolzmann Machinesで、このあたりは私がよくわかっていないところです。当然私の講義集ではout of scope。統計物理が出てくるのもこちらです。

シンギュラリティサロン (2)

「シンギュラリティサロン」に参加いたしました。2019年12月7日、場所は大手町サンケイプラザ。先月の大阪に続き二回目です。

テーマは「脳の理論の過去・未来:ベイズ脳仮説からニューラルエンジンへ」。講師は島崎秀昭氏(京都大学大学院情報学研究科特定准教授)。大阪と全く同じです。大阪が予行?

熱力学と情報理論の類似性が最近言われていますが、今回もそのような話です。大阪では時間がなくなりカットした、ニューラルエンジンですが、90分聴いたあとで、さすがに集中力が切れていたので、よくわかりませんでした。

AIのための数学 (5)

「AIのための数学」、全12回シリーズ、お客さんがついたので、初回を行いました。

大人数向けの企画なのですが、今回は個人なので、進捗は変わります。今回は、以下を行いました。

第1回:イントロダクション、AIまたは機械学習の基礎、達成目標の提示
第2回:線型代数(ベクトル/行列)
第3回:重要な関数(多項式/指数/対数)

Introduction to Linear Regression Analysis

二年以上前に購入したものの、一切読んでいなかった以下の書物(アマゾンのコピペ)、

Introduction to Linear Regression Analysis 5th Edition by Douglas C. Montgomery (Author), Elizabeth A. Peck (Author), G. Geoffrey Vining (Author)

ですが、最近少し読んでみたところ、まさに回帰分析のバイブルとも言えるものです。回帰に関わる人にはぜひともおススメいたします。英語も平易。

ただし、一般化線形モデル(GLM)については、一章が割かれているのみで、イントロ程度です。この話題は、ほぼ同じ著者による、別書をおススメしているようです。

stepwise regression methods

C大P氏と、データ分析関連の仕事をしています。これの続報。

P氏が使っている技術の中で、"stepwise forward backward regression"というのがあります。なんでも、説明変数を逐次加えていったり、外していったりして、変数選択を行うということらしいのですが、これまで聞いたことがありませんでした。

そこで、購入したが、一切読んでいない以下の書物(アマゾンのコピペ)、

Introduction to Linear Regression Analysis 5th Edition by Douglas C. Montgomery (Author), Elizabeth A. Peck (Author), G. Geoffrey Vining (Author)

を取り出したところ、第10章に載っていました。"variable selection and model building"です。なるほど。

coefficient of determination

C大P氏と、統計関連の仕事をしています。知らないことが多く、勉強になります。

P氏が計算した結果に、R2とR2adjという数値が出力されていました。さてこの意味は?

R2は、日本語では「決定係数」(英語はcoefficient of determination)と呼ばれることを、M氏から聞きました。確かに、以下の本ではそのように書かれています(アマゾンのコピペ)。

数理統計学―基礎から学ぶデータ解析 単行本 – 1996/4 鈴木 武 (著), 山田 作太郎 (著)

ちなみに、同書では、R2adjは、「自由度調整済み決定係数」(英語ではmultiple correlation coefficient adjusted for the degree of freedom)などと呼ばれています。正確な表現ではありますが、長すぎませんか?

他書では、R2adjは、簡単にadjusted R2などと記しているものもあります。これで十分のような気がします。例えば、以下の書物(アマゾンのコピペ)。

Response Surface Methodology: Process and Product Optimization Using Designed Experiments (Wiley Series in Probability and Statistics) 4th Edition by Raymond H. Myers (Author), Douglas C. Montgomery (Author), Christine M. Anderson-Cook (Author)

Artificial Intelligence Engines

James Stoneの"Information Theory: A Tutorial Introduction"、積読状態になっていましたが、また読み始めました。

ついでに、彼の最新刊はないかと探してみたら、ありました。以下のものです。

Artificial Intelligence Engines: A Tutorial Introduction to the Mathematics of Deep Learning – 2019/3/28 James V Stone

私の売り込み中の講義集、「AIのための数学」に似ています(もしや私のパクリ?)。内容は当然ヒットです。すでにレビューが三つありましたが、いずれも星5つ。というわけで、ワンクリック。続報をお待ちください。

シンギュラリティサロン

このたび、「シンギュラリティサロン」に参加してきました。知人O氏からのお誘いです。日時は2019年11月16日、場所はグランフロント大阪。なかなかの雰囲気のところです。

このサロンの参加は初めてです。今回で39回を数えるようです。テーマは「脳の理論の過去・未来:ベイズ脳仮説からニューラルエンジンへ」。講師は島崎秀昭氏(京都大学大学院情報学研究科特定准教授)。

要するに、ヒトはいかにして外界を認識するのかということに対して、これまでの知見をきれいに整理していただいた、ということです(ただし、正しいかどうかはわからない)。講師の研究であるニューラルエンジンについては、時間が無くなったので省かれました。

界隈では有名な「セーラー服おじさん」にもお会いできました。

AIのための数学 (4)

「AIのための数学」、全12回ですが、売り先を探していましたが、お客さんがつきました!

これまでの関連記事はこちらです。

http://kanouy.blog9.fc2.com/blog-entry-2261.html
http://kanouy.blog9.fc2.com/blog-entry-2260.html
http://kanouy.blog9.fc2.com/blog-entry-2220.html

資料は作ってありますが、実地を踏んで、改訂していきます。楽しみです。

Support Vector Machine (5)

Support Vector Machine(SVM)において、マージンが1/|w|というのが解りづらいと思い、以下に導出します。

ゼロの境界線上のベクトルをx0、プラスの境界線上のベクトルをx1とすると、

wTx0 + b = 0 --- (1)
wTx1 + b = 1 --- (2)

が成り立ちます。式(2)-式(1)をつくると、

wT(x1 - x0) = 1 --- (3)

となります。式(3)の両辺を|w|で割ってやると、

wT/|w|(x1 - x0) = 1/|w| --- (4)

となりますが、式(4)の左辺はまさにマージンの定義です。従いまして、式(4)の右辺、すなわち1/|w|がマージンとなります。

データ分析 (2)

ふとしたことから、知り合ったドイツ人P氏。データ分析を専門とし、イギリスの大学にいるのですが、いま日本に滞在中。

関連本、つまり、下記の書籍をあたっていたところ、

An Introduction to Generalized Linear Models, Third Edition

やはりというか、P氏は本書をご存知とのことでした。想定内。この分野でのバイブルのひとつですからね。

そのような経緯で、P氏のイギリスの大学での関連資料をいただきました。

データ分析

ふとしたことから、知り合ったドイツ人P氏。データ分析を専門とし、イギリスの大学にいるのですが、いま日本に滞在中。

P氏のプレゼンを聴く機会がありました。さまざまなデータを入力として、ある分析結果を出すのですが、最初に、もともとのパラメタを、「線形パラメタ」と「非線形パラメタ」に区分けしてやります。

全て線形パラメタとみなすのが、重回帰ですね。対して、非線形とするときは、別の関数を使えばよいのですが、それを統一的に扱うやりかたが、よくわからない。

そこで、最近開かない、以下の書籍、

An Introduction to Generalized Linear Models, Third Edition

をパラパラと見ていたら、ちょっと関連ありそうな箇所がありました。もう少し見てみます。

Approximate Inference

PRMLの第10章、"Approximate Inference"は難解なところですが、関連のことを少しやりましたので、ちょっと見てみました。

よく出てくる式、すなわち、

ln p(X) = ℒ(q) + KL(q || p) --- (1)

において(式に名前を付けて欲しい)、

ℒ(q) = ∫q(Z) ln {p(X , Z) / q(Z)} dZ --- (2)

です。それぞれPRMLでは、式(10.2)(10.3)。

ここでは、式(2)を調べます。まず、以下の仮定をおきます。

q(Z = Πqi(Zi) --- (3)

つまり、各変数間は関連がないですよ、ということです。PRMLでは、式(10.5)。

さて、式(3)を式(2)に代入し、計算を進めると、

ℒ(q) = ∫qj ln p~(X , Zj) - ∫qj ln qj dZj --- (4)

となります。PRMLでは、式(10.6)です。ちなみに、p~(X , Zj)というのは、Zj以外で平均をとったという意味です。さて、式(4)によると、これは負のKLダイバージェンスなので、qjはp~(X , Zj)のときに最適化される、という理屈となります。

そのあと、ガウシアンなどで例をあげています。このあたりは重要なところのようです。

周辺対数尤度 (2)

どこかから送られてきた資料に、以下の式を示せという課題が出ていました。

log(p(X)) = ℒ(q) + KL(q||p)--- (1)

PRMLのEMアルゴリズムや変分法で出てくる、魔法の式です。機械学習における代表的な式のひとつ。同じ内容の記事を以前書きました。

http://kanouy.blog9.fc2.com/blog-entry-1666.html

以下に、再掲しておきます。自身の復習を兼ねて。まず、ベイズの定理により、

p(X, Z) = p(X)p(Z|X) --- (2)

これの対数をとり、移項すると、

log(p(X)) = log(X, Z) - log(Z|X) --- (3)

Zに関する確率密度q(Z)を考えてやると、

log(p(X)) = log(p(X, Z)) - log(p(Z|X)) - log(q(Z)) + log(q(Z)) = log(p(X, Z)/p(Z)) - log(p(Z|X)/q(Z)) --- (4)

両辺にq(Z)を掛けて、積分すると、左辺は変わらず、

log(p(X)) = ∫q(Z)log(p(X, Z)/p(Z))dZ - ∫q(Z)log(p(Z|X)/q(Z))dZ = ℒ(q) + KL(q||p)--- (5)

ところで、式(1)または式(5)の右辺第一項は、名前がないのでしょうか?

Deep Learning (29)

Ian Goodfellow , Yoshua Bengio , Aaron Courville
Deep Learning (Adaptive Computation and Machine Learning series) November 18, 2016.

久しぶりに、最近また開いています。さて、

4.3.1 Beyond the Gradient: Jacobian and Hessian Matrices

のところで、以下の式(4.9)が出てきます。

f(x(0) −εg) ≒ f(x(0)) − εgTg + (1/2)ε2gTHg

要するに、2次までのテイラー展開です。εは学習率で、これをどのように決めればよいかが問題となります。そのあと、式(4.10)として、

ε = gTg / (gTHg)

が導かれます。式(4.10)がどのように導かれるかは説明がありませんが、これは、式(4.9)をεに関して微分して、それをゼロと置くことにより出てきます。

AIのための数学 (3)

「AIのための数学」、全12回うち、10回と11回は、「誤差逆伝播法」の習得にあてます。略してbackprop(backdropではない)。

しかるに、backpropとはなにか?これは、要するに、「合成関数の微分」と「偏微分」の組み合わせです。これらは大学初年度でやるので、理系のみなさまには既知のはず。しかし、このふたつが、非常に一般的な設定で適用されます。そこが解りづらい。

ニューラルネット(NN)が登場してから、backpropが開発された間には、かなりの年月があるわけですが、私はその間の事情を知りません。初期のNNはどうやって学習したのでしょうね。隠れ層がなかった時代なのでしょうか。いまの謎です。私はbackpropが登場した1980年代後半、NNを初めて知り、当時それでブームとなったことを記憶しています。

AIのための数学 (2)

「AIのための数学」、全12回の内容は以下です。

第01回:イントロダクション、AIまたは機械学習の基礎、達成目標の提示
第02回:線型代数(ベクトル/行列)
第03回:重要な関数(多項式/指数/対数)
第04回:微分(多項式/指数/対数)
第05回:最適化計算(勾配法/ニュートン法)
第06回:確率・情報理論
第07回:ニューラルネットワークの基礎
第08回:クロスエントロピー
第09回:クロスエントロピーの微分
第10回:誤差逆伝播法①
第11回:誤差逆伝播法②
第12回:まとめ、補足事項

前半は必要な数学のクイックコース。そのあとニューラルネットをやりますが、重要なのが誤差関数です。これはクロスエントロピー。クロスエントロピーは重要ですが、書籍ではほとんど取り上げられていません。ここをきちんとやりたい。

トピックモデルによる統計的潜在意味解析 (18)

佐藤一誠先生著、「トピックモデルによる統計的潜在意味解析(2015)」輪読会、第12回(2019年4月8日)は私の担当です。三回目。内容は、「5.2 系列データのモデリング」、です。

系列データは苦手なのですが、ここは思いのほか理解できたような気がします。LDAとHMMはくっつけやすそうです。構造が似ているのではないでしょうか。

場所は、コワーキングスペース秋葉原 Weeyble(ウィーブル)。
(http://weeyble.com/)
東京都千代田区神田須田町2丁目19−23(野村第3ビル4階)。

以下が、次回の輪読会URLです。
https://weeyble-data.connpass.com/event/126599/

IRLS

IRLSとは、Iterative Reweighted Least Squaresの略です。

これは、ロジスティック回帰の解を求めるために使われます。回帰問題だと、一般逆行列で一発で求められますが、ロジスティックは非線形なので、そうはいかない。なので、繰り返し法を使います。

IRLSは面白いです。一般逆行列に重み行列を組み込んでやればよろしい。さらに、これは凸問題なので、必ず最適解が求まります。このあたりは、PRMLの207~208ページに詳しく書かれてあります。

最近のツールでは、このような解はライブラリで簡単に求まるはずです。ただ、そうなると、完全にブラックボックスとなり、解を求める原理がわかりません。このあたりは、数式をきちんと理解したいところです。でないと、応用が利かない。

トピックモデルによる統計的潜在意味解析 (17)

佐藤一誠先生著、「トピックモデルによる統計的潜在意味解析(2015)」輪読会ですが、第12回(2019年4月8日予定)も担当することになりました。三回目です。内容は、「5.2 系列データのモデリング」、です。系列データは苦手なのですが、なんとか頑張ります。

場所は、コワーキングスペース秋葉原 Weeyble(ウィーブル)。
(http://weeyble.com/)
東京都千代田区神田須田町2丁目19−23(野村第3ビル4階)。

トピックモデルによる統計的潜在意味解析 (16)

佐藤一誠先生の、「トピックモデルによる統計的潜在意味解析(2015)」輪読会、先日(2019年3月18日)の第九回は、私が再度プレゼンしました。そのあとお二方による実装発表会。これで第3章は終了です。本書の冒頭、「おそらく、この3章が本書の最初の「山場」である。多くの読者が本書で挫折するとすれば、この章である」、とありますが、なんとか(?)切り抜けました。

さて、今後ですが、GW前にすべて終了させるという野心的な試み。あと5回で第4章、第5章をカバーします。私が再々度担当するかは未定であります(あと一枠)。

場所は、コワーキングスペース秋葉原 Weeyble(ウィーブル)。
(http://weeyble.com/)
東京都千代田区神田須田町2丁目19−23(野村第3ビル4階)。

以下が、次回の輪読会URLです。
https://weeyble-data.connpass.com/event/124760/

最尤推定 (3)

しつこく、最尤推定の話です。

統計・機械学習本だと、尤度を表したのち、計算を簡単にするため、などと称して、対数を取ります。それで、パラメタを求めるために、偏微分などをやる。

ただ、尤度を最大=cross-entropy最小、の原理を使うのであれば、cross-entropyとしては、対数は必須なので、対数化は必然ということになります。ここについて明記された書物は、いまのところ発見できません。謎のところです。
プロフィール

加納裕(かのうゆたか)

Author:加納裕(かのうゆたか)


[略歴]
1983年3月東京工業大学工学部機械物理工学科卒業
1983年4月(株)図研入社
1987年1月同社退社
1987年2月(株)ソリッドレイ研究所を6名で設立、取締役
1994年3月同社退社
1994年4月(株)スリーディー入社
1996年10月同社取締役
1999年12月上海大学兼務教授
2002年10月同社代表取締役
2009年9月ものつくり大学非常勤講師~現在
2009年10月同社代表退任/退社
2010年1月ソフトキューブ(株)入社~現在(技術顧問)
2017年4月湘南工科大学非常勤講師~現在


[業界団体・学会活動]
電気学会・第三期次世代インタラクティブディスプレイ協同研究委員会(幹事)/最先端表現技術利用推進協会・アカデミック部会(旧:三次元映像のフォーラム)(副部会長)/日本バーチャルリアリティ学会ハプティクス研究委員会(委員)/ACM(Professional Member)/情報処理学会(正会員)/3Dコンソーシアム(賛助会員)/URCF(特別会員)

---------------------

前職:立体映像産業推進協議会(幹事)/日本バーチャルリアリティ学会・論文委員会(委員)/3DBiz研究会(個人賛助会員)


[資格]
TOEIC805点
数学検定1級(数理技能)
中型・普自二免許
サッカー4級審判員

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード