世界を目指すIT少年の学習記録

世界を股にかけITを武器に暮らしていく!ことを目指す少年の備忘録。本のレビュー、勉強したこと、学んだことなどを記録していきます。

大学院で研究じゃなくて社会人になって正解だと思った一年だった 一年振り返り

f:id:kenjioda:20161230160414j:plain

 

今年の振り返り(というか意見の羅列)および12月の振り返りをしようと思う。

大学院行こうかなぁ。社会人になろうかなぁ。とか色々考えている人の参考になったら良いな。

ただし、完全に個人的意見なので、頭いい人にちゃんと相談するのが一番いいけどね。

 

大学院で研究ではなく社会人になって良かったと思った一年だった

理由は以下

 

1.大学院行かなくても自分で勉強できる。(特に理論系)目的によってはむしろ効率が良いこともありそう。

2.アカデミックの世界で重要視されていることと実務(ビジネス)の世界で重要視されていることは違う

3.アカデミックの世界で活躍できなくても、ビジネスの世界で活躍する方法はありそう

 

の3点です。

 

大学院行かなくても勉強できる。目的によっては研究室よりも効率良い

まず、一つ目

大学院行かなくても勉強できるっしょ

という話は、実験系とかものすごく高い器具やソフト使わないと無理。

とかでなければ全部自分でできます。

もしかすると、私がいた研究室が特殊だったのかもしれませんが、

量子コンピューターの理論系の研究室だったので、

「そもそも量子コンピュータないし実験できるわけねぇw」

という背景もあり、すべて理論なので、各自勝手に好きな時間に好きな場所で勉強する。各自が何やっているかも知らない。

という状況でした。(つまりほぼほぼ独学)

 

別に研究室来なくても良いので、スタバでやっても、インターン先の会社のデスクでやっても、家でもどこでもOKでした。

まあなんで、むしろ社会人になってからも独学しても状況が変わらなかったわけですね。

 

 

社会人になって変わったのは、時間の感覚に敏感になったこと。

なぜなら自由な時間が少ないから。

どんなに優良な企業でも一日8時間×5日は拘束されると思いますし、休憩時間と通勤時間も入れたら一日最低10時間は拘束されるでしょう。

 

学生時代はこの一日最低10時間の拘束がなかったので、めっちゃだらだらしてました。笑

(そもそも本当にすごい人とか、研究者を目指す!と思って進んでいる人はこんなことないんですけどね)

 

 

社会人になると、だらだら勉強することもなく、朝家出る前と通勤時、帰ってからちょろっと、および週末でめちゃめちゃ集中して勉強というルーティンができましたので、非常に効率的でした。

 

あと、論文とかに落とし込む必要性がないから、必要性があるものだけかいつまんで学ぶこともできる。

というメリットも大きかったと思います。

 

アカデミックの世界とビジネスの世界で求められることは違う

所詮学部卒なので、お前アカデミックのことなんもしらないだろ!ということはあるのですが、周りの友人達は修士卒業やPhD課程にいるやつもいるので、なんとなく把握しているつもりです。

 

くそざっくり言うと、

アカデミックだと基本「なんか新しいことやんなきゃいけない」と思います。

じゃないと論文とか研究にならないので。

あと「めっちゃ厳密じゃないとだめ」ってのもあります。

 

対してビジネスは

「あるビジネス上の課題を解決すれば、別に手段は新しくなくても全然OK」で、「100%正解じゃなくても80%くらい正解でもうまくいけばいいよ」という考え方があります。

 

前者の「別に手段は新しくなくていいよ」

という点は特に大きく、すでにアカデミックの世界では当たり前だったり、色々な事例があるような理論をあてはめてビジネス問題を解けばそれでOK

です。

 

また、厳密に正解しなくても、現状より良くなればOK なので、そこまでハードルが高くないのが現状です。

 

構図としては、

アカデミック:ある特定の分野について誰よりも詳しく誰よりも深く

ビジネス:他の人より詳しくて、今を改善すればOK

となりそうです。ですので、おもったよりも深掘りしなくても適用できればいいんだな

って感じになります。

 

例えば統計的仮説検定とかで、

なんで、t分布に従うのか?F分布従うのか。それぞれの確率分布はどのような理論的背景から導き出されたのか。情報量基準っていつでもAICで本当によいの?

 

とか理論系の研究室で聞かれそうなことは、

「基本みんなそれでやってるんで」って感じの答えでOKになるわけです(極端な話ですが)

 

なので、そこまで極める必要性がないのが現状です。

※もちろん基礎研究をやっているところとかは違いますが。

 

アカデミックでは花が開かなくても、ビジネスでは花開く人はいると思う

上記の理由から、アカデミックでは

「くそ厳密に、くそ深く」が求められがちです。

 

ですが、ビジネスでは

「そもそもどの課題があるかを発見する」

だったり

「今まで周りの人が知らなかった方法で現状よりも改善する」

というスキルがあれば重宝されるわけです。

 

一つ目の能力については、どうすればよいかというと、

私はわかりません!!!!(ってか教えて)

今勉強中です。

 

 

二つ目の周りのやつに勝つ

に関しては、

「特殊になれば良い」

だと思っています。

だって周りに勝てばいいんだから、それは相対的に特殊になることだから。

 

私が現在行っているアプローチは、古くから知られている手法ですが、

「掛け合わせる」

です。

 

私は、

マーケ×データサイエンス

を目指しています。

マーケができる人はたくさんいる。それはレッドオーシャン

データサイエンスができる人もいる。大抵数学がめっちゃできる。

でも両方できる人はたぶんあんまいない。(自社調べ)

 

掛け合わせると、そこそこ特殊×そこそこ特殊=めっちゃ特殊 となるわけなので、他のやつに勝てる唯一無二の存在になる可能性が高くなると思うのです。

 

ただし、これは本当にそうなるかはわからないし、うまくいかないかもしれないので、私が実際にやってみて、この道を開拓したいと思っています。笑

 

 

はやく唯一無二の存在になって、

天上天下唯我独尊なう」

ってつぶやきたいですね。(アフリカあたりで)

 

 

以下いつも通りの記録

12月振り返り

いつも通り12月に勉強したのを列挙

 

データサイエンス関連

Udacity Nanodegreeを引き続き

NanodegreeのSyllabusにはIntro to CSのLesson4まででOKと書いてったのですが、

Intro to Data AnalysisのPythonレベルがおもったよりも俄然高く、結局Intro to CSのLesson 5-7もやることに。

 

なぜなら、辞書とかLesson4までではやっていなかったのに、Intro to Data Analysisではバリバリ出てくるためw

 

 

Intro to Data Analysis

www.udacity.com

 

というわけでIntro to CSの最後のほうを引き続きやっているわけですが、それでもIntro to Data Analysisのクイズを独力で解ける気はしないので、写経状態になりそう。

www.udacity.com

 

色々ググったら、

Dive Into Python 3 日本語版

が非常に良いらしい

というのを見てやってみようかなぁと考えてもいる。けど、どうしたらプログラミングを習得するのに効率良いのかよくわからないので、検討中。

(しかもPython3だし)

 

あと引き続き以下もやっている。 

項目反応理論[入門編](第2版) (統計ライブラリー)

項目反応理論[入門編](第2版) (統計ライブラリー)

 

そろそろRで実装もしようかな

 その他 本

分散読みしすぎて全然読み切れていないけど、これは読んだ 

まなざし

まなざし

 

 おすすめ度:5

仕事帰りの電車の中とかで読める感じ。脳の容量を使わない。

そして面白い。面白いこと考える人だな って思う。

 

 

今回は以上!

本読んでない!すくない!

 

 

来年は夏頃までにDeep Learningとかで筋電位からロボットアーム作る装置とか、

自動運転ロボット(ルンバ的なやつ)とか作ってみたいですなぁ。

 

最終的にはやっぱりアイアンマン!

 

来年もどうぞよろしくお願いいたします。

 

データサイエンス学ぶならUdacityのData analyst nanodegre 11月振り返り

f:id:kenjioda:20161211114624p:plain

バイトするならタウンワーク

と同じノリで

データサイエンス学ぶならUdacity!

と最近は思っています。

Pythonをやっているよ。Intro to computer scienceなう

Intro to CSの前に統計系の基礎をこれで学んだよ。

 

Inferential statistics↓ではいわゆる統計的仮説検定の概要を把握するという感じだった。

www.udacity.com

よく本読んでて、F検定とかカイ二乗検定とか出てきてよくわかんねぇーけどとりあえず、差とかを検定しているんだろうなぁ

とざっくりとしか理解していなかったけど、この講座で学べた。ただし、なんでその分布に従うかとかまではやっていないので、こういうときはこの検定を使う。とか言うイメージ。

そもそも仮説検定とはから、t検定、F検定、カイ二乗検定、相関、回帰

とかが内容としては入っていた。相関とか回帰は別に見なくてもいんじゃね?って感じ。

 

UdacityのData analyst nanodegree(Data Analyst Nanodegree | Udacity)

の要件の中にIntro to CSのLesson4までと書いてあったのでやっている。

www.udacity.com

初めの方は、まあいわゆる文法みたいなのを学んで、変数の指定の仕方とかやったり、If文の書き方、関数の書き方とかをやる。

けど、日本のプログラミング教育と違うのは、こういう基本的な文法をならったあとにすぐに実践に移るという点。

 

スクレイピングとかをすぐに実装してみよう!みたいな流れになるので、For文とか学んだけど、結局1から10まで出力しただけ。くそつまんねぇ。みたいな日本の教育とは違うなと思いました。(そういえばイリノイ大学のCSのクラスもそんな感じだった気がする。途中でDropしたけどw あのときちゃんとやっておけばよかった。)

 

あと教育×テクノロジーにずーーーっと興味があるし、それで色々作りたいという思いもあり、

 これを読んでいる。

項目反応理論[入門編](第2版) (統計ライブラリー)

項目反応理論[入門編](第2版) (統計ライブラリー)

 

項目反応理論は、テストとかの答えをもとに生徒の能力を推定する理論で、基本はロジスティック回帰を理論の基盤としている。

今後きちんとまとめようと思う。 

 

UXって大事なんじゃないかなって思って勉強始めた

なぜUXが大事になってくると思うかの理由は以下

 

人工知能の発展によって、数字でわかる、計算すれば答えが出て来る。または人間よりも精度が高い答えを出せる可能性が高いもの(複雑な多数の要素、多くのデータが取れるもの)は機械にやらせればいい時代になっている。

なので、より答えがない、ファジーな問題を解く。人間にしかできないような問題を解くことがより重要になってくると思うから。

 

マーケ文脈だと、広告は自動化ツールがすでに人間を超えているので、自動化ツールが勝手にやってくれるようになっている。

またSEOに関しても今までは「テクニック」の部分が多かったのが、Rank Brainと呼ばれるGoogle人工知能アルゴリズムによって、より「ユーザーの体験」を重視=UX の文脈が強くなっている。

 

ーー以下妄想ーー

人工知能の今後を考えていくと、今後ソフトウェアとしての人工知能は非常に発展していくと考えられる。特にDeep Learningを中心とした特化型人工知能は強くなっていくだろう。

まだまだ汎用型人工知能は先だが、それもいつか実現できるかもしれない。

仮に汎用型人工知能ができたら、その後はマルチモーダルを利用した、体験を加味した人工知能の発展が次の課題になる可能性が高いのではないかと思っている。

しかし、これを実現するには、ロボットが人類と共存できるようになる必要があるので、そのためにはロボット工学の中の位置制御から力制御に変わる必要がある。しかし、その分野は発展はまだ先だと考えられる。

 

UXデザイナーが本質的に目指していることは、人間がいかにスムーズに快適に過ごせる体験を最大化させるものをつくるか。で、これを行うのにユーザー調査や、様々なファジーな情報を統合していく必要があって、人工知能がすっごく発展しても体験の部分に対してのハードルが高いので難しいんじゃないかなって思っている。

ーー妄想以上ーー

 

という妄想をいつも通勤時に考えているのですが、

端的にいうと、UX学んだほうがマーケターとしてもいいよね。っていうだけの話です。笑

 

 

 というわけでUX担当とかに聞いて良いと言われている本を順次読んでみたりしています。

UXデザインのやさしい教本 UXデザインの仕事の実際、学習のヒントとアドバイス

UXデザインのやさしい教本 UXデザインの仕事の実際、学習のヒントとアドバイス

 

おすすめ度:4

樽本さんのユーザービリティエンジニアリングにも近しい感じだが、わりとUX全体を俯瞰している感じ。はじめてよむのは これいいかも。 

 

人間中心設計入門 (HCDライブラリー)

人間中心設計入門 (HCDライブラリー)

 

おすすめ度:2

ちょっと理論を俯瞰しすぎていて逆にわかりづらい気がする。好みがわかれそう。

たぶんすっごいきちんと学んだ人にはいいのかもね。

とりあえずUX関連の理論をすべてまとめた、

彦丸風にいえば、「UX界のブリタニア辞典や〜」って感じ(読めばわかる)

 

IA/UXプラクティス モバイル情報アーキテクチャとUXデザイン

IA/UXプラクティス モバイル情報アーキテクチャとUXデザイン

 

読んでいるなう。なので今後書く。 

 

ほかにはこんな本を今週は読んだんだ

 

おすすめ度:5

前作も良かったけどこれもすっごい良い。

面白いからすぐよみ終わっちゃうし。

 

成果を出し続けるための 王道SEO対策 実践講座

成果を出し続けるための 王道SEO対策 実践講座

 

おすすめ度:5 

まだ読み途中だけど、初心者にも中級者にも嬉しい気がする。301リダイレクトの書き方とか以外と技術的なこともかいてあるし、基本もかいてあるし、さいこー!

 

仮説思考 BCG流 問題発見・解決の発想法

仮説思考 BCG流 問題発見・解決の発想法

 

おすすめ度:4

なんか頭いい人の本。普段の仕事の考え方には役立つよ。 

 

発想する会社! ― 世界最高のデザイン・ファームIDEOに学ぶイノベーションの技法

発想する会社! ― 世界最高のデザイン・ファームIDEOに学ぶイノベーションの技法

 

 おすすめ度:4

IDEOの本。でも↓のクリエイティブマインドセットのほうが読みやすい。

マネージャーの人はこれ読むと良いかもね。ベンチャーの社長とか。

 

クリエイティブ・マインドセット 想像力・好奇心・勇気が目覚める驚異の思考法

クリエイティブ・マインドセット 想像力・好奇心・勇気が目覚める驚異の思考法

 

読んでいるなう。

こっちのほうが個人向け 

 

おすすめ度:2

まだ読み途中だが、記事をよんでこの人の考え方いいなとおもって買ったけど、この本は間に受けないほうがいいやつな気がしている。 

 

 

Fire TV Stick

Fire TV Stick

 

あと全然関係ないけどFire Stick買いました。めっちゃアクション映画読んでる。

Amazon Primeさいこー(Amazon信者) 

 

読んだ冊数

4月 8冊 

5月 5冊

6月 4冊

7月 4冊

8月 4冊

9月 5冊

10月 6冊

11月 6冊

計 42冊→約60冊/年 ペース

そんな読んでるんだ!(驚き)w

 

今年も残りわずか。がんばろー!

【3秒記事】データ解析のためのPython環境をMacで構築&学習教材リスト!

以下は三秒記事(主にはてな記法で書いてみたかっただけである)

Anaconda をMacにインストールする方法

https://www.continuum.io/downloads#osx
から、Graphical installerで.pkgファイルをダウンロードするとうまくいかないので、command line installerを使ってTerminalからインストールするとうまくいく

おそらく新しいMacのOSだとセキュリティを高めているらしく、App storeまたはAppleに承認されたものしかインストールを許可しないようである。

あとはiPython notebookを使うと、良いよ!ターミナルで

ipython notebook

とうつだけでnotebookが立ち上がる

PythonCSVを読み込もう!

やり方は以下

#まずunicodecsvをインポート
import unicodecsv

with open('enrollments.csv', 'rb') as f:
  reader = unicodecsv.DictReader(f)
  enrollments = list(reader)

enrollments[0]

#Create a function to read csv files
def read_csv(filename):
  with open(filename, 'rb') as f: #rbにするとバイナリーモードで開ける バイナリーモードだとOSに依存しなくなる
    reader = unicodecsv.DictReader(f)
    return list(reader)

#例えばこういうふうに使う
enrollments = read_csv('enrollments.csv')
print enrollments[0]

はてなブログでコードを挿入する方法
www.weblog-life.net

そもそもPython学ぶには

日本語ならこれ↓
ただし、途中までしか無料でできないので、Loopとかやりたければお金払わなきゃいけないみたい。でも月額980円だから、いうて一ヶ月で終わると思うからまあいいかもね
prog-8.com

最近まで全部無料だったCodecademyも有料化してきているみたいだしね。
www.codecademy.com


あとはやっぱりUdacityのIntro to computer scienceいいよ
今絶賛やっています
www.udacity.com


以上!

SEO対策ならこれだ!YeahそしてStatisticsな月 10月振り返り

今月をまとめると

SEOを学ぶために新しくサイトを作り始めたよ!

引き続きData analysis nanodegreeをやっているよ!

の二点です。

ウェブマーケター兼データサイエンティスト兼海賊王を目指す僕としては、一番体を成す月だったね!

以下なぜか、テンション高めの記事です。

 

SEOを学び始めているよ!

サイトはじめたんだ

まあもともと4年前くらいにもTOEFLを専門としたサイトを運営していて、

TOEFL 勉強法」とかで1位とってたりしたんだが、記事書くの飽きたっていうのと中国人のハッカーにハッキングされてサイトが真っ白になった。

っていうことがあったからやってなかったんだけど、今ウェブマーケティングを職種としてやっているしまた勉強しようかなってね。

 

作ったサイトは以前のTOEFLサイトを踏襲して英語勉強法サイト

英語勉強法 徹底解説 study-english.jp

っていうなんのひねりもないドメイン名のサイトだ!

 

僕がおすすめする本はこれだ!

 

いちばんやさしい新しいSEOの教本 人気講師が教える検索に強いサイトの作り方 (「いちばんやさしい教本」シリーズ)

いちばんやさしい新しいSEOの教本 人気講師が教える検索に強いサイトの作り方 (「いちばんやさしい教本」シリーズ)

 

 いわずとしれたアユダンテ(SEO専門コンサル会社)の本

本当にこれをはじめにやればOK

そして僕の目の前にはアユダンテ出身のSEO担当者が座っているよ!(^_-)-☆

 

 

SEO対策のための Webライティング実践講座

SEO対策のための Webライティング実践講座

 

次にこれ。SEOの基本を身に着けたら記事をどうやって書けばいいかをこれで学ぶんだ!Yeah

 

本は以上。他にもSEOじゃないけどWebマーケ(ソーシャルも含め)でいいとおもうのは

 これかな↓ 

 

絶対に読むべきリンクはこれだ!

だってGoogle先生が出している教科書だもの。みつを

  1. 検索エンジン最適化スターターガイド(PDF)
  2. ウェブマスター向けガイドライン(品質に関するガイドライン)

 あとはみんな大好き

海外SEO情報ブログ - 海外のSEO対策で極めるアクセスアップ術

Byすずきけんいちさん

これを毎日読んでいれば君はSEO担当だ!

 

 ちょっと気になるんだが↓これいいのかなぁ 内部対策大事そうだもんねぇ

これからはじめる SEO内部対策の教科書

これからはじめる SEO内部対策の教科書

 

 

 

Data analysisやってるよ!(Descriptive & Inferential statistics)

Descriptive statisticsは終わったぜ

www.udacity.com

Descriptive statistics は終わった。日本語で、記述統計かな?いわゆる中央値、最頻値、平均値とかを鬼丁寧にやってくれました。簡単すぎたが、一応すべて終わらせた

 

今はInferential statisticsをやっている

だんだんテンションが下がってきたが笑

今は

www.udacity.com

これをやっている。

t検定とかの統計的仮説検定やら、カイ二乗検定とかが学べる。

そこらへんやりたかったから非常にうれしい!

 

次はちょろちょろ

www.udacity.com

これやらなって思いつつなかなかすすまないやーつ。

今月読んだ本

今月読んだ本は以下だ!

 

小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則

小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則

  • 作者: ジェイソン・フリード,デイヴィッド・ハイネマイヤー・ハンソン,黒沢 健二,松永 肇一,美谷 広海,祐佳 ヤング
  • 出版社/メーカー: 早川書房
  • 発売日: 2012/01/11
  • メディア: 単行本
  • 購入: 21人 クリック: 325回
  • この商品を含むブログ (36件) を見る
 

 おススメ度:3

おもしろいっちゃ面白いけど自分に落とし込むのはむずいのと、体系的にまっとまってる気がしなくて読みづらかったね。

 

論点思考

論点思考

 

 おススメ度:4

超有名な本。

まずは何を解決するかの課題設定するのがビジネスで一番大事だもんね。って本

それがむずいんだなぁw

って感じなので読んだ。この前の仮説思考ってほうよんでるけどそっちのほうがおもしろいかも

 

 おススメ度:5

これは良書。酒がわかる。ただしウイスキーは少ないので、ウイスキー好きの僕には物足りないけど、日本酒とワインがちょっとわかるのはすごい今後の人生豊かになりそうw

 

 

 おススメ度:3

ヒントにはなる。けどコンマはまだまだ発展途上の分野だなぁと感じる

 

サラバ! 上

サラバ! 上

 

 

サラバ! 下

サラバ! 下

 

 

 おススメ度:4

名小説 上下巻 又吉も絶賛したという作品。小説はいいね。新しい世界に連れてってくれるからさ。

 

読んでいる本

 

仮説思考 BCG流 問題発見・解決の発想法

仮説思考 BCG流 問題発見・解決の発想法

 

 超良い。

 

発想する会社! ― 世界最高のデザイン・ファームIDEOに学ぶイノベーションの技法

発想する会社! ― 世界最高のデザイン・ファームIDEOに学ぶイノベーションの技法

 

 おもろいんだけどなぜか眠くなりがち

 

来月はPython頑張れるようにしよう。

 

 

状態空間モデルで時系列分析の概観を把握した 9月振り返り

どちらかというと統計のことをまとめるブログチックになってきてしまったが、本職はウェブマーケターです笑

いつかAdWordsの話とかも鬼のように暇だったら書きたいな。

SEO系は書くかもしれん。

 

状態空間モデルを使った時系列分析

前のポストでも書いたように、状態空間モデルとは単純に下記図のように

「観測データの裏にある状態が存在していて、その状態から観測データが生成される」というものです。

それに加えて、現在の状態は一つ前の状態に依存関係がある。

という仮定を置いていますが、そんなに概念としては難しくないです。

f:id:kenjioda:20161008165212p:plain

参照 

Rでベイジアン動的線形モデルを学ぶ(2):まずは状態空間のコンセプトと基本のローカルレベル・モデルから - 六本木で働くデータサイエンティストのブログ

 で、この状態θtを推定して(tはある時点の時間通常は現在)、そのθtに乱数が加わってYtが生成されるので、

θtをYtとかの観測したデータから推定&乱数部分を推定

という二つの推定があるわけですね。事前に理論的に分かっている場合も制御とかではあるみたいですが、と友人が言ってました(詳細は知りません)

 

じゃあ実際、状態空間モデルって全体の流れとしてどうやるのっていうのはこのようになっています。

Step1 状態空間モデルの「型」を決める
Step2 その「型」にいれるパラメタを推定する
Step3 Step2で推定されたパラメタを「型」に入れてカルマンフィルターを回す
Step4 カルマンフィルターの結果を使ってスムージングする

dlmの使い方 | 時系列分析 | Logics of Blue より

型というのは、どういうモデルにしたら良さそうか っていう分析者の設定するものですね。

でStep3,4のカルマンフィルターは実は一部の動的線形モデル(モデル部分が線形で、かつ乱数部分が正規分布に従うもの)にしか使えないのですが、Dlmライブラリーは動的線形なので、基本カルマンフィルターでおkですね。

という超絶ざっくりまとめ

 

ちゃんとやりたい人は理論と実装両方必要になってくると思うので、下記に理論面、実装面で大変御世話になったリンクや文献をまとめました。

Let's Check it Out!

 

参考になったリンクや文献

理論面で役に立つ文献
予測にいかす統計モデリングの基本―ベイズ統計入門から応用まで (KS理工学専門書)

予測にいかす統計モデリングの基本―ベイズ統計入門から応用まで (KS理工学専門書)

 

まずはこれと下記のコマンダーの本で、状態空間モデルとはを学ぶことができる。

コマンダーの本は線形かつ乱数部分が正規分布に従う、動的線形モデルというものに限定しているが、むしろ非線形のものってどう考えるのかは私は分からないので、ほとんどの人は動的線形だけでもいい気がする。

 

粒子フィルタの基礎と応用: フィルタ・平滑化・パラメータ推定

で、これは非線形かつ乱数が正規分布に限定されない時にも使えて、かつ高速、データが増えても対応できまっせな粒子フィルタを解説している論文。

すっっごい分かりやすい

 

 

実装面で役に立つ文献

dlmの使い方 | 時系列分析 | Logics of Blue

神リンクがこれ。基本これで学べるかもね。これと下のAn Introduction to State Space Time Series Analysis Summaryを参照すれば実装はできる。

 

 

このコマンダーの本とそれをRで実装したすべてのコードを載せてくれている神Summary(英語だけど別にコードは基本英語ですもんねw)

An Introduction to State Space Time Series Analysis Summary

 

状態空間時系列分析入門

状態空間時系列分析入門

 

これは数式的には一番簡単だし分かりやすいからこれから入るのがいいかもしれませんね。

 

 

Rによるベイジアン動的線形モデル (統計ライブラリー)

Rによるベイジアン動的線形モデル (統計ライブラリー)

 

 ぶっちゃけこれで理論も勉強できる人は、これだけでいいんですが、相当数学が得意で基本すべて独学でできる人だと思う。

僕はこれで理論を学ぶのはほぼほぼ諦めたので、あくまでコードの書き方の参照として使っています。

まだ、最後の粒子フィルタの実装方法はわかっていないんだが、そもそも非線形ガウスにする必要性がある時が少なそうだから一旦保留

 

 

今後学習していくこと

一通り時系列は学んだかなぁ感があるが、まだ他の解析方法とかわからないので下記二つどっちかやろうかなと悩んでいるなう。

一緒に気軽に勉強会したい!みたいな人いたらやりましょう。

 

1つ目:An Introduction to Statistical Learning with Applications in R

スタンフォードとかでも教科書として使われているものらしく、

無料!かつ網羅できて、Rのコードでの実装もあって、さらにそれぞれの手法のメリットだけでなくデメリットも詳細に書かれているのがすごいなと思った。これの重回帰のみをちょっと読んだのでね。

Pdf: 

http://www-bcf.usc.edu/~gareth/ISL/ISLR Sixth Printing.pdf

目次はこんな感じ!ベイズがないけどね

  1. Introduction
  2. Statistical Learning
  3. Linear Regression
  4. Classification
  5. Resampling Methods
  6. Linear Model Selection and Regularization
  7. Moving Beyond Linearity
  8. Tree-Based Methods
  9. Support Vector Machines
  10. Unsupervised Learning

 

2つ目:UdacityのData Analyst Nanodegree

こちらは結構重いけどw

UdacityのNanodegree取るときちんと証明書としてもらえて、履歴書にもかけたり、Nanodegree plusにすると就職先も保証されるというものがあります(確かアメリカのビザとかある人でないと保証はされないみたいだけど)

そんだけ、これを全部やれば世界レベルでのデータサイエンティストと言えるということですね。

www.udacity.com

シラバスは以下

1. Statistics
2. Introduction to Data Analysis (Python)
3. Data Wrangling with MongoDB or SQL

ちなみにData Wranglingとはデータ加工っていう意味ですかね

Data munging or data wrangling is loosely the process of manually converting or mapping data from one "raw" form into another format that allows for more convenient consumption of the data with the help of semi-automated tools.

4. Data Analysis with R

5. Introduction to Machine Learning

6. Data Visualization and D3.js

7. A/B Testing

 

このように理論だけ!とかじゃなくて実践的なデータサイエンティストのスキルを身につけるためのコースになっています。

 

Nanodegreeに登録すると、200ドル/ 月ですが、普通にそれぞれのコースは無料で受けることもできるので、試しにSan Jose State Universityが提供している

Statisticsを受講し始めてみました。

www.udacity.com

ふだんは出勤中と土日に主に勉強しているのですが、これならスマホで見れるから続けられるといいな。が、コーディングが必要なものについてはどうしようかなぁとは思っています。

内容はこんなん

f:id:kenjioda:20161008171221p:plain

 

そして先生のKatyさん(左)が美人なのでモチベーションが上がります笑

 

f:id:kenjioda:20161008171328p:plain

 

その他学習中のこと

 読み終わった本

文章は接続詞で決まる (光文社新書)

文章は接続詞で決まる (光文社新書)

 

日本語って難しいよねっていうことで学んだけどぜんぜん落とし込めていないからまとめなきゃ。 

ハッカーと画家 コンピュータ時代の創造者たち

ハッカーと画家 コンピュータ時代の創造者たち

 

 いやーおもろかったポールグレアム。さすが、天才ハッカーで成功した起業家で、世界で最も有名なベンチャーキャピタリストですね。

普通のことを考えていたら、普通のことしかできないんだぜ You Only Live Once!っていう話でしたw

 

自由な人生を手に入れる教科書: お金・時間・場所 あらゆる束縛がなくなる

自由な人生を手に入れる教科書: お金・時間・場所 あらゆる束縛がなくなる

 

 Kindle Unlimitedで読んだ。まあわかるよこの気持ちもね。アフィリエーターの本

 

Twitter カンバセーション・マーケティング ビジネスを成功に導く

Twitter カンバセーション・マーケティング ビジネスを成功に導く"会話"の正体

 

 Twitter社行った時に頂いた本。割と面白かったし、こういうSNSの活用事例あるんやなぁってね。SNSの活用って結構難しいんだよねとふだん実感しています。苦笑

 

 

コンビニ人間

コンビニ人間

 

 久々に小説読んだけど、なんか不思議な小説でした。二日で読み終わった笑

 

 読んでいる本

 

 最近日本酒が豊富な飲み屋に行っているのですが、これのおかげでわかります。ありがたや。

 

小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則

小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則

  • 作者: ジェイソン・フリード,デイヴィッド・ハイネマイヤー・ハンソン,黒沢 健二,松永 肇一,美谷 広海,祐佳 ヤング
  • 出版社/メーカー: 早川書房
  • 発売日: 2012/01/11
  • メディア: 単行本
  • 購入: 21人 クリック: 325回
  • この商品を含むブログ (36件) を見る
 

 まあまあおもろいけどこれ落とし込むのむずくね?w

 

論点思考

論点思考

 

どのように解くかよりも、何を解くかが大事なんですよね。っていうのを社会人に成ってから一番実感していることであるものの、実践できていないので、まずはフレームワーク知ろう的な。良書。 

 

ブログ書くのたいへんー だけど月一では書くと決めているから頑張ろう。

 

 

基礎からのベイズ統計学は神本だと思ったよ 8月振り返り

ちょっと並読しすぎている感、、

とりあえず、MCMC Yeahとか思っていた私は間違いだったようだ。おそらくね。

 

8月読んだ本

読んだ本リスト

4月 8冊 

5月 5冊

6月 4冊

7月 4冊

8月 4冊

平均 5冊⇒年間60冊程度見込み

 

 

 読んだ本

 

状態空間時系列分析入門

状態空間時系列分析入門

 

 おススメ度:4

時系列勉強するならまず沖本本 みたいな流れあるけど、個人的にはこっちのほうがいいんじゃないかなって思う。

状態空間モデル っていう名前だけ聞くと、なんか超むずそー って感じだけど、実際は観測するデータの裏側に実は真の状態があって、それをきちんと推測していくことが大事なんやで。っていう話なだけです。

 

毎回ですが、TJOさんのブログのこの以下の図が最もよく状態空間モデルを表していますね。(まあよくこの図で説明されますけどね)

f:id:kenjioda:20160828202159p:plain

参照 

Rでベイジアン動的線形モデルを学ぶ(2):まずは状態空間のコンセプトと基本のローカルレベル・モデルから - 六本木で働くデータサイエンティストのブログ

 数式的には全然難しくないので、まず時系列やるならこの本がいいんじゃないかなとか思ったり。

 

基礎からのベイズ統計学: ハミルトニアンモンテカルロ法による実践的入門

基礎からのベイズ統計学: ハミルトニアンモンテカルロ法による実践的入門

 

 おすすめ度:5

今まで読んだ統計系の本の中でも最も良い本のうちの一つな気がする。

理由は三つ

  1. 文系の先生が書いたので、理系本によくあるここは知ってるっしょwみたいなノリで式展開が飛ばされがちなことがなく、非常に丁寧
  2. 章末問題がちゃんとしていて、しかも答えもちゃんとある。理系本は答えないとか、答え適当とかよくあるけど、正直僕のような答えないとわかんないよぉ~ えーん みたいなアホには必要なんです。
  3. コードの解説もあってしっかり実装できる。まあ最近は理論だけで実装例がないという本は減ってきたけどね。とりあえずこの本はRstanのコードの解説なども丁寧

 

内容は

統計基礎→ベイズ推定→MCMCMCMCの実例

って感じです。そしてMCMCの各サンプリング手法がきちんと解説されていて良いです。RstanでMCMC、BugsでMCMCとりあえずやってみた→サンプリング手法についてよくわかってないまま使うの気持ち悪い!

って方は読むと良いかと。

メトロポリス・ヘイスティング法は久保本(データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学))にも書いてあったと思いますが、Rstanに実装されているハミルトニアンモンテカルロ法(厳密にはNUTS:No-U-Turn Samplerが実装されてるのかな?)が理解できます。

ハミルトニアンモンテカルロ法は物理出身者は特にわかりやすいんじゃないかな。

 

 

英文履歴書の書き方と実例集

英文履歴書の書き方と実例集

 

 おすすめ度:3

ということで、もともと日本で一緒に起業しようとしていたアメリカの友人が、スタンフォード大のPh.D課程にいて(人工知能専攻かな)

よくわからんがスタンフォード発のスタートアップにやや関わることになったので、そのためにVCに送るレジュメを書いたんご!って感じですね。

 

案外ちゃんと学んだことなかったんで、基本レジュメ書くときは以下のようなことを気をつけるんだってさ。

  1. 主語入れたりしないよーとか I managed the team,,,ではなくManaged the team,,,
  2. 過去行ったことは過去形、現在やっていることは現在形
  3. まどろっこしい書き方しない。よくある日本人の例では I think that,,, I might,,,などと書くけど、そんなじゃなくて能動態で書け

とかかな。知っていることも多かったけどさ。

 

なぜ、あなたの仕事は終わらないのか スピードは最強の武器である

なぜ、あなたの仕事は終わらないのか スピードは最強の武器である

 

おススメ度:4

社内の尊敬する先輩にいただいた。一瞬で読み切った。

仕事の8割は最初の2割の時間に終わらせる!

界王拳モードを発動させる気持ちで超最強集中モードを作り出せ!

みたいな本。w 

 

 読んでいる途中本

 Kindle Unlimitedな子たち

知っている人多いと思うけどKindle Unlimitedパイセンやばいっすね。特にマーケ系の本が充実しているとかで、登録した。

amzn.to

 おすすめ度:2~3

正直うーむな感じかも。コンマってまあ正解ないから仕方ないのかもだけど、なんというかすごい感覚論みたいになっている気もしなくもない。

このシリーズは他が良いからそのギャップかな。

 

夢をかなえるゾウ

夢をかなえるゾウ

 

 おすすめ度:5

色々な人に勧められるので、読み始めたけど面白いね。なんか内容がいわゆる啓発本Yeahみたいなノリじゃなくて、小説チックでおもろい。

 

 ちょっとまだあんま読めてない。。

 

 読んでいる本リスト

文章は接続詞で決まる (光文社新書)

文章は接続詞で決まる (光文社新書)

 

 おススメ度:4

このブログを読めばわかると思うけど、基本何言っているかわかんねぇ みたによく言われるんで、もっとわかりやすい文章話せ&書けや!ということで先輩に教わった。

まだ一ミリも自分に落としこめていないので、しっかり読んでまとめて落とし込む。

(それならもっとましな文章書けよ)

 

 おススメ度:5

衝動買い。お酒好きだけど、意外と知らないかもなぁと思って買った。面白いね。

 

ハッカーと画家 コンピュータ時代の創造者たち

ハッカーと画家 コンピュータ時代の創造者たち

 

 引き続き。発想力と洞察力は神ですね。この人はやっぱ。

 

 

Rによるベイジアン動的線形モデル (統計ライブラリー)

Rによるベイジアン動的線形モデル (統計ライブラリー)

 

 おススメ度:1~5(レベルによる)

一言でいうと苦行。読むのがつらい。がためになる本。正直理解度50%くらいで読み進めている感。

だけど最近思うのは、実務で使えるレベルと研究者のレベルは理解度に圧倒的な差があること。

実務家はある程度理論的背景、メリデメを理解して使えればよい。

対して研究者は、理論的背景をほぼ100%把握し、式の表面的な意味に限らないところまで理解し、理論の欠点を把握しそれを発展させる。必要がある。

もしかしたら、理論屋さんと工学よりの人は全然違うかもだけど。工学は実務に近いのかもね。

 

 

なぜこれを読み始めたかといえば、単純に

Rstanが時間がかかりすぎる&その割に収束しない

という問題に突き当たったから。(まあモデルが悪いんでしょうけど)

 

TJOさんが以下記事内で述べていることに、激しく同意という感じです。

そもそもいちいちモデル式立ててStanコード書いて、Stan上で毎回C++コンパイラ走らせて、収束しないand/or推定結果が妥当でないと思ったらやり直す、というのを繰り返していたらあっという間にジジイになってしまうので

tjo.hatenablog.com

 以下は理解度50%の前提で話しますので違ったら指摘してください。

そもそもMCMCやらずに、時系列の場合はカルマンフィルタというものを使うと、点推定だけど断然早いっすよ。という話と(ただし使用できる場面は限られる)

時系列みたいにどんどんデータが追加されているものは毎回毎回MCMC走らせるみたいなことになっちゃうので、逐次できる逐次モンテカルロ法というものが適しているらしいです

 

ってなわけで苦行だけどこの本を読むことはためになりそうだね

という次第です。

今月中に理解度浅くても一旦最後までは読み切りたい。そんで実装してみたい。

 

以上。

 

 

来月もがんばろ。

 

時系列分析とRstanを頑張った 7月振り返り

7月は引き続き時系列分析系を頑張ったよ って感じ&やっぱり復習とか何度も読むのって大事だね って思った。

 

7月読んだ本 統計系2冊、仕事系2冊

読んだ本リスト

4月 8冊 

5月 5冊

6月 4冊

7月 4冊

平均 4.25冊⇒年間50冊程度見込み

去年と同じペースだね。まあ妥当でしょう。

 

 

イシューからはじめよ―知的生産の「シンプルな本質」

イシューからはじめよ―知的生産の「シンプルな本質」

 

 おススメ度:5

個人的な傾向としてテクノロジー大好き!かっこいい手法好き!という単純でアホな部分が非常にあり、ソリューションドリブンとなりがちである。

だが、何かしら大きな成果を出したいとき重要なことは、どのように解いたかではなく

「どれくらい大きな課題を解決したか?」

 である。それをこの本では体系的にまとめていあり、非常にためになる。

 

リクルートで学んだリーダーになるための77の仕事術(ゴマブックス)

リクルートで学んだリーダーになるための77の仕事術(ゴマブックス)

 

おススメ度:4

リクルートという会社の中でどのようなことが行われているか、それを経営者の立場でどう考えるかなどがかかれている。結構面白い 

 

予測にいかす統計モデリングの基本―ベイズ統計入門から応用まで (KS理工学専門書)

予測にいかす統計モデリングの基本―ベイズ統計入門から応用まで (KS理工学専門書)

 

 おススメ度:4

 こちらの記事↓をやろうと思ったのだが、理論の詳細がわからなかったので、買って読んだ。ちょいちょい数式が難解なところがあって難しかったが図も多くて非常に役に立つ本だった

 

statmodeling.hatenablog.com

 

岩波データサイエンス Vol.1

岩波データサイエンス Vol.1

 

 おススメ度:5

数式の厳密さには欠けるが、MCMCを試してみたい人にはおすすめ。特にStanコードでどのようにやるかが載っているのが超良い。

 

 

Rstan備忘録

ちょいちょいつまづいたりしたので、自分のメモのためにもRstanの備忘録を

なんと素晴らしい先人達がいるものかと改めて感謝の嵐という感じなのですが、Rstanをどうやって導入するか、どうやって使うかとかをいろいろまとめてくださっている人達がいます。

github.com

こちらではStanの英語版のものを有志の方が日本語に訳してくださっています。めっちゃありがたい。

 

www.slideshare.net

これもバリ良い。MCMCで可視化するの大変だけどShinystanというライブラリ使うと、launch_shinystan(モデル名)とやるだけでめっちゃ生かした図とか出てくるで!って話。収束したかしてないかとかもすごい見やすい。

www.slideshare.net

こちらもためになるかと。ただ、上記の岩波データサイエンスVol.1のほうがはじめはよさそうだけど。

 

 

あと、現在勉強中だけど、コードをベクトル化すると高速になるとかで頑張っているけれども、よくわからない部分がちょいちょいありで、頑張っているなう。

その中でDocumentationの中で参考になった部分を以下引用

 

  • ベクトルは整数ではなくRealのみ
  • ベクトル化すると早くなる理由は三つの理由がある→正直メモリがほにゃほにゃとかは何言っているか一ミリもわからない笑
  • ベクトル表現だと列優先になるので、For文を扱うときは気をつける

 

vector, matrixは整数値を返すことはできず, 取り扱えるのはrealに限られています. (注1)
#(注1):Stanにおいて, 複雑な整数行列演算や, ブール行列演算が実行されている際にはこれは変更される場合があります. これは, 整数が行列演算に適切な入力ではないためです.
 
 
 
効率について
  • ArrayよりもMatrix, vectorの方がメモリの使用料が少ない
  • Matrixは列優先の順序でデータを格納する→matrix内のすべてのデータはメモリ内で隣接することが保証されます. これは最適化されたコードを考えると大切なことです. なぜなら現代のCPUを使った算術演算を実行することよりもデータをメモリからキャッシュに持っていくことの方がはるかに時間がかかるからです
  • いずれのデータ構造もデータが保持されている順序でインデックスを移動させると最も速くアクセスできます. メモリ上の位置もアクセス速度に関係します(以下例)

matrixは列優先であるため, 以下の順序でインデックスを移動させるのが適切です.

  matrix[M,N] a;
  //...
  for (n in 1:N)  //列が先
    for (m in 1:M)  //行が後
      // ... a[m,n]を使った計算...

他方, arrayは以下の例のように行優先の順序でインデックスを移動させるべきです(すなわち, 最後のインデックスが最も移動するのが速い).

  real a[M,N];
  // ...
  for (m in 1:M)  //行が先
    for (n in 1:N)  //列が後
      // ... a[m,n]を使った計算...
 
 

 

 

とのことです。

 

読み途中の本達

ハッカーと画家 コンピュータ時代の創造者たち

ハッカーと画家 コンピュータ時代の創造者たち

 

Ycombinatorのポールグレアムの本。この人の考え方は超面白いw

 

ファインマンさんは超天才 (岩波現代文庫)

ファインマンさんは超天才 (岩波現代文庫)

 

 

20世紀で最も偉大な物理学者の一人であるファインマンの本。

参考になったのは以下

「代数をつかって解く、というようなその答えをどのように出すかというのは大事ではない」

「複雑な本を読む時のコツは、とりあえず全部がむしゃらにでも読んでみること。途中で妙ちきりんな数式が出てきて、そこがわからなくても、その数式が二度と出てこないならそこはただの枝葉である。常に本質が何かを考えながら読んでいくことが大事なんだ」

 

つまりは、知識、分析力は手段でしかなく、解くべき本質的な問題を見極め、それに対して答えを出すこと。今まで学校では解くべき課題が与えられていたが、何を解くべきか、それは本質的かを常に自身に問うことを忘れないようにしたい。

と感じた。

 

ファスト&スロー (上)

ファスト&スロー (上)

 

 人間の認知メカニズムは

直観的なシステム1

論理的なシステム2

にわかれている。それらをいかに使い分けるか、意識するかを日々考える必要性がある

 

状態空間時系列分析入門

状態空間時系列分析入門

 

 某同期の僕としては雲の上の存在のような素粒子物理学者におススメしてもらった。

確かにわかりやすくて良い。が結構誤植が多いのが気になる。

今は10章中の8章

 

 

とりあえずこんなもんで。

じぇっ!