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
$ 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まであるけどそこまで続く気が全くしない。
何でもやる系フリーランスエンジニアがお金を払って利用しているもの
出費を振り返る意味も込めてフリーのソフトウェアエンジニアとしてお金払って{購入|利用}している{物|サービス|ソフトウェア}のまとめ。
- Macbook Pro 15"
- Jetbrains All Products Pack
- Photoshop CC
- Sketch
- Parallels Desktop for Mac & Windows 10
- Microsoft Office
- Norton Internet Security
- Charles
- Safari Books Online
- Github 有料プラン
- BEKANT (電気昇降式デスク)
- MFクラウド
- 1password
- 感想
Macbook Pro 15"
となるとこれ一択に。XcodeとかAndroid Studioとか立ち上げてビルドするには13"だと非力。
Jetbrains All Products Pack
仕事でよく使う言語がRuby/Scala/Java/PHP/Swift/Node.jsなどですが開発環境が揃っていた方が良いなと思い利用。IntelliJにプラグイン入れるよりは個別のプロダクトの方が使用感が良い。
ちなみにSwiftはXcode派。
Photoshop CC
Webサイトを作っていると画像を加工したりの機会がよくあるので。
デザイナーさんから貰ったファイルを自分で切り出すことも多いので意外と出番が多い。
通常のCreative Cloudのプランは高いので自分ではそこまでの価値は出しきれないですが、Photoshopだけであれば1,058円なのでこれくらいはギリギリ必要経費かなと。
Sketch
最近はアプリ作ってないのであまり利用する機会は無い。。
Parallels Desktop for Mac & Windows 10
IE/Edgeでの動作検証とかe-Tax/eLTAXとかでWindowsはどうしても必要に。Macで頑張る方法もありそうですが、素直にWindows入れちゃうのが苦労もしないので良いかなと。
月一も使わないので起動する度にアップデートしがちなのつらいところ。
Microsoft Office
結局365を契約。。最近地味に使う機会が多い。
Norton Internet Security
案件によりますが、自分のPCを持ち込んで作業させてと主張するとポリシー上セキュリティソフトが必要と言われることがある。
Charles
いきなり入った案件でドキュメントがしっかりしていないケースはままあって、そんな時には外部動作から内部仕様を推測して理解していくのが最速。
新しい案件に携わった時に最初にキャッチアップする速度が早いだけで一目置かれるので、個人的には最重要なソフト。
Safari Books Online
年間$400で英語の技術系書籍/動画が見放題のやつ。(実際にはキャンペーンで加入したので$300)
新しい技術/フレームワークなどをキャッチアップしないといけないときはこれで探して勉強している。
特に動画はかなり利用している。オススメ。
Github 有料プラン
Private リポジトリは必要よね。
BEKANT (電気昇降式デスク)
http://www.ikea.com/jp/ja/catalog/products/S59187840/
家で作業をする場合は座ってばかりになるので立って作業ができるように。
こういうものを買っても3週間で結局は座りっぱなしになるという統計もあるものの、Apple Watchに立ちましょうと言われたタイミングで3分だけ立ち上がって作業というだけでもだいぶ違うなという印象。
MFクラウド
freeeでもなんでも良いけど今のところは税理士に頼まなくて良いかなというレベルなので利用中。
1password
あまりフリーランスとか関係ないものの、色々な企業と関わると自分自身のセキュリティは考えるようになるので、より強固なパスワードしたいという思いもあり利用中。
感想
あんまりフリーランスがとか関係ないのも多いですが、こうやってみると月または年で払っているものがそれなりにありますね。お金もっと稼がないとなぁ。。
2017年の振り返り
2017年は大きな変革のない年だったと反省していたのですが、改めて振り返ると意外と大きなイベントもありました。
まずは新しい仲間との出会い。
前年から一緒に事業をゆるゆるとやっていこうと言っていた友人が別の会社にコミットすることになったので、一人でやっていかざるをえない状況になりました。
その中でフリーランス仲間で一緒に何かしていこうという仲間を見つけることができました。
そしてセブへ行った一ヶ月も大きな一ヶ月でした。
英語力も身に付きつつ、そのタイミングで苦手な単価交渉もうまいことできたり、仕事につながる出会いもありました。
一年を通しての反省点としては、どれも中途半端になってしまったので来年は選択と集中をして、やりたいことをやれる年にしていかないとなぁと思っています。
仕事的には種まきをしていた部分もあるので、来年はしっかりと売上を上げるフェーズにしていくことが目標です。
振り返りメモ
技術
- 一応使えるようになった
- React, Spring Framework (Java), Play Framework (Scala)
- 自信を持って使えるようになってきた
- Docker, AWS
仕事
- 前年からの継続的な仕事が多かった
- 一緒に事業を作ろうと言っていた友人が就職していった
- 別の仲間と一緒にやるようになった
- やる気の有り無しで生産性に大きく違いが出た一年
- 周りを見ると面白そうなベンチャーは多かった
プライベート
- 旅行
- 箱根、沖縄、大分、仙台、熱海
- 英語
- セブに行った一ヶ月でTOEIC900超えたし出会いもあったし良かった
- 運動
- 続かず
- 酒
- 飲みすぎる回数は減らせた
- 友人
- 数年会っていなかった何人かに会いに行けた
エンタメ周り
- ゲーム
- 映画
- TV/動画
- 野球とサンドウィッチマンの動画をよく見てた
投資
来年の抱負
- 人とのつながりを大切に
- 選択と集中
- やるべきことをやりきる