病みつきエンジニアブログ

機械学習、Python、Scala、JavaScript、などなど

そろそろニューラルネットやディープラーニングを「人間の脳を模倣してる」というのをやめませんか?

最近(?)ニューラルネット(Neural Network)やらディープラーニング(Deep Learning; 深層学習)やらが流行ってきて、人工知能やらシンギュラリティやら言われるようになって、その中でよく言われるのが「ディープラーニングは人間の脳を模倣してる」とか「特徴…

今更始めるDocker on Mac、今更覚えるDockerコマンド

賢い読者はお気づきだと思いますが、このページの情報は2年前ぐらいの記事です。古いのでオススメしません。Docker for mac とかない時代っぽい時期の個人的なメモです 今更ながらDocker始めてみた。モチベーションとしては、Sparkとか試すために、手元に仮…

保存できないけどread-onlyではないJupyter Notebookサーバーを立ち上げる

誰でも触れる、かつ、誰でもパラメータ変更できる、けど保存はしないでほしいJupyter(a.k.a IPython) Notebookサーバー作りたいことってあるじゃないですか。 例えば、社内のMySQLサーバーとかHadoop環境とかのクエリを叩けるようなJupyter Notebookを作った…

AWS IAMによる権限設定のハマりどころと、効率的なデバッグ方法

Amazon Web ServiceのIAM(Identity and Access Management)は、AWSの各種サービスに対してのアクセス制御を(結構細かく)設定するためのシステムです。 ただ、いくつか掛けられる制約にも制限があり、いろいろハマるところがあったので、メモを。 シナリオ Je…

vim-slimeで「for ... in ...」構文を便利に転送する

Vimにはvim-slimeという便利なプラグインがあり、Vim上で書いているコードを、tmuxやscreen経由で別ペインに転送することができる。 これの何が嬉しいかというと、「左はPythonソースコード」「右はPythonの実行結果」みたいな感じで、書きながら実行できる…

TensorFlowを社内向けにざっくりLTして回帰した(+資料とか)

Googleが先日「TensorFlow」という機械学習ライブラリを発表していて、話題になっています。 さっそく今日社内で紹介LTしてきました。 「社内」のエンジニアの話で言うと、機械学習の会社ではないので、機械学習とかDeep Learningとかには深掘りして話してい…

dotfiles公開した+vim/zshのおすすめ設定とか

yamitzky/dotfiles 会社のPCを新調して、環境設定するタイミングだったので、いい機会だしdotfilesを公開した。 今までは自分のプライベートgitサーバーに置いてたんだけど。 やはり、公開すると、綺麗に書くようになるしいいなあという感じします。 これだ…

「メールの添付ファイルにパスワードかけて、別メールでパスワードを送る」に言いたいこと

(2015/8/29追記) 最初に代案だけ書いておくと、(メールで送る程度の秘匿性のものは)「Proself」みたいな別プロトコルを使う、です。 メールパスワードでは、パスワードに規約をつけることもできません。 また、この話は企業等においてのルール化の話です。 …

スパースな行列のPearson相関係数

Scipyには、ピアソン相関係数を計算するための関数、scipy.stats.pearson というものがあるのですが、残念ながらスパースな行列(scipy.sparse)には対応していません。 実際、実装を見てみると(stats.py)、 mx = x.mean() my = y.mean() xm, ym = x - mx, y -…

Pandas経由でHiveQLを実行してDataFrameに簡単に入れる方法

Hive経由で集計した値を、Pandasからスムーズに使うための方法を紹介します。 "スムーズ"に、というのは、「CSVを経由しない」と言い換えてもらって大丈夫です 準備 ライブラリとして、Dropboxの PyHive と Clouderaの impyla が必要です。 PyHiveを使ってい…

アメブロでソースコードとかを投稿する方法、またはGithub Flavored Markdownで投稿する方法

お疲れ様です(?) 私の所属する会社には「アメーバブログ」というものがあり、せっかくなら愛着のある自社製品を使いたいところですが、残念なことに プログラマー向けの機能は全然足りません*1。ということで、弊社のプログラマーは、プログラミング系の話…

jedi-vimでanacondaのパッケージを補完させる

davidhalter/jedi-vim VimでPython環境をいい感じに整える | tekkoc'blog jedi-vimという、vimで(賢く)Pythonの補完などをしてくれるプラグインがあります。vimでPython書くなら必須かも、というレベル。 当たり前(?)の話ですが、pipでインストールしたよう…

株式会社CyberZで働くことになりました/後輩の方々にお願い

株式会社サイバーエージェントに入社し、早期配属をすることができ、株式会社CyberZで働くことになりました。 CyberZは、サイバーエージェントの子会社で、スマホ向け広告効果計測ツールを作っている会社です。 CyberZで何をしたいかというと、ざっくりと言…

Theanoを使ってPythonで行列演算とロジスティック回帰

TheanoというPython用のライブラリがあります。 ちょっと勉強したので、チュートリアルを日本語に翻訳しつつ、使い方とかを紹介します。 Theanoとは まずはじめにTheanoとは、について。 Theanoはおそらく「テアノ」と読むのが多分正しいです。ピタゴラス(Py…

ニューラル言語モデルは何を目的としているのか? 〜 「A Neural Probabilistic Language Model」を途中まで読んだ

word2vecでさんざん遊んだ皆さん、こんにちは。 今日は、word2vecの元になった論文の元になった論文の先行研究になっている論文「A Neural Probabilistic Language Model(Yoshua Bengio)」の紹介です。 word2vecは、単語の素性で足し算・引き算ができたり、…

LDAを使って、Twitterでスパムに使われそうな単語を推定する

教師なしLDAでTwitterのスパム判別をしてみる(予備実験編) - 病みつきエンジニアブログ の続きになります! モチベーション 前回の記事で、LDA(latent Dirichlet allocation)のモデルを獲得したので、獲得したモデルを使って「どんな単語がスパムによく使わ…

.gitignore作るなら、giboを使おう

最近技術研修でJavaやってます。 で、.classとかをコミットしてしまう人が居て、そこは.gitignoreをちゃんと設定すべき、です。 で、「ちゃんと.gitignoreを作る」って結構面倒くさいです。例えば、Macだったら .DS_Store を.gitignoreするべきだし、Javaだ…

文章読むとき、選択しながら読む人いるよね?

これ俺のことなんだけど。 ときどきはてなスター見ると、文章の変なところ選択して、はてなスターが付けている人がいる。 これって、多分、選択しながら文章読んでて、うっかりはてなスターつけちゃった人なんじゃないかと思うわけですよ。

ニューラルネットによる単語のベクトル表現の学習 〜 Twitterのデータでword2vecしてみた

最近にわかにword2vecが流行っています。ので、乗っかってみました的記事です。 理論に関してはあまり詳しくしらないので、印象だけで語っているかもしれません。何かありましたらTwitterかコメント等でご指摘いただけますと幸いです。 ちなみに、失敗した話…

教師なしLDAでTwitterのスパム判別をしてみる(予備実験編)

※普通は「教師なしLDA」という言い方はしないです モチベーション 元々は、TwitterからURLつきのツイートを取りたかった。某ニュースアプリがTwitter上で(?)話題になっているニュース記事を(法的な是非があるとはいえ)配信しており、そんな感じのマイニング…

一ヶ月間、ロックスター・エナジー・ドリンクを飲んで気づいたことがある

レッドブルのほうがおいしい・・・

OpenBLASを使うと、multiprocessingが使えない?

numpy/scipyは、別に全ての演算がpythonで実装されているわけではなくて、内部的にはBLASとかを呼び出している(多分)。で、普通だったらATLASのようなBLAS実装が使われると思うんだけど、それだと遅いからOpenBLASみたいなBLAS実装を使いたかったりする。(参…

2014年のJavascriptやCSS、最も楽しみな5つのテクノロジーは、asm.jsと、、、

Web platform: five technologies to look forward to in 2014 上記の記事にて、「ウェブプラットフォームで待ち遠しい5つのテクノロジー」が紹介されています。 asm.js: near-native performance on the web ParallelJS: parallelized JavaScript code ECM…

Rubyとか使ってクローリングやスクレイピングするノウハウを公開してみる!

今まで何度もスクレイピングとかクローリングをしてきたので、マエショリストの端くれとしてコツを公開すべきかなあ、と思い、公開します。 今日の題材は、CNET Newsです。私はウェブ文書にタグ付けをするという研究をしているのですが、そのための教師デー…

年の瀬なのでGoogle作ったソフトのリポジトリ(github.com/google)まとめてみた!

google (Google)には、いろいろとすごいソフトウェアがあるようだったので、まとめてみました。ぜひとも開発に活かしたいです。 photo by Aray Chen ★の多い順に紹介してみます。ちなみに1つも使ったことがないので、そこは割り引いてください。 Gumbo - A …

「統計学が最強の学問である」をおすすめしてみる

※本記事はCA14 Advent Calendar 2013の12/24の記事になります。メリークリスマス! 本当はハッカーと画家とかリーダブルコードとかエルフェンリートとかBLACK LAGOONが普通におすすめなんですが、せっかくのCA14アドベントカレンダーなので、CAの同期に向け…

外出ソン(?)をします

こんばんは。今日は極めて私的なことを。 12/17(火)より、「外出ソン」というのをすることとしました。 マラソンにちなんで「42日連続で、日が出てるうちに外に出る*1」というチャレンジです。 理由としましては、この1−2ヶ月ほど体調を崩していたことなど…

OS X MavericksでFilezillaがインストールできなかった問題の対処

FileZilla - The free FTP solutionをダウンロードして開こうとすると、「Filezillaは開けません」みたいなことを言われる。セキュリティに関する設定が変わったみたい? Attachment – FileZilla なので、セキュリティーに関する設定を変えなきゃいけない。 …

IVSで優勝した「Capy CAPTCHA」は脆弱すぎると思う

Capy CAPTCHAは一瞬で突破できる - 素人がプログラミングを勉強していたブログ という記事を見て「これなら俺も一瞬で突破できそう」とか思って挑戦してみた。惨敗だった() しかし画像処理技術や機械学習の技術を使わなくても、理論的に、容易に突破可能なは…

コンテンツを無料で公開しないのは、「リスク」になる時代かもしれない/あるいは俺がPerfumeのライブに行きたい話

最近、Perfumeを頻繁に聞いている。なぜ聞いているかというと、Youtubeで聞けるからだ。PCで作業しているときにわざわざiPod touchを出したりはしないし、容量的に取り込んだ音楽をMacに保存しておきたくもない。そうすると、お手軽に再生できるYoutubeを開…