ブックマーク / echizen-tm.hatenadiary.org (28)

  • 効率的に論文を読む力を得るための方法、あるいはラノベの有益性について。 - EchizenBlog-Zwei

    研究に直接関係ないタイプの労働をしていると、先端の研究を追いかけるのが困難になってきます。 なんといっても論文を読む時間がとれないので有識者の記事やらスライドやら書籍やらに頼ることになるのですが、とはいえ1次ソースであるところの論文を確認しないとどうにもならない場合もありますし、複数の論文を見てはじめてトレンドがなんとなくわかってくるということもあるように思います。 というわけで論文を効率的に読む力を得るぞ!という試みをやっています。参考になるかわかりませんが、この試みについて共有しておきます。 大雑把な方針 論文を読むにあたって、量と質の双方を高める必要があります。そこでこの2つの要素をそれぞれ伸ばすことを考えました。 論文を読む質を高める 社内で一緒に論文を読んでくれるという奇特な方がなんと1名もいらっしゃったので、総勢2人という大人数の論文読み会を定期開催しました。 3ヶ月毎に対象

    効率的に論文を読む力を得るための方法、あるいはラノベの有益性について。 - EchizenBlog-Zwei
  • 個人的に参照することの多い機械学習の本 - EchizenBlog-Zwei

    機械学習をおすすめする記事をいろいろ書いてきたけど、純粋に自分が活用しているについて書いたことがなかった気がしたので書いておきます。必ずしもおすすめではないかもしれません。ベイズ1冊、DL1冊、凸2冊の計4冊。 パターン認識と機械学習 なんだかんだで最も参照頻度が高い気がしました。ベイズに寄りすぎている感はありますが、だいたい必要なことはこれに書いてあるので何冊も手元においておかなくていい便利さがあります。 深層学習 (機械学習プロフェッショナルシリーズ) DLまわりだとこれが一番わかりやすい印象です。変な政治パフォーマンスがなくて純粋に機械学習としての差分が書いてあるのでよい感じ。 東京大学工学教程 情報工学 機械学習 大半はPRML読めばいい感じの内容ですが、オンライン機械学習まわりはこっちのほうが良いです。下記の確率的最適化を読む前に読んでおくとだいぶ見通しが良くなる印象。 M

    個人的に参照することの多い機械学習の本 - EchizenBlog-Zwei
  • 社会は厳しい - EchizenBlog-Zwei

    社会が厳しいのでメモしておきます。 勤怠について 前職がブラックだったので精神状態があまりよくないです。毎日最低8時間は寝たいところです。充分な睡眠をとるためには定時帰宅が何より大切です。 今の環境では(ホワイトではあるのですが、何故か)残業が推奨されているのであまりよくないです。定時帰宅が徹底されているか、定時出社が要求されないか、そもそも勤怠管理がないような環境に興味があります。 とにかく安定した睡眠時間の確保は以降のあらゆることに優先します。 外出がつらい 外出すると疲れるので休日は家から一歩も出ない生活がしたいです。 興味があることについて 機械学習と簡潔データ構造に興味があります。ほかにもデータ構造とアルゴリズムまわりのことは大体好きです。今の環境ではあんまりこういう話ができる人がいないので悲しい限りです。(話せるよ、というひと一緒に勉強会しましょう) 論文読んだり実装したりする

    社会は厳しい - EchizenBlog-Zwei
  • 文系でも機械学習がわかるようになる教科書 - EchizenBlog-Zwei

    社内の有志で機械学習数学の勉強会をいくつかやっています(私以外の方が主催しているものもある)。とくに理系ではない方も参加されていますが、きちんと頑張ればだんだん機械学習ができるようになるということがわかってきたのでメモしておきます。 なお、機械学習をとりあえず実装するだけだったらもっと簡単に学ぶ方法もいろいろあり、今回はあくまで正攻法で機械学習を勉強する、という観点での書籍の選択となっています。急がば回れという言葉もあるように、焦って成果を求めないのであれば地道に頑張るほうが後々応用が効いて良いということもあります。 高専の数学 おそらく数学ができないという方は高校の数学あたりから理解が怪しいことになっていると思います。「高専の数学」は中学数学までの前提知識で読める教科書で、わかりやすい例題や理解の助けになる練習問題が多数用意されているため、きちんと問題を解いていけば無理なく高専の数学(

    文系でも機械学習がわかるようになる教科書 - EchizenBlog-Zwei
  • 機械学習の有益な書籍情報を共有します - EchizenBlog-Zwei

    機械学習の有益な書籍情報を共有します。 初心者向け 最初に読むとしては「オンライン機械学習」「フリーソフトではじめる機械学習入門」「言語処理のための機械学習入門」がオススメです。 「オンライン機械学習」は3章までが入門的な内容になっています。4章以降は発展的な内容なのである程度力がついてからが良いです。オンライン機械学習という分野は実装が簡単で実用性が高いので最初に取り組むのに適しています。 広い範囲で機械学習を概観したい場合は「フリーソフトではじめる機械学習入門」がよいです。こちらは全体像がつかみやすい反面、数式の展開がわかりにくい箇所がちらほらあるので適当なスルー力が必要とされます。 「言語処理のための機械学習入門」はやや実装よりのです。数式をみるより具体例をみたほうがわかりやすい、という人はこのが良いと思います。 数学 何をやるにしても基礎体力は大切。数学の理解が深まれば深まる

    機械学習の有益な書籍情報を共有します - EchizenBlog-Zwei
  • 5/1は転職記念日なので記事を書く - EchizenBlog-Zwei

    転職して2年が経った。 転職は私の人生における最大の勝利であるので、2周年を記念して記事を書く。 さしあたり、現時点で考えていることを書いておくことで後々の参考にしたい。 転職してよかったか これは「よかった」と断言できる。 2年経ったのでさすがにそろそろ前の環境と比較してもよい頃合い(転職してすぐはバイアスがかかって何でもよく見えるので)なので書いておくが、あらゆる点で今の環境のほうが良い。 私が転職を考えていたころ「辞めて幸せになった」という資料が少なく、周辺の人の「すぐ辞める人は何をやってもダメ」的な論調に随分脅されたものだった。なので「転職して幸せになった」という事は何度でも繰り返し伝えていきたい。 能力の伸びと幸せ 人の能力は伸び続けると思う。成長が頭打ちになることはないという印象がある。 ではだれでも頑張れば幸せになれるのか?というとそうでもないと思う。何故かというと人生は有限

    5/1は転職記念日なので記事を書く - EchizenBlog-Zwei
  • 「木構造と自然数の重複あり集合は等価だよね」というはなし - EchizenBlog-Zwei

    「木構造と自然数の重複あり集合は等価だよね」というはなしをする。簡潔データ構造な人向けに言うとLOUDSの話。 とはいえこの記事は特に簡潔データ構造の知識を要求しない。データ構造とか情報量とかに興味がある人全般を対象としている。 ※簡潔勢にとっては既知な話のはずなのであえて読む必要はないです。 まず結論から述べる。以下のような幅優先で番号を振った木構造を考える。 親 → 子 (1) → (2, 3) (2) → (4) (3) → (5)この木構造は以下の重複あり集合によって表現することができる。 { 2, 4, 5, 5, 5 }これだけ書くとなんのこと?と思われるかもしれない。そこでこれから2つのことを説明する。ひとつは「何故、木構造が自然数の重複あり集合で表現できるか」、もうひとつは「重複あり集合で表現することに何の意味があるか」ということ。 何故、木構造が自然数の重複あり集合で表現

    「木構造と自然数の重複あり集合は等価だよね」というはなし - EchizenBlog-Zwei
  • 手元に置いておくと安心できる、情報系の人向けな日本語の本のリスト - EchizenBlog-Zwei

    最近、人にを薦める事が多くなった。とりあえずこの辺を読むといいですよ的なリストを作っておくと便利だと思ったので作ることにした。 以下、「事前知識のいらない入門」「事前知識はいらないけど格的な」「事前知識がないと何言ってるかわからないけど有益な情報が満載な」の3つにわけて列挙する。 事前知識のいらない入門 数式少なめ、脳負荷の小さめなをいくつか。何をやるにしてもデータ構造、アルゴリズム、数学はやっておくと幸せになれるよ。 情報検索と言語処理 データマイニングとか自然言語処理とかやりたい人にはとりあえずこれ。さすがに古い話が多くなってきたのでそろそろ新しい入門用情報検索がでないかなあと思っている。 図解・ベイズ統計「超」入門 伝説のベイジアン先生がベイズの基礎を教えてくれる。ベイズやりたい人はこれ。 珠玉のプログラミング データ構造とかアルゴリズムとかの考え方の基礎を教えてく

    手元に置いておくと安心できる、情報系の人向けな日本語の本のリスト - EchizenBlog-Zwei
  • まったく最小二乗法は最高だぜ!な「イラストで学ぶ機械学習」を読み終えた。 - EchizenBlog-Zwei

    イラストで学ぶ機械学習」という機械学習を読んだので感想を書いておく。 なお書にはMatlabのコードが書いてある場合があるけど、Matlabに詳しくないので読み飛ばした。 対象となる読者 あくまで私の主観だけど、以下のような人が読むと良さそうな感じ。 ・機械学習の基礎は知っている(パーセプトロンくらいは実装できる) ・機械学習の論文に出てくる用語が理解できる ・確率の基礎は知っている(条件付き確率とか、周辺確率とか) ・最適化の基礎は知っている(ラグランジュの未定乗数法がわかる) ・行列の演算がわかる(これはわからなくても適当に読み飛ばせば大丈夫かも) ・機械学習で知っておいたほうが良いことを手早く把握したい ・まったく識別関数は最高だぜ!と思っている ・損失関数について理解を深めたい ・正則化について理解を深めたい ・次元削減について理解を深めたい ・転移学習について理解を深めた

    まったく最小二乗法は最高だぜ!な「イラストで学ぶ機械学習」を読み終えた。 - EchizenBlog-Zwei
  • 伝説のベイジアン先生にベイズの基礎を教えてもらえる「図解・ベイズ統計「超」入門」を読んだ - EchizenBlog-Zwei

    「図解・ベイズ統計「超」入門 あいまいなデータから未来を予測する技術」というを読んだ。 社会人のアヤとケンが社内研修で伝説のベイジアン先生からベイズの基礎を教わる、という設定の会話形式でベイズについて書かれた入門書。社内研修でベイズのプロから指導を受けるとかどんだけ恵まれてるんだ。 アヤさんは大学で統計をやったが数学は詳しくないという設定。ただ時々鋭い質問をする。また統計に詳しいイケメン兄がいる。 ケンくんは知識は全くなく最後まで「わかりません」を連発する。彼女持ちのリア充。 伝説のベイジアン先生は社内研修の講師。ベイズの基礎を豊富な具体例で教えてくれるまじぱない先生。あまりにもいけてるので数カ月後に転職しそうな感じ。 内容は1章が導入、2章が同時確率・条件付き確率、3章がベイズの定理、4章がベイズの定理を用いた事後確率計算の具体例、5章が事例の追加による事前確率の更新(具体例としてナイ

    伝説のベイジアン先生にベイズの基礎を教えてもらえる「図解・ベイズ統計「超」入門」を読んだ - EchizenBlog-Zwei
  • 【転職一周年記念エントリ】エンジニアの転職を支える技術 - EchizenBlog-Zwei

    転職して1年が経ちました。 前職での6年間は私の人生で最も辛い時期でした。転職してようやく来の自分を取り戻せました。自分にあった場所で働くというのはとても大切だと思うので、転職するにあたって私がやったことをメモしておきます。 1.転職の意思を固める 辞めたいと思った時が辞めどきです。他人の意見は気にする必要はないです。よく「n年はうちで頑張れ」と言われたりしますが、実際は転職を決意してから転職完了までに身につけたことで充分なので「n年頑張る」という待ちのフェイズは不要です。決意から完了まで結果的にn年かかるということはあるかもしれないですが、特に意味もなくn年耐えても良いことはないです。 2.興味のある技術を持つ 人が技術を身につけるのは会社の仕事をするためだけではないです。必要な技術は会社によって異なりますし、会社内でも部署や情勢によって変わってきます。それに追随するためだけに技術を学

    【転職一周年記念エントリ】エンジニアの転職を支える技術 - EchizenBlog-Zwei
  • 「高速文字列解析の世界」を読む前に知っておくと良いこと - EchizenBlog-Zwei

    「高速文字列解析の世界」という大変すばらしいが発売された。わりと敷居が高いではあるので読む前に知っておくとよさそうなことを書いておく。 「高速文字列解析」とは 書でいう高速文字列解析というのは主に2つのことを指している。ひとつはデータを圧縮して小さくしてディスクよりメモリ、メモリよりキャッシュというようにより高速な記憶装置で扱いましょう、という話。もうひとつはデータ構造を工夫することで複雑な操作もそこそこ高速に扱えますよ、という話。つまり「圧縮」の話と「効率的なデータ構造」の話があると考えておくと良い。 キーワードは3つ オビにも書いてあるけれど、書が主に扱うのは「BWT」「簡潔データ構造」「ウェーブレット木」の3つ。具体的には「BWT」が「圧縮」に関わっていて「ウェーブレット木」が「効率的なデータ構造」に関わっている。「簡潔データ構造」は基的な道具として書の色々なところで出て

    「高速文字列解析の世界」を読む前に知っておくと良いこと - EchizenBlog-Zwei
  • 自然言語処理とか機械学習とかグラフとか簡潔データ構造とか全部入った良書「日本語入力を支える技術」がすごい - EchizenBlog-Zwei

    @tkngさんの力作「日本語入力を支える技術」が2/8に発売される。既に秋葉原のヨドバシ有隣堂や池袋のジュンク堂店では早売りされている様子。ってことで早速購入してきた。 書が扱うテーマはGoogleIMEのような「日本語入力」のシステム。これだけだとさして興味ないや、って人も多いかもしれない。ところがこの日本語入力というのは技術的には形態素解析に非常に近い。自然言語処理やテキストマイニングに関わる方にとっては形態素解析は最も基的かつ重要な技術。その仕組みを知っておくのは非常に重要だと思う。 また日本語入力(形態素解析)は技術的には機械学習、グラフの最短経路問題、簡潔データ構造など多くの分野が関わっているので「日本語入力」を理解することでこれらの多くの基礎技術の具体例を体感できるというメリットがある。 そんな日本語入力をまとめて勉強できるのが書「日本語入力を支える技術」である!ばーん

    自然言語処理とか機械学習とかグラフとか簡潔データ構造とか全部入った良書「日本語入力を支える技術」がすごい - EchizenBlog-Zwei
  • 「テキストマイニングを使う技術/作る技術」を読んだ - EchizenBlog-Zwei

    自然言語処理は大学時代からやっていたのだが、恥ずかしながらテキストマイニングについてはよくわかっていなかった。@shima__shima先生から「テキストマイニングを使う技術/作る技術」を紹介していただいたので読んでみた(紹介していただき、ありがとうございました)。 書によるとテキストマイニングは厳密な定義はないものの、テキストデータから抽出されたデータを用いたデータマイニングを指すらしい。 で、従来のデータマイニングであれば数値データからそのままマイニングすればいいけれどテキストデータは自然言語で書かれていてそのままでは使えないので自然言語処理(NLP)を用いてマイニングで使うデータを抽出するよ。ということらしい。なんとなくNLPの中にテキストマイニングがあるのかと思っていたのだが、テキストデータとデータマイニングの橋渡しをする技術としてNLPを使っている、というのが正しいのかも。

    「テキストマイニングを使う技術/作る技術」を読んだ - EchizenBlog-Zwei
  • 話題の新技術、簡潔データ構造の入門用資料をまとめてみた - EchizenBlog-Zwei

    最近私の周辺で簡潔データ構造に興味を持つ人が増えてきた。簡潔データ構造といえばGoogle日本語入力でも使われている話題の新技術。自然言語処理界隈で機械学習の次にブームになるのはこれだ!と個人的に思っている。 というわけで入門用の資料をまとめてみた。 簡潔データ構造では、すべての基礎である簡潔ビットベクトルがあって、その上に応用として簡潔木(LOUDSなど。Google日本語入力で利用されている)、簡潔文字列(ウェーブレット木など。FM-Indexに利用されている)がある。最近ではこれらより複雑なデータ構造に対する簡潔構造も研究されている。 ということをふまえて以下の資料を読むと良い。 Efficient dictionary and language model compression for input method editors Taku Kudo et al. Google

    話題の新技術、簡潔データ構造の入門用資料をまとめてみた - EchizenBlog-Zwei
  • 30分でわかるレコメンデーションエンジンの作り方 - EchizenBlog-Zwei

    レコメンデーションというのはamazonとかで見かける「XXXを買った人はYYYも買っていますよ」というサービスのこと。最近ではレコメンデーションは珍しいものではなく多くのサービスで導入されている。 またレコメンデーションを実現するレコメンデーションエンジンを開発している企業もわりと多くて検索すると結構たくさん出てくる。 「レコメンデーションエンジン」でぐぐった結果 そんなレコメンデーションエンジンだが作るのはそれほど大変ではない。というか情報検索の基礎知識があれば誰でも作れる。ので作り方の解説をしてみるよ。 レコメンデーションは何を与えると何が返ってくるの? まずはレコメンデーションの入出力の話。入力としては「ユーザ」もしくは「アイテム」というものが考えられる。「ユーザ」というのはレコメンデーションを利用しているユーザのこと。「アイテム」というのはレコメンデーションの対象となるもので例え

    30分でわかるレコメンデーションエンジンの作り方 - EchizenBlog-Zwei
  • 30分でわかる高性能な圧縮符号vertical code - EchizenBlog-Zwei

    検索エンジンの転置インデックスなどデータ列を小さいデータサイズで持たせたい、という状況がある。こういう場合圧縮符号を使うのが一般的でunary符号やgamma符号、delta符号など様々な種類がある。 圧縮符号の中でイチオシなのがvertical code(vcode)。これは岡野原(@hillbig)氏によって提案された圧縮符号で単純な仕組みでdelta符号並の性能を誇っている。 記事ではvcodeのポイントを絞って30分でわかるように解説してみる。 vcodeは棚にを並べる作業を連想すると理解しやすい。棚は予め高さが決まっているので全てのが入るような棚を用意する。つまり というようなものを想像する。 この棚は8冊のが並んでいるが左から5冊目のが他よりも背が高い。このため5冊目のに合わせて背の高い棚が必要になる。だが他のは5冊目のほどに背が高くないので、5冊目が

    30分でわかる高性能な圧縮符号vertical code - EchizenBlog-Zwei
  • CRFがよくわからなくてお腹が痛くなってしまう人のための30分でわかるCRFのはなし - EchizenBlog-Zwei

    機械学習の3大有名手法といえばSVM、CRF、LDAではないだろうか(と勝手に思っている)。 SVM(Support Vector Machine)については以前記事を書いたので今回はCRF(Conditional Random Fields)について書いてみたい。 機械学習超入門IV 〜SVM(サポートベクターマシン)だって30分で作れちゃう☆〜 - EchizenBlog-Zwei といっても今回はさくっと読んでもらうのを目的にしているので手法の具体的な解説は行わない。具体的な部分は@uchumik氏の資料がとても詳しい。 uchiumi log: 間違ってるかもしれないCRFの説明 また、実装方法については高村(言語処理のための機械学習入門)がとても詳しい。 さて、具体的な解説をしないなら何をするの?ということだが、今回はそもそもCRFとは何かという話をする。過去の経験上この、そも

    CRFがよくわからなくてお腹が痛くなってしまう人のための30分でわかるCRFのはなし - EchizenBlog-Zwei
  • 自然言語処理の教科書はもう全部FSNLP一冊でいいんじゃないかな - EchizenBlog-Zwei

    自然言語処理の優秀なエンジニア各位にオススメを聞くと大抵FSNLP(Foundations of Statistical Natiral Language Processing)という答えが返ってくる。またブログ等でFSNLPを絶賛している方も多い。 私は自然言語処理は長尾で満足してしまっていたのでFSNLPは読んでいなかったのだけれど、長尾は現在入手困難ということもあって入手しやすい自然言語処理の教科書があるといいなと思っていたのでFSNLPを読んでみた。 その結果。自然言語処理の教科書はもう全部FSNLP一冊でいいんじゃないかな。という結論に至ったので全力でFSNLPを推薦する記事を書くことにした。 参考: [を]FSNLP @ytoさん 自然言語処理の定番の教科書まとめ - 生駒日記 @mamorukさん Perl で自然言語処理 @overlastさん ざっと読んでみてFSN

    自然言語処理の教科書はもう全部FSNLP一冊でいいんじゃないかな - EchizenBlog-Zwei
  • 自然言語処理を活用したwebサービスをつくるときに参考になる5冊の書籍 - EchizenBlog-Zwei

    自然言語処理を活用したwebサービス開発に関わって5年以上経った。いい機会なのでこれまでを振り返って役に立ったと思う5冊をメモしておく。 1.珠玉のプログラミング―質を見抜いたアルゴリズムとデータ構造 まずはこれ。有名ななので知っている人も多いと思う。簡単に説明するとちょっと前に「フェルミ推定」という名前で流行ったような、データから必要な数値を概算する方法や、問題が起きたときに問題点がどこにあるのか?最小の労力で解決するにはどこをいじればよいのか?などが書いてある。「webサービスで自然言語処理だ!」というと無限に夢が広がりがちなので、どういうデータが使えるのか、それをどういう形にもっていけばイケてるサービスになるのか、それはどのくらいの期間で実現できるか、ということを考える必要がある。そういうわけで書は真っ先に読むべき一冊なのでは(余談だけれど、以前M << Nなデータに対してO(

    自然言語処理を活用したwebサービスをつくるときに参考になる5冊の書籍 - EchizenBlog-Zwei