最短距離法による顔認識(1)
SJS/2017/ex04 の顔画像を3つのクラス(猫,女性,男性)に分類する識別問題を考え,最短距離法による識別の実験をやってみよう.
最短距離法による顔認識(2)
データを「学習データ」と「テストデータ」に分けて課題Aと同様の実験をしよう.
In [11]: X = np.arange(10).reshape((5,2)) In [12]: X Out[12]: array([[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]]) In [13]: idx = np.random.permutation( X.shape[0] ) In [14]: idx Out[14]: array([2, 3, 4, 1, 0]) In [15]: idxL, idxT = idx[:3], idx[3:] In [16]: idxL Out[16]: array([2, 3, 4]) In [17]: idxT Out[17]: array([1, 0]) In [18]: XL = X[idxL] In [19]: XT = X[idxT] In [20]: XL Out[20]: array([[4, 5], [6, 7], [8, 9]]) In [21]: XT Out[21]: array([[2, 3], [0, 1]])
In [12]: np.random.seed(0) # 種として 0 を指定 In [13]: np.random.rand(5) Out[13]: array([ 0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ]) In [14]: np.random.rand(5) Out[14]: array([ 0.64589411, 0.43758721, 0.891773 , 0.96366276, 0.38344152]) In [15]: np.random.seed(0) # 再び種を 0 に In [16]: np.random.rand(5) Out[16]: array([ 0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ])