【機械学習】人像分類(一)——過程総括


この問題は実は前学期のある授業の大宿題の3つのテーマの一つです.テーマを発表した後、私はこの内容に興味を持っていましたが、いろいろな理由でチームメートと相談した後、最も簡単に見える文の分類を選んだので、残念ではありません.この冬休みに計画しなければならないことは実はたくさんあって、このプロジェクトを完成するのはその中の1つです;CSの人気方向である機械学習など、神のように聞こえる分野についても、ToDo-Listで知っています.一番いい勉強方法はlearning in projectsだそうですが、この機会にpythonを固めたほうがいいです.
問題の説明
1組の内容は,2人が異なる光線条件,異なる表情で撮影した顔写真であり,写真を人物別に2種類に分類する.入力:2016次元のベクトル10個.各写真には2016個の「画素点」があり、入力データは10枚の写真の階調図に対応している.出力:人物1に属する写真番号と、人物2に属する写真番号.
プロセス
  • 処理入力PCAには既存のライブラリがあり、K-Meansクラスタリングのプロセスも比較的明確であるため、入力データの処理にかかる時間は1/3を占める可能性がある.一番知的障害者なのは、最初はinputだと思っていました.txtのi*2016~((i+1)*2016-1)の個数は1枚目の図の階調値で、半日集まったがどうしても間違っていることに気づき、場面は一時気まずい思いをした.階調マップが復元されないことに気づくまで、ファイルの各列が画像の階調ベクトルである可能性があることに気づいた......
  • PCA降維は高等代数を学んだことがないので、この部分はずっと既成のライブラリに希望を寄せています.PCAの数学の原理に対して、理解するのは心が余裕があって力が足りなくて、探し当てた解釈は玄之又玄で、私は深夜にどうしても衆妙の門に入ることができません.しかし、仲間に原始的なテストデータを求めたとき、超niceの仲間は私に神の助けのような参考資料を送ってくれた.その中には、浅くて深く、極めてはっきりしたPCAの数学原理がある.自分に対する自信を取り戻すのを見て、美しいのではないでしょうか.  
  • K-Meansクラスタリングが始まった数夜、まるでbingに向かって呆然としていた・・・ネット上にはクラスタリングの例が少なくなく、2次元ベクトルクラスタリングの結果が画像化されることもあるが、2016次元はどのように平面に描かれているのだろうか.膠着状態に陥るjpg. ある日何かのきっかけを忘れて、突然一瞬にしてはっと悟って、n次元空間の中の2つの点も距離を計算することができます!!前の考えは硬直していました!この世界は二次元と三次元だけではないか.納得した後、コードは破竹の勢いで、半晩でこの部分を解決しました.いくつかの興味深い拡張読書資料:データマイニングの10大アルゴリズムの詳細.
  • 還元階調図検査この部分はMatblabで行います.

  • 問題
  • 終了条件を判断すると、今回のセントロイドと前回の対応するセントロイドとの距離の差を算出しようとする.しかし、どの2つのコアが対応しているのか、どのように知っていますか.>>最終的にこの方法を放棄し、クラスタリング回数の上限を設定することを選択します.
  • listがarrayに値を割り当てることができることを発見しました!あとはベクトル演算になります!pythonは使いやすい!座標をベクトルの形に保存する必要があることを覚えておいてください.
  • 変数の役割ドメイン問題.dotsは本来listであると仮定し,関数内でdots=[]を再付与すると,新しく付与されたオブジェクトは関数外に感知されない.気まずい.
  • は実行logを記録しようとしたが、writeからファイルにリストをstrに変換する必要があり、省略記号に置き換えられる可能性もある.醜い.>>しかし私は結局ICSを学んだ人です.Cにはdup 2()関数があり、pythonでもいいですね.
  • temp = sys.stdout #            
    sys.stdout = open(filename, 'w') #          
    sys.stdout = temp #