miyasakura’s diary

日記です。

Coursera Machine LearningコースWeek 7~9

1月の中旬から始めたコースですがなんとか終わりが見えてきました。

Week7

Support Vector Machine について。昔習った気がするけど全く覚えてないよ。

一連の講義の中で一番わかりづらかったので実際使う時は復習しないとなぁという感じ。

特徴量が少なめの時に使うと良いらしい。

Week8

Unsupervised Learningについて。

K-Means法は大学で習いはしなかったけど研究室とかでよく耳にした手法。

あとはPCAによるDimensionality Deductionについて。

複雑な式の詳細には踏み込まずに概念だけで説明してくれるのですんなり理解できた。

Week9

引き続き教師なし学習の応用について。Videoの量としては一番長い週。

Anomaly DetectionとRecommender Systems。

プログラミング課題としてはこの週が最後ぽい。

Week 7, 8は特に悩まず解けて慣れてきたかと思ったけど、やはりVectorizedな形で複雑な式を実装するのは悩んでしまう。

それでも行列演算には慣れてきたので、成長してはいると思われる。

残りは Week 10とWeek 11で合わせてEstimated Timeは3時間くらい。

なんとか当初の予定の一週間遅れくらいで終わりそうな雰囲気です。

週末に見たアニメとマンガメモ

この週末はかなり疲れが溜まっていた(主に飲み会のせい)ので充電ということで何も考えずに飲み会で勧められたアニメとマンガを見ることに。

アニメはよっぽど好きなマンガがアニメ化されるとかでもない限り基本は見ないんですが、たまに一気見とかは楽しいですね。前はSAOとやらを見た記憶があります。

アニメ3つとマンガを4つほどですがこの勢いで情報を入れると一週間後にはほぼ覚えていなくなるのでメモしておきます。

アニメ:Re:ゼロから始める異世界生活

話題になってたことだけ知ってるので多分面白いんだろうなぁと思いつつ視聴。

中盤の主人公がウザキャラになり始めたあたりは辛かったんですが、その分最後に一通り解決していく流れがカタルシスを得られるので非常に満足度は高かったです。

特に気の利いた感想はないんですが、レムがいちばん人気なのはそりゃそうですよねぇと。

アニメ:ノーゲーム・ノーライフ

超人が無双していく話は嫌いじゃないので楽しめました。無駄にエロを入れてくるのは好みじゃないですが。

個人的にはしりとりの戦いが一番好き。

アニメ:有頂天家族

良い話。最後の方は一気に引き込まれました。矢二郎の活躍とか総一朗や母の思いとか全部泣けました。流石に3つ目となると集中して見れなかったので、もう少しじっくり味わいたかった気がします。

2期もあるみたいなのでそっちも見てみたい。

マンガ:さらば、佳き日

さらば、佳き日1 (it COMICS)

切なくなる恋愛ストーリー。疲れてるタイミングで見たせいなのかこの作者の表現力がすごいのか、他のこれ系の話と比べても胸が苦しくなる場面多数。

高校〜大学あたりの報われない恋って一番自分の琴線に触れる気がします。(この話は最終的には報われて欲しいですが。)

マンガ:世界で一番、俺が〇〇

世界で一番、俺が〇〇(1) (イブニングコミックス)

一番不幸になった人が願い事を叶うという話。設定へのツッコミは無いことはないですが今のところ面白いので、10巻くらいで綺麗にまとまると良い気がする。

マンガ:アルテ

アルテ 1巻

好きなタイプの話。現代より前の時代設定で女の子が逆境に負けずに頑張る系の話はありがちといえばありがちですが、主人公がとても魅力的。

これ系の話は主人公のステップアップで全く別の人間関係の場所に行くというのもよくあるかと思うんですが、作品としてはそこで話がリセットされて中だるみするのが多い気がするので、個人的にはその場所で頑張り続ける話のが基本的に面白いと思うのでそうあって欲しいなぁ。(その場所に居続けるとネタ切れになりやすいとかはあるんでしょうけれど。。)

Coursera Machine LearningコースWeek 6 (1ヶ月ぶり)

3月入ってから全然できていなかったコースやっと再開できました。これ期日に間に合わなくても1ヶ月も遅れると新しい期日設定して新しく再開できるんですね。

前回まででLinear RegressionとLogistic Regression、Neural Networkを学んできました。

Week 6はそれらを使う時の考え方というところで、ラーニングセットをTrain/Validation/Testに分けたり、Bias/Varianceのトレードオフについてといったところを学びました。

何とかこれ以上遅れさせずに終わらせたい…。

Coursera Machine LearningコースWeek 4〜5

5週目が期限に間に合わず…。土日でやろうと思ってると別の予定が入ると厳しくなりますね。とはいえ間に合わなくてもペナルティは特にない模様。

4、5週目はニューラルネットワークについて。FeedforwardとかBackpropagationとか。

なんか最初の方でforループとか使うよりもVectorizedな形でやると良いぜみたいなのがあったので、課題は基本Vectorizedな形で実装してたんですが、どうやらforループでやるのが普通みたいですね。

4週目の課題で前回のをVectorizeしてみましょうってあってコピペで終わったり、5週目はループOKみたいな事書いてあったり。

forループで実装したほうがイメージも湧きやすいので最初からそうしてればよかったなと。

もうすぐ折り返し地点なので引き続き頑張る。

Coursera Machine LearningコースWeek 3

何とか三週目も期限前にクリア。先週の土曜にやろうと思ったらCourseraが落ちてたためやるタイミングが無くなって時間かかってしまいました。

3週目の内容はこんな感じ。

  • Logistic Regression Model
    • 先週までは線形回帰で今回はロジスティック回帰
    • 線形回帰モデルと同じように最急降下法によって解を求める
    • 式は理解できるものの行列計算ができるようにVectorizedした形への変形がイマイチ消化できず…
  • Classification and Representation
    • ロジスティック回帰を用いたClassification
  • Solving the Problem of Overfitting
    • Overfittingを避けるための Regularizatinについて

今後の内容を見たら1週あたり4〜6時間というのが書いてありました。引き続き続くと良いなぁ。

CourseraのMachine LearningコースWeek 2

先週から始めたCourseraですが、2週目はまだなんとか続いています。

内容はこんな感じ。

Environment Setup

課題提出などのためにOctaveを入れました。mac だと

$ brew install octave

で出来ましたがその先のレッスンでグラフを出す時にgnuplotを使うのがうまく動かなかったので

$ brew cask install xquartz
$ brew reinstall gnuplot --with-x11

をして.octavercにgnuplotの設定を追加して動きました。

$ cat ~/.octaverc
setenv("GNUTERM", "x11")
graphics_toolkit("gnuplot")

Multivariate Linear Regression

1週目にやった内容の拡張ということで複数の特徴量を持つ線形回帰でした。

メモは基本PCで取ってるんですが、この辺りから数式を書くのが辛くなってきました。

一応QuiverのLatexの記述で書き続けています。

Computing Parameters Analytically

Linear Regressionではなく解析に解くという技。

逆関数を計算することから一定以上の規模だと計算量の問題で解けなくなってくる。

Octave/Matlab Tutorial

Octaveの使い方を学ぶ。

Review Quiz

1週目と同じように5問中4問正解しなければ行けないテストが2回ほどありました。

余裕で間違えて再提出になりましたが、8時間で3回受けられるということで問題はほぼ同じなので流石に2回目はさくっと通過。

Programming Assignment

今回始めてOctaveでの課題提出がありました。

Linear Regressionの問題でした。最初の方はOne variableな問題でそれだけ解ければ良いみたいでしたが、普通に Multiple variable のケースでも解けないとだめと思って書いていたので苦労しました。

それでも1時間くらいで提出できて、Optional ExerciseとしてMultiple Variableがあったんですがほぼ同一のコードで完了したので合わせて1時間半くらいで出来た気がします。

感想

10年ぶりくらいで講義ぽいのを受けてるわけですが大学だと証明系を自分でできるようにならないとテストで点を取れなかったけどそういうのは無いから気楽ですね。忙しくなってきてる中どこまで続くか………

CourseraのMachine LearningコースWeek 1

機械学習で調べるとよくおすすめされているやつですが、一念発起して始めてみました。日本語字幕もありますが英語の勉強も兼ねて英語字幕にて。

Week 1では大きく4つのセクション。

  • Introduction
    • コースの概要
    • Supervised LearningとUnsupervised Learningについて
  • Model and Cost Function
    • Machine LearningをModel化して定義
  • Parameter Learning
  • Linear Algebra Review
    • 線形代数の復習(四則演算やIdentity Matrixなど)

ほぼ数学を忘れていてもできるレベルでした。このくらいはInformation Scienceの修士卒で出来ないとは言えないレベルだけど実際にはかなり忘れてて最急降下法で出てくる偏微分とかで戸惑ってました。

線形代数のところはビデオほぼ飛ばしてたぶん合計4~5時間くらいで完了。

Week12まであるけどそこまで続く気が全くしない。