Top / PIP / 2017 / hw1234

パターン情報処理 2017年度 [edit]

第12回の宿題 [edit]

講義資料 11.2.2 において,D = 2 の場合の正規方程式が式(20)のようになることを示しなさい. つまり,式(19) の \( \bm{X} \)\( \bm{Y} \) を用いて \( \bm{X}\bm{X}^{\top} \)\( \bm{X}\bm{Y}^{\top} \) を計算し,これが式(20)の対応する部分に一致することを示しなさい.\( \sum \) の添字は適当に省略してもよいが,全部省略してしまわないこと.

第13回の宿題 [edit]

問1 [edit]

Gist上のこの宿題のページ: https://gist.github.com/takatakamanbou/517282529a72e8b95f7e1bdf0b8181d6

上記のリンクをたどると,gendat.py と leastsquares.py という2つの Python プログラムが入手できる.これらを手元の適当な場所にダウンロードして(ディレクトリを作ってその中に置くのがよいだろう),龍大計算機室の Linux 環境で次のことをやりなさい(それ以外の環境で実行しようとしてる人は,↓の注意参照).この課題では,2つのプログラムの中身を理解することは求めていない.また,これらを修正する必要もないはず.

  1. 次のようにして gendat.py を実行する
    $ python  gendat.py
  2. すると hoge.txt という名前のテキストファイルができるので,中身を確認(個別に少しずつ異なるデータになります)
    $ cat gendat.py
  3. leastsquares.py を実行する
    $ python  leastsquares.py
    hoge.txt に記されたデータを読み込んで,これに当てはまる直線を最小二乗法で推定し,その式を表示するはず
  4. gnuplot を使い,hoge.txt と,推定された直線のグラフを重ねて描く.x軸y軸の範囲は,グラフが見やすくなるように適当に設定してください
    gnuplotの使い方

描いたグラフを印刷し,そこに次のものを書き込んで提出してください

  1. 名前と学籍番号
  2. 推定された直線の式(2つのパラメータは,小数点以下4桁目を四捨五入した値でok)

問2 [edit]

講義資料参照

第14回の宿題 [edit]

第13回宿題問1の hoge.txt のかわりに,自分で適当なデータを見つけて(または作って),最小二乗法による直線あてはめをやってみなさい.hoge.txt を自分でキー入力して書き換えるか,または,別の名前の新しいファイルを作って,leastsquares.py にそれを読み込ませたらよいだろう.

データと直線を重ねて描いたグラフを印刷し,そこに次のものを書き込んで提出してください

  1. 名前と学籍番号
  2. 推定された直線の式
  3. どこから入手したどんなデータかの説明(x,yがそれぞれ何を表すのか,等)

注意 [edit]

龍大計算機室以外の環境でこの宿題を実行しようとしてる人向けの注意

  1. これらのプログラムでは,NumPy という数値計算ライブラリを使ってます.
  2. gendat.py は,これを実行したユーザのログイン名を入手して,その先頭文字を除いた文字列を整数に変換し,それを乱数生成の種とするようになってます.自宅の環境等では上記の変換に失敗するので,その場合は 0 を種とします.種の値によってデータに加えられるノイズが異なるので,推定されるパラメータも微妙に異なります.龍大計算機室以外の環境で問題2をやった場合は,提出する紙にそのことを書いておいてください.

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-07-11 (火) 12:52:06 (74d)