サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
higepon.hatenablog.com
統計検定2級や Kaggle で学んだものたちの隙間を埋めてくれる良い本だった。どことは言わないが、読んでいる途中に仕事のことを思い出す記述があり背筋がピンと伸びた。以下雑多なメモ。 分析者のためのデータ解釈学入門 データの本質をとらえる技術 作者:江崎貴裕ソシムAmazon 測りやすいデータが選ばれがち。 データを歪めるモチベーション(犯罪件数、いじめ件数は少なくレポートしたい) (大きな声で何度でも)データの前処理は一番時間がかかる。手を抜かない。1つ1つの処理前後で正しいか必ず確認する。決してまとめて処理しない。 多重検定に注意。過去にこれやってたな。 HARKing, p-hacking これは・・・ 数々の認知バイアス
Scaling Min-max & clipping は一様分布に良い Z-score は正規分布に良い。 input data によっては non-linear な変換の方が適切。例えば Wikipedia page views。これは正直意識してなかった。 この視点で圧力コンペのデータでやってみた(02-01-scaling.ipynb) Categorical 入力が array of categorical である場合は考えたこともなかった。dummy と one hot encoding の違いを理解した。 Design Pattern 1: Hashed Feature Kaggle では経験のないパターン。新しい ID や cold start にも対応できるのが良い。学習データにはない空港が建設された場合どうするか。というのはわかりやすい例だった。感覚的には hash が衝
いくつかの Kaggle competitions を経験し数学の復習が必要だと気づいたので Mathematics for Machine Learning を読む。まずはトライアルで2章を読み切る。新・数学の学び方 を参考に以下のルールで読みすすめる。 数式を完全に分かるまで追う。 実際に手を動かして同じ式変形をする。分からない場合は覚えるまで式変形を繰り返す。 記録をここに残す。 どうしても分からないところは誰かに質問する。 これがうまくいくようであれば仲間を募る? https://mml-book.com 読後の感想など 数字 355 ページ 12章 70日 GoodNotes の手書きノート407ページ なぜ読んだか 冒頭にも書いたが Kaggle Indoor コンペでチームメイトの Saito さんのやっていることが分からなかったのが直接の動機。それ以外にも Discussi
Indoor Location & Navigation というコンペで9位入賞。目標だった Kaggle Master になったので振り返り。これはチームメイトである @KaggleSaito さんとの成果である。 どういうコンペか? 与えられたスマホセンサーデータ(Wifiなど)からショッピングモールでのフロアと位置を推定する。これがうまくいけば、例えばイオンモールの無印の近くにいるときに適切なクーポンをユーザーに届けられるかもしれない。 評価指標 大まかに言うと真の (x, y) との距離が小さければよい。何階か?を外すと大きなペナルティ。 自分のモデル 他のチーム同様 Wifi データをメインに LSTM/GRU のモデルで位置を推定し、post processing で精度を高めた(大きな画像へのリンク) 他のチームとの差別化要因は Training Data を水増しできたこと
Kaggle 用の docker image が公開されているのでそれを Mac 上の Visual Studio Code 使う。 やったこと Remote-Containers という拡張を入れて拡張経由で docker を使う。これは host と container 内の両方で Visual Studio Code を起動するので開発環境=実行環境になりうれしい。 devcontainer.json に Container で起動する Visual Studio Code にインストールしたい拡張の記述 諦めたこと Container 内で GitHub に push などをやろうとした。.git_config の共有、credential を環境変数で渡すなど。どれもうまく行かなかったのでやめた。よく考えれば host 側のファイルシステムを mount させてhost 側で c
時間のない人向けのまとめ ある日突然激しい頭痛に見舞われ即入院。 突発性脳脊髄液減少症(低髄液圧症候群)と診断され手術。何らかの原因で、脳脊髄液が硬膜から漏れて髄液圧が低下することで頭痛などの症状が起こる病気。 起立性頭痛(頭痛があるがしばらく横になると楽になる)がある場合は病院に行き症状を医師に伝えよう。 確定診断・治療できる病院&先生はとても少ない。関東エリアならS病院T先生。 このまとめについて ある日の朝、原因不明の激しい頭痛に見舞われた際の、入院、手術、回復までのまとめ。最近少しずつ知られるようになった病気で(ラジエーションハウス~放射線科の診断レポート~でも取り上げられた)。正しく診断してもらえない場合が多いようだ。病院をたらい回しにされ、心療内科でうつ病と誤診されることもある。何ヶ月も原因不明で苦しむこともある。ここに詳細な記録を残すことで同じ病気にかかった人が、正しい診断・
口蓋扁桃の摘出手術を受けて7日入院したときの記録。 手術を受けた理由 直接の引き金は先月初旬に扁桃腺炎で40度以上の熱を出し入院したこと。以前から1年に何度も扁桃腺炎になっていた。喉の痛みからはじまり高熱というパターン。最悪の場合は悪化して抗生剤点滴のため入院となる。年に1-2回入院していると思う。過去にも医師に摘出をすすめられたが出血などのリスクが怖くて断っていた。その代わり以下の予防に命をかけていた。 頻繁なうがい。出社、帰宅時はもちろん。トイレで手を洗うときはうがいもする。 通勤時のマスク。これは他者のくしゃみや咳からの予防目的ではない。マスクを付けていることで、自分の手が鼻や口などの粘膜に物理的に触れなくなる。つまり自分の汚い手からの感染を防ぐのが目的。 睡眠 加湿。家には加湿器が2台あり冬場はフル稼働である。 喉の腫れや痛みを感じたらすぐに病院に行き、必要があれば抗生物質を処方し
Attention Is All You Need https://t.co/eUZ17XVu8L で提案された Transformer 以降は self-attention が主流な印象です。先日おおきな話題になった BERT も Transformer 系です。— agatan (@agatan_) February 12, 2019 で教えていただいた [1706.03762] Attention Is All You Need。最初は論文そのものを読もうと思ったが挫折したので。概要を理解できるリンク集。 論文解説 Attention Is All You Need (Transformer) - ディープラーニングブログ 論文読み "Attention Is All You Need" - Qiita Attention Is All You Need · Issue #329 ·
背景 参考 K-Fold CV と Train Test Split 違い K-Fold CV 例 K-Fold 亜種 CV FAQ Local CV の値が安定しない Local CV と public LB で傾向が違う 考えられる理由1 考えられる理由2 Local CV と public LB どちらを信じるか 背景 先日 submission の締切が過ぎて終了フェーズの Quora Insincere Questions Classification | Kaggle。 local CV と pubic LB の相関についてたくさんの議論があった。また local CV vs train test split の話もあった。別のコンペでもよくある議論だと思うのでここでまとめて理解を深める。 参考 Cross-Validation | Kaggle Cross Validatio
背景 参照 前提 RNN を利用した Encoder& Decoder MNP モデル 特徴 図 Attention 理解のキーポイント 重み PyTorch での Attention の実装例 コードの解説 問題とされた点 筆者の疑問点 間違いを見つけたら 背景 Quora Insincere Questions Classification | Kaggle というコンペで public kernel で使われていた PyTorch Attention 実装に pitfall があったのではという指摘 Common pitfalls of public kernels | Kaggle があった。それを発端に Attention を正しく理解できていないことが分かったのでここにまとめる。 参照 C5W3L08 Attention Model - YouTube Attention an
Deep Learning の training 時間は短いものでは数十分、長いものでは数日に及ぶ。その training が走っている間は、何をすると1番プロダクティブだろうか。いくつかの候補とそれぞれの利点と欠点を以下にまとめてみた。 SNS やメールのチェック コーディング時には後回しにしていた、返事をするのも良いだろう。欠点はもちろん皆さんご存知の通り。気づいたらあっという間に時間を吸い取られること。そしてプロジェクトへのフォーカスが失われることだ。 リファクタリング コードを常にクリーンに保つことは、プロジェクト全体のプロダクティビティ向上に通じる。ただし機械学習のコードはテストが書けない場合が多いので注意が必要。テストによって支えられていないリファクタリングでは必ず IDE の助けを借りよう。リファクタリングの欠点は2つ。1つ目は現在走っているコードと、リファクタリングによって
以前作った Seq2Seq を利用した chatbot はゆるやかに改良中なのだが、進捗はあまり良くない。学習の待ち時間は長く暇だし、コード自体も拡張性が低い。そういうわけで最新の Tensorflow のバージョンで書き直そうと思って作業を始めた。しかし深掘りしていくと Seq2Seq の詳細を分かっていなかったことが発覚したのでここにまとめる。間違いを見つけたらコメントか @higepon まで。 Seq2Seq のすべてを解説するのではなく、Tensoflow/nmt/README.md のチュートリアルをベースにする。読んだだけでは、理解できなかった部分を補っていく形で進める。 必要とされる前提知識 DNN の基礎。構造、training、 loss とかそういう話。back prop は別に理解できなくても可。 RNN の基礎。RNN が時系列の扱いに向いているとか。RNN の構
思いついたら追記していく or コメント下さい。 Amazon が似たようなことをやる。 中高生が結果を見せあって盛り上げる。「おまえ足短っ!」とか。 筋トレクラスタが盛り上がる。 ダイエットクラスタが盛り上がる。 夫婦間でも結果を見せ合うのに躊躇する。 ハロウィンで ZOZO SUIT 勢が現れる。 芸能人の採寸が高値で取引される。 by 匿名さん ZOZO suitを切ってであるくやつが発生。採寸スーツなのに。by id:asbjom スマホカメラで測定できるようになって、スーツがゴミになる。 by id:isawo81 Amazonが電撃買収。 by id:mongrelP ボディサイズという新手の個人情報漏洩が見られるのもそう遠い未来じゃないかもしれない。 by id:nakakzs 気になる人のデータから人形を作って抱き枕にする(´・_・`)がっきーのデータとか高く売れそう by
seq2seq で decoder から出力するときに beam search の方が出現確率が高いモノを選べるので結果が良くなるはず。beam search の詳細は karino2氏の解説。beam search 自体はシンプルで理解しやすいアルゴリズムなのだけど、Tensorflow のグラフでこれを書くのは非常に難易度が高い。使っている seq2seq library には loop_function という引数があってこれで一つ前の input を横取りしてあれこれできる。ということでずっとコードリーディングしてたんだがそれでも難しい。ということで試行錯誤しているうちに他の人が実装しているのを見つけてようやく動いた。 beam search のほうが結果が良いのかいまいち分からない。 >おはよう normal:おはようございます beam 0 おはよう ござい ます 1 お は
最近ずっと NN/CNN/RNN/LSTM などで遊んでいたのだけど Seq2Seq の encoder/decoder と word embeddings を理解したかったので Seq2Seq の chatbot を動かしてみた。Keras でフルスクラッチで書いていたのだけど上手く動かず。論文読んでもわからないところがあったので https://github.com/1228337123/tensorflow-seq2seq-chatbot を自分なりに読み解いてプロセスが別れてわかりやすいように書き換えた。同時に日本語に対応させて Twitter Bot として動くようにした。 会話例 seq2seq Google 翻訳などでも利用されている seq2seq というタイプの Neural Networks を利用しています。入力も出力も時系列データ。例えば会話とか翻訳とかに使えます。
Jupyter 上でよく Keras + Python を書くようになってきたので読んだ。omo さんが読んでいたから真似したともいう。Python に関する知識は「インデントの言語」、「numpy すごい」程度。見よう見まねでコードを書いていた状態だった。 読んで一番良かったのは Python というか Guido の思想がよく分かったこと。__ からはじまる一連の method をクラスに実装することですんなりと Python らしい動きのクラスになるさまはとても美しいと思った。 またタイミングよく Keras でメモリにのらないデータを Train するメソッドを使おうとしているときに、generator の章を読んでいて理解が深まった。 正直適当に読み進めた章もある。Coroutine、async IO、annotation、meta programming のあたりはだいたいこん
疑問1 encoder の input について Seq2Seq encoder に sentence を input するときに Word Embeddings をするのだけど、input が [word_vec1, word_vec2, ..., word_vecn] のように word vector の sequence になるような気がするが自信なし。 Decoder/Encoder を提案した https://arxiv.org/abs/1406.1078 | Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation を読むと。"We used rank-100 matrices, equivalent to learning an embedding
http://peterroelants.github.io/posts/rnn_implementation_part02/ を Keras で。一部元コードをそのまま使ってる。 # Porting http://peterroelants.github.io/posts/rnn_implementation_part02/ using Keras import sys import os import numpy as np from keras.models import Sequential from keras.layers import Dense from keras.layers import Activation from keras.layers import Dropout from keras.layers import LSTM from keras.callba
ピロリ菌は知っていたけど。こういった、ある程度科学的根拠が追いやすい知識集をWebで作ったらいいと思った。 むだ死にしない技術posted with amazlet at 17.02.20マガジンハウス (2016-12-20) 売り上げランキング: 1,831 Amazon.co.jpで詳細を見る
omo さんがおすすめしていた Deep Work を熟読した。Deep Work とは「長期間中断しない難しい知的作業」のこと。その Deep Work がいかに大事か。そしてもっと時間を費やすべきかという内容。Deep Work と対極にあるのが Shallow Work。Twitter/Facebook/Instagram で過ごす時間、メールをチェックする時間など。Deep Work を邪魔するもの。 内容は耳が痛いものばかり。自分がどれだけ「Twitter に時間を費やすこと」を正当化していたかよくわかった。自分でも気づいているものばかりで、当たり前に思える内容だが、他人に指摘されると自分の甘さがよく分かる内容だった。少しずつ Shallow Work を減らしていきたいと思う。 描いたマインドマップ
https://www.coursera.org/learn/machine-learning を2周しているので NN の前提知識が合ったのでこの本はそれを補う形でとても良かった。とくに Gradient Descent の説明は分かりやすかった。 Coursera のコースでは CNN がなかったので CNN の説明が日本語でわかりやすく学べるのはありがたかった。 このレベルの内容が日本語で読めるのは本当に素晴らしいし、何より読みやすいのが○。
しました。 https://twitter.com/HigeponJa/status/818691485797203968
Rebuild: Aftershow 126: Everything Except Mayonnaise (higepon)で紹介したプロジェクト。Machine Learning | Coursera で機械学習のクラスを修了した。理解を確認するために小さなプロジェクトを作っていたので紹介。実用性はいまのところない。 まとめ Pebble Time Round(スマートウォッチ)の加速度系データ (x, y, z) を入力にしてヨガのポーズを区別できるようになるか試してみた Supervised Learning なので training/test/validation set データを手動で作成 Hidden layer 1 つのニューラルネットワークで学習させた ヨガ以外の活動(徒歩、スマホをいじってる)、Downward dog ポーズ、Warrior 2 ポーズの 3 つをある程
Machine Learning | Courseraを修了した。以前から良い評判を聞いていたのだが、正直ここまでよいとは思わなかった。コースは英語だけど、日本語字幕もある。 Andrew Ng 氏は大変バランス感覚に優れた研究者ですね。このコースによる氏の人類への貢献は大きいと思う。
http://rebuild.fm/126/
Mocks in Swift via Protocols http://blog.eliperkins.me/mocks-in-swift-via-protocols Swift Weekly より。UIApplication がからんだテストをどうするか? Blog http://www.captechconsulting.com/blogs/ios-9-tutorial-series-protocol-oriented-programming-with-uikit Protocol extension を利用したプログラミング
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html を適当におぼえるためにまとめただけ。 基礎 すべての property はインスタンス化に初期化されていないといけない 例 // 初期値は declaration と initializer の中どちらでやってもOK struct Fahrenheit { var temperature = 32.0 } struct Fahrenheit { var temperature: Double init() { temperature = 32.0 } } // initializer はパラメータをとれる struct Celsius { var tempe
@garyu さんによる「エンジニアとして世界の最前線で働く選択肢」を読んだ。自分はサンフランシスコでアメリカの会社で働いた1つの経験しかないけど、「あるある」とうなずくところばかりでした。この本がとても良いと思うのはできるだけ公平な視点を持とうとしている点だと思う。米国で働くことのメリット・デメリットがよく分かる良い本。個人的にも子供の教育の部分は深く考えさせられた。 ぼくもそうだったけど米国で働くことへのあこがれを持っている人は少なくない。この本ではそれを実現する方法、その後に待っているであろうことが詳しく書かれているので興味のある人は手にとって見ると良いかも。
日本語版がでました。すぐ買うべし。 SOFT SKILLS ソフトウェア開発者の人生マニュアルposted with amazlet at 16.05.18ジョン・ソンメズ 日経BP社 売り上げランキング: 1,272 Amazon.co.jpで詳細を見る Soft Skills: The Software Developer's Life Manualは残念ながら日本語訳が出ていない。でも英語でも読む価値はある。とても平易な英語で書かれてる。どこかの出版社さん翻訳だして欲しい。空前のブームになるに違いない。 Soft Skills 。alc.co.jp によればソフトスキルは「対人的な交渉・指導・意思疎通などをうまく行える能力(または知恵)」のことらしい。そのタイトルからも分かる通り、プログラマ向けに書かれた本だがほとんど技術の話は書かれていない。プログラマとして生きていくための技術以外
次のページ
このページを最初にブックマークしてみませんか?
『ひげぽん OSとか作っちゃうかMona-』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く