naoya_t@hatenablog

いわゆるチラシノウラであります

今週のCoursera(〜5/25)

5/10のエントリ「Coursera継続メモ」の続き。

前回のエントリを書いた頃に使っていた iPhone 3GS が文鎮に自動アップグレードするという心憎いサービスを受けてしまった為、iPhone 4Sにダウングレードしたところ iPhone からでも Coursera のビデオが見られるようになっていました*1

参加しているクラス

Machine Learning (Andrew Ng, Stanford) - 4/23開講。現在第6週

Ng先生の講義を聞いてたら、何度読んでも取り付く島のなさが漂っていたPRMLが「この本詳しいなあ色々載ってるなあ」と少しはポジティブに思えるようになってきた。

Week 1 I Introduction
II Linear Regression with One Variable
III (optional.) Linear Algebra Review
Week 2 IV Linear Regression with Multiple Variables
V Octave Tutorial
Week 3 VI Logistic Regression
VII Regularization
Week 4 VIII Neural Networks: Representation
Week 5 IX Neural Networks: Learning
Week 6 X Advice for Applying Machine Learning
XI Machine Learning System Design
  • Neural Network (Week 4〜5) が終わった
  • 今バイアス-バリアンスの話をしている (Week 6)
    • 訓練用データ、クロスバリデーション用データ、テストデータ、に6:2:2ぐらいで分けて使う話
    • 訓練時にはペナルティ*2入りコスト関数 J(θ) を用いるが、それとは別にペナルティ無しのコスト関数 Jtrain(θ), Jcv(θ), Jtest(θ) を用意する、という話。訓練のイテレーションにはペナルティ有りのコスト関数を用い、学習後に改めて訓練データを評価するということかな(その辺りが何言ってるのかさっぱり分からなくて同じビデオをループ中。→単にグラフ上で Jcvと同条件で比較するためにJtrainを用意しているだけで、訓練にJtrainを使うわけではないようだ。安心)
  • X. まで終わったので課題に手をつけた。NN回に比べれば簡単。
    • Review Questionsは要点を(ビデオの途中に出てくる簡単な小クイズに答えられる程度に)理解していれば満点が取れる感じ。意地悪ではない。
    • Programming Assignment はOctaveにも慣れてきて、付属のPDFに書かれた指示が手取り足取り感があるので割と容易に満点に辿り着けた。Optional (ungraded) exercisesも全部できた。
    • ビデオを見ていてあやふやだった部分もコードに落としてみたら凄く良く分かった感がある。
  • Week 7はSVMらしい(とか思ってたら7週目の講義ビデオが消えた。どこへ行ったんだろう)

Automata (Jeffrey Ullman, Stanford) - 4/23開講。現在第5週

1本1本のビデオが長めでちょっと(集中力、というより時間取るのが)きつい

Week 1 Finite Automata
Week 2 Regular Expression and Properties of Regular Languages
Week 3 Context-Free Grammars and Pushdown Automata
Week 4 Pushdown Automata and Properties of Context Free Languages
Week 5 Turing Machine
Problem Session
  • 課題(といってもクイズ形式)の締め切りが迫りすぎてて講義ビデオを見る時間がなくてビデオ見ずに満点出るまで何度か解きました
  • 復習がてら、正規表現 → ε-NFA → DFA → テーブル →スキャナ みたいな変換プログラムを書いてた。DFAGraphvizで画像化してみたり。
  • というわけで、課題は追いついてるけどビデオ消化がビハインド。まだWeek2(正規言語)を見てる。早くCFGの週に入りたい。現時点の知識で課題が解けるレベルなのでまあ急がないけど。
  • 期末試験を6/11〜18のうちに受けろと。所要3時間。(普段の成績+期末試験)の50%以上をマークしていれば"Certificates of accomplishment"をメールするとのこと。

Compilers (Alex Aiken, Stanford) - 4/23開講; 5/10参戦

(参戦が遅かった為ですが)宿題の期限が来るのが早すぎる… 中間試験とかもあるし

Week 1 01 Introduction
02 The Cool Programming Language
Week 2 03 Lexical Analysis
04 Finite Automata
Week 3 05 Parsing
06 Top-Down Parsing
Week 4 07 Bottom-Up Parsing I
08 Bottom-Up Parsing II
(midterm)
Week 5 09 Semantic Analysis and Type Checking
10 Cool Type Checking
Week 6 11 Runtime Organization
  • おさらいクイズパート
    • 締め切りが迫りすぎてて(ry
    • 1. DeduceIt という論理組立てパズルみたいな仕組みを使って証明や遷移を組み立てるタイプのもの
    • 2. 選択問題(1つだけ選ぶものと当てはまる全てを選ぶものがある)に答えるタイプのもの
  • プログラミング演習パート
    • クラスルーム向けオレオレ言語、略してCool言語の実装
    • Programming Assignment 1: flex/jlexでlexerを実装
    • Programming Assignment 2: bisonでparserを実装 ←ここまで終えた
      • 講義ビデオでlex/yacc というか flex/bisonの使い方は殆ど説明されない。自分で調べろと。
      • 採点用テストケースが用意されている(のでそのテストケースが全部通ってしまえば良いとも言える)
  • ビデオは#05のParsingまで観終わった。これからTop-down parsing, Bottom-up parsingと続く。
  • 月曜の15:59JSTまでに中間テスト(2時間半。チャンスは1回のみ)を受けないといけない

Computer Vision:The Fundamentals (Jitendra Malik, UCB)

start today! とか書いてあったのをついクリックしてしまった。しかし1本目のOverviewが長い。(面白そうではある)

Overview
Fundamentals of Image Formation
Rotations and translations
Dynamic Perspective
Binocular Stereo

*1:iOS5のSafariでないと見られないのか、そのタイミングで見られるようになったのかは不明ですがまあどうでもいい

*2:パラメータが大きくなりすぎることを抑制することでoverfittingを防ぐあれ