パターン認識特論課題(2014年度)
パターン認識特論,
授業科目,
www.kameda-lab.org
2014/12/27b
2014/12/27b:日程変更
2014/12/09a:課題ページ更新
ここにあるのは亀田側からの課題のみです。
掛谷先生からの課題はここには掲載されていません。
下記の課題において、「★」のついた行が実際に提出すべき部分です。
提出はmanaba.tsukuba.ac.jpから行ってください。エントリのない学生は申告してください。(近日中にtwinsから履修登録をします)
Any of Japanese / English reports are accepted, but you must follow the instructinos below.
- 課題1 [2015/01/06,18:00締切]
「2クラス問題の線形分離条件」
詳細については講義中に説明済みです。
今、d次元実数ベクトルがn個存在するとし、2クラス問題を考える。
- n個のベクトル(ただし一般配置(general position)とする)にどのように2クラスのラベルを付与しても、必ず線形分離可能であるための条件を示し、その証明を説明せよ。
- 参考図書、文献を用いた場合は出典を詳細に明記すること。
- 説明は必ず自分で文章を作成すること。
- 独自の説明図を必ず1つ以上挿入すること。その図には「解説図(figure for explanation)」とキャプションをつけること。
- 説明文・説明図に他の学生や参照元等と重複が見られた場合は0点扱いとする。(説明の論理、頼りにした資料自体は同じでもよい)
★提出はPDFファイルで行い、先頭に授業名、課題名、氏名、学籍番号、作成日を表示すること。解答は1枚以上とする。
- 課題2 [2015/01/06, 18:00締切]
「高次元空間における超立方体に内接する超球が作る隙間の割合」
詳細については講義中に説明済みです。
今、ある超立方体に超球が内接しているとする。すなわり、超球の半径をrとすると、超立方体の1辺の長さが2rでかつどちらも中心が原点にある状態である。
- 超球、超立方体の体積を求める式を示せ。それぞれに出典も記すこと(書籍なら書名とページ番号、WWWならURL。ただしWWWの場合は2つ以上示すこと)。
- r=1とし、次元数dが1以上(最低10まで、可能であれば20以上)について、超立方体と、それに内接する超球について、それぞれその体積をグラフ化せよ。
- r=1とし、次元数dが1以上(最低10まで、可能であれば20以上)について、超立方体に内接する超球が作る、超立方体との間の隙間が超立方体に占める割合をグラフ化せよ。
- 3.のグラフの傾向から言えること、感じることを述べよ。
- r=2、r=1/2について、2.と同様にグラフ化せよ。
- r=2、r=1/2について、3.と同様にグラフ化せよ。
- rを1以外にした場合、3.と6.のグラフにどのような変化が起きるか、理由もつけて説明せよ。
★提出はPDFファイルで行い、先頭に授業名、課題名、氏名、学籍番号、作成日を表示すること。解答は1枚以上とする。
- 課題3 [2015/01/06, 18:00締切]
「高次元空間における超立方体に内接する超球と超立方体との表面積の比率」
今、ある超立方体に超球が内接しているとする。すなわり、超球の半径を1とすると、超立方体の1辺の長さが2でかつどちらも中心が原点にある状態である。
- 超球、超立方体の表面積を求める式を示せ。それぞれに出典も記すこと(書籍なら書名とページ番号、WWWならURL。ただしWWWの場合は2つ以上示すこと)。
- r=1とし、次元数dが1以上(最低10まで、可能であれば20以上)について、超立方体と、それに内接する超球について、それぞれその表面積をグラフ化せよ。
- r=1とし、次元数dが1以上(最低10まで、可能であれば20以上)について、超立方体に内接する超球が作る、超球の表面を基準にして、超立方体の表面積の比率をグラフ化せよ。
- 3.のグラフの傾向から言えること、感じることを述べよ。
- r=2、r=1/2について、2.と同様にグラフ化せよ。
- r=2、r=1/2について、3.と同様にグラフ化せよ。
rを1以外にした場合、3.と6.のグラフにどのような変化が起きるか、理由もつけて説明せよ。
★提出はPDFファイルで行い、先頭に授業名、課題名、氏名、学籍番号、作成日を表示すること。解答は1枚以上とする。
- 課題4 [2015/01/06, 18:00締切]
「SVMによる高次元ベクトルの2クラス分類の実施」
高次元ベクトル集合の2クラス分類を実施せよ。
解答に「認識率」とある場合は、各クラスについてPrecision(適合率)とRecall(再現率)を求めて表示せよ。
(天気予報が「晴」とした日のうち実際に晴れた日の比率がPrecision、実際晴れだった日のうちで天気予報が「晴」と言っていた日の比率がRecall)
★記述に関しては、PDFファイルで行い、先頭に授業名、課題名、氏名、学籍番号、作成日を表示すること。その際、以下の下線部に相当する記述がすべて含まれていること。
★PDFファイルとは別に、xxxxxxx-SmallSet-L.txt, xxxxxxx-SmallSet-T.txt, xxxxxxx-LargeSet-L.txt, xxxxxxx-LargeSet-T.txtの4つのデータファイルを提出すること。
- (1) データ
- (SmallSet) 2クラス、2次元ベクトル
- 全て教師信号つきのデータを用意すること。
- 教師信号は-1と1とする。
- データ数は各クラス200以上。うち、100データを試験用、残りの100データ以上を学習用とする。
- シミュレーションによる合成可。
- 2クラスは線形識別不能であることこと。
- フォーマットはlibsvm入力データフォーマット準拠。
- ★学籍番号の数字部分 xxxxxxx を用いて、学習用(Learning)を xxxxxxx-SmallSet-L.txt、試験用(Testing)を xxxxxxx-SmallSet-T.txt として提出すること。
- ★特徴量ベクトルの次元数dを示すこと。
- ★実データの場合、データのクラスの意味と各特徴量の意味を説明すること。シミュレーションの場合は式と乱数の扱いについて説明すること。
- ★データの線形識別不能性について調査し説明すること。
- (LargeSet) Nクラス(N>=2)、d次元ベクトル(d>=6)
- 学習データとして、教師信号つきを用意すること。試験データについても教師信号付きが望ましい(がなくともよい)。
- 教師信号は-1と1とする。
- データ数は各クラス200以上。うち、100データを試験用、残りの100データ以上を学習用とする。
- シミュレーションによるデータ生成不可。、実データに基づくデータであること(手動による加工過程が含まれていてもよい)。今後公開しても問題の無い情報に基づくこと。
- 2クラスは線形識別不能であることことが望ましいが、次元数に対してデータ数が少ない場合はこの限りではない。
- フォーマットはlibsvm入力データフォーマット準拠。
- ★学籍番号の数字部分 xxxxxxx を用いて、学習用(Learning)を xxxxxxx-LargeSet-L.txt、試験用(Testing)を xxxxxxx-LargeSet-T.txt として提出すること。
- ★特徴量ベクトルの次元数dを示すこと。
- ★データのクラスの意味と各特徴量次元の意味を説明すること。各特徴量の取得方法を説明すること。(引用からデータを作成した場合、出典を明らかにすること)
- ★データの線形識別不能性について調査し説明すること。
- 参考:
(libre calcで生成した)csvファイルをlibsvmフォーマットに準拠させるフィルタ
$ awk -f csv2libsvm.awk < fromlibre.csv > forlibsvm.txt
- (2) SVM(識別器の作成)
libsvmを用いて、クラス分類器を製作し、試験を行うこと。
それぞれ、SmallSet, LargeSetの両方について行うこと。
- libsvm同梱のeasy.pyを用いてよい。
- スケーリング範囲は(-1, 1)とする。
- カーネルにはRBFを用いること。
- パラメータチューニングにおいて、5-fold cross validationを用いること。
- パラメータチューニングにおいて、Soft MarginのCのグリッドサーチ範囲は 2-5 〜 215、RBFのγのグリッドサーチ範囲は 2-15 〜 23 とする。
- ★作業手順を示すこと。(bashのhistory相当でよい)
- ★チューニング結果であるソフトマージン、RBFのC、γをそれぞれ 2xの形で示すこと。
- ★チューニングの様子を示すグリッドサーチに対する認識率分布グラフを示すこと。
- ★学習用データに対する認識率を示すこと。
- ★試験用データに対する認識率を示すこと。
- ★学習用データ、試験用データの認識率の差に対する考察を、データ分布状況やSVMの特性に言及して行うこと。
- (3-Ex) SVM(クラス毎解析)
以下のことを行った場合、加点する。
- ☆学習用データに対するクラスごとの認識率を示すこと。
- ☆試験用データに対するクラスごとの認識率を示すこと。
- ☆学習用データ、試験用データの各クラスの認識率の差異に対する考察を、データ分布状況やSVMの特性に言及して行うこと。
- (4) PCAによる2D表示
R等を用いて、SmallSet, LargeSetの両方について主成分分析を行い、2次元平面内へプロットして示すこと。
- 入力データはスケーリングすること。スケーリングは上記(2)と同一にすること。
- ★求めた第1、第2主成分について、寄与率を示すこと。
- ★求めた第1、第2主成分について、偏差と主成分ベクトルを示すこと。
- ★求めた第1、第2主成分の軸に沿って入力データをプロットした散布図を示すこと。各クラスについて異なる印で示すこと。
- Rと合わせたlinux上での作業例については講義アーカイブ参照。
授業で解説した内容とほぼ同等のことは、全て、
Casper CartridgeのVer.5xx.で実行可能です。日本語込みであれば Ver.521, Ver.540辺りがよいでしょう。
上記の説明に出てくるスクリプトやデータについては、下記アーカイブを展開して参照してください。
アーカイブ内のデータは復習用に自由に使ってもらって構いません。
ただし、レポート提出時には(シミュレーションでもその他でも)このデータないしこのデータから派生したと思われるデータは使わないこと。
Rの簡単な使い方説明
多次元データ(2クラス)をPCAして、2次元平面上で観察する方法です。
PRML2013-kameda.zip
kameda[at]iit.tsukuba.ac.jp