タグ

ブックマーク / d.hatena.ne.jp (99)

  • 次世代Hadoopは10,000台にスケールアウトし、MapReduce以外のフレームワークをもサポートする - nokunoの日記

    Yahoo!のブログにHadoopに関する興味深い記事が上がっていたので紹介したいと思います。かなりボリュームのある記事で翻訳するのは骨が折れました。The Next Generation of Apache Hadoop MapReduce · Yahoo! Hadoop Blog原題はシンプルに「次世代のApache Hadoop MapReduce」です。 概要大規模データを扱うビジネスでは、少数の大規模なクラスタのほうが多数の小規模なクラスタよりも安価になります。大規模クラスタは多くのデータセットを処理し、多くのジョブと多くのユーザをサポートする必要があります。ApacheのHadoop MapReduceフレームワークはだいたい4,000台程度でスケーラビリティの限界が来ます。私たちは次世代のApache Hadoop MapReduceを開発しており、そこではフレームワークを汎

  • 過学習を避けるにはどうすればいいか? - nokunoの日記

    この前のエントリに関連してQuoraで質問したところ、非常に質の高い回答が集まったので翻訳したいと思います。 オーバーフィットについて考える - nokunoの日記How can I avoid overfitting? - Quora 回答1まず自分のデータをランダムに訓練集合とテスト集合に分割します。テスト集合は評価のためだけに使い、訓練に使ってはいけません。もし訓練セットに対する性能が向上しても、テスト集合に対してはそうでない場合は過学習を起こしています。そのためそうなる前に訓練を止める必要があります。 回答2過学習は信号に対するノイズに誤って適応することで引き起こされます。線形回帰の文脈なら、AIC(赤池情報量規準)をチェックして下さい。それは適用するのが非常に簡単なテストです。モデルの推定に最尤推定を用いるなら、BIC(ベイズ情報量規準)が好まれます。それはShwartz基準とも

  • オーバーフィットについて考える - nokunoの日記

    オーバーフィット(overfitting; 過学習)とは機械学習を学び始めた人が最初に陥る罠として有名な問題です。過剰適合 - Wikipedia過剰適合(英: Overfitting)とは、統計学や機械学習において、訓練データに対して学習されているが、未知データに対しては適合できていない、汎化できていない状態を指す。汎化能力の不足に起因する。汎化能力というのは、朱鷺の杜では以下のように説明されています。汎化能力 - 機械学習の「朱鷺の杜Wiki」学習時に与えられた訓練データだけに対してだけでなく,未知の新たなデータに対するクラスラベルや関数値も正しく予測できる能力. 汎化能力が不足する原因には、いくつかの要因が考えられます。 利用出来るデータ数が少なすぎる場合 そのデータに少しでも偏りがあると、大きな問題となります。 モデルの自由度が高すぎる場合 推定すべきパラメータが多すぎる場合など、

  • EMアルゴリズムによるスペル訂正エンジン - nokunoの日記

    以下の論文が面白かったので紹介したいと思います。Learning a Spelling Error Model from Search Query Logs Noisy Channel Modelによるスペル訂正エンジンスペル訂正には標準的なNoisy Channel Modelを使うことができます(最近は識別モデルも流行りのようです)。A Spelling Correction Program Based on a Noisy Channel ModelNoisy Channel Modelでは、入力が与えられたときの訂正候補の確率を以下のようにモデル化します。言語モデル はコーパスやクエリログから単語N-gram、文字N-gramなどを推定し、スムージングして利用することが一般的です。エラーモデル は入力と出力候補の編集距離をもとに計算することが多いです(他に共起頻度やクリックログを利

  • Googleのエンジニアに必要とされるスキルセットは何か? - nokunoの日記

    以下のQuoraの翻訳です。この質問に対して、秘密主義で知られるGooglerたちが答えているのがいいですね。What are the skill-sets needed to be a Google Engineer? - QuoraGoogleエンジニアに必要とされるスキルセットは何か? 回答1ほとんどのプログラマはブラックボックスを使用しています。データベースはブラックボックスです:SQLを与えると、答えが返ってきます。コンパイラもまたブラックボックスです:ソースコードを与えると、実行バイナリ(またはエラーメッセージ)が返ってきます。たくさんのプログラマがこれらのブラックボックスを所与のものとして扱うことでハッピーになります。よりよいプログラマは、そのなかで何が起こっているのかを不思議に思い、中身を開けてみてみるのです。私が言いたいのは、Googleエンジニアに必要とされているス

    overlast
    overlast 2011/02/10
    あー
  • 新しいアイデアを思いつくための戦略的思考 - nokunoの日記

    唐突ですが、私は新しいWebサービスやソフトウェアのアイデアを考えるのが好きです。まだうまくやれないことも多いのですが、うまくいったときの考え方みたいなものをまとめてみたいとおもいます。 2つの大原則アイデアの新規性について考えるとき、2つの原則というか前提があります。 競合は多い。 人類は60億人、日だけでも1億人いるのに、誰も思いついていない新しいアイデアというのは多くない。 自分だけに特別な才能があると思い込むのはやめたほうがいい。簡単には真似されないアイデアを考えるべき。 そのアイデアは知らないだけで既に存在するかもしれない。あるいは成功しない理由があるかもしれない。 真に新しいものは存在しない。 人間には分子1つさえ新しく作ることはできない。 既存のアイデアの組合せでも、組み合わせ方によっては新しい価値を生み出す。 新しく見えるものは、大抵は自分が知らない何かと組み合わされてい

  • ブログを続けるコツ - nokunoの日記

    先月、年初めにこんなエントリを書きました。毎日続けるためのブログの書き方 - nokunoの日記実際に1月に書いた記事を見てみると、2種類の記事に分けられることに気づきます。 1月の人気エントリまとめ - nokunoの日記 コンテンツを紹介する記事 まとめ記事:いくつかのリンクをまとめた記事 感想記事:リンクを1つ示して、感想などの反応を書く記事 紹介記事:論文や書籍など、Web以外の媒体から紹介する記事 翻訳記事:英語の記事を翻訳した記事 自分が経験したことや考えたことを書いた記事 ライブラリの使い方 実装してみた系 考え方、方法論1ヶ月間このブログの更新を続けた結果、自分の中でのストックを使い果たした感があります。2月からは気持ちを新たにして、自分のスタイルで更新を続けていけたらと思います。最近はQuoraにお世話になりっぱなしで、大変重宝させてもらっています。

  • ねんがんの Hadoop徹底入門 を手に入れたぞ! - nokunoの日記

    というわけで届いたのでざっと読みました。ともにHadoopを実際に活用するために必要な情報をコードを示しながら説明しているため、象Hadoopとかぶっている部分もありますが、いくつかの点で異なっているのでその点を挙げてみたいと思います。 Hadoop0.21系の情報がある 0.21系は使ったことがないので、hdfsコマンドが分離されたことなどは初めて知りました。 利用者の目線で書かれている 象が開発者の目線で書かれているのに対し、利用者の視点で書かれています。 コマンドオプションやログファイルの管理方法などが分かりやすいと思いました。 MapReduceのユニットテスト(MRUnit)やデバッグの方法は非常に役に立ちます。 Hiveについて詳しい 私は使ったことがないのですが、Java MapReduceの次に1章を割いてHiveについて説明されています。 「SQLに似ている」というこ

  • Hidden CRFを用いた評判分析 - nokunoの日記

    Google社員の公開論文のRSSを購読しているのですが、そこで面白い論文を見かけたので流し読みしました。この論文自体はGoogleでインターンをした学生の研究のようですが、Hidden CRFを用いた評判分析というテーマでなかなか面白いと思いました。“Discovering fine-grained sentiment with latent variable structured prediction models”, Oscar Tackstrom, Ryan McDonald, European Conference on Information Retrieval, 2011.(pdf) 問題設定入力文書が複数の文で成り立つとき、「文書単位の評判」と「文単位の評判」を判別したい。ここで評判とはポジティブ/ネガティブ/中立の3値を取る。評判の対象の決定は手法に含まれない。与えられた

  • Twitter StreamingのデータをMongoDBに突っ込む - nokunoの日記

    昨日のエントリでTwitter Streaming APIの使い方を紹介しました。 Twitter Streaming APIの使い方 - nokunoの日記今日は、溜めたデータをMongoDBに突っ込んで検索してみます。なお、MongoDBはインストール済みとします。MongoDBを使ってみたメモ - nokunoの日記$ ./mongod --dbpath twitter &$ ./mongoimport -h localhost -c twitter --type json --file twitter.json$ ./mongo> show dbs;adminlocaltest> show collections;system.indexestwitter> use twitter;switched to db twitter> db.twitter.findOne(){ "_id

    overlast
    overlast 2011/01/18
  • 統計的自然言語処理エンジンStaKK - nokunoの日記

    統計的自然言語処理エンジンStaKK を開発しました。nokuno’s stakk at master - GitHub 以下、READMEからの引用です。 現在の機能 かな漢字変換 予測変換 または サジェスト スペル訂正 形態素解析 HTTPによるAPIサーバ Trieの直接操作現在は、StaKK は辞書として Mozc (Google日本語入力のOSS版)のデータを使っています。 リバースモードについてStaKK はノーマルモードとリバースモードの2つのモードを持っています。 ノーマルモードでは、かなを入力し、単語(主に漢字)を出力します。 リバースモードでは、単語を入力し、読みや品詞を出力します。これらの2つのモードの応用例をまとめると、次の表のようになります。 機能 ノーマルモード リバースモード Convert かな漢字変換 形態素解析 Predict 予測変換 検索ワードのサ

    overlast
    overlast 2010/11/24
  • オライリーの入門自然言語処理をご献本いただきました! - nokunoの日記

    こっそり誤植の指摘とかしただけなのに送っていただき、ありがとうございます!Amazon.co.jp: 入門 自然言語処理: Steven Bird, Ewan Klein, Edward Loper, 萩原 正人, 中山 敬広, 水野 貴明: 著者の@mhagiwaraさんと@mizuno_takaakiさん、このような機会を下さった@overlastさんもありがとうございます。内容は原著のNatural Language Processing with Pythonというと同じく、NLTKというライブラリを使いながら自然言語処理の入門的な内容を実習形式で学んでいきます。言語処理のための機械学習とも違って、機械学習以外の言語学的な知見を使った処理も取り入れている感じ。見所は間違いなく12章で、色々と特殊な問題のある日語処理について、文字コードの問題から形態素解析・構文解析(係り受け解

  • nokunoの日記

    nokuno Software Engineer at a Web Company. Interested in Natural Language Processing, Machine Learning, and Data Mining. Skillful in C/C++, Python, and Hadoop.

  • ウェブ系エンジニアがおさえておきたい技術ブログまとめ(海外編) - nokunoの日記

    こんな記事を見かけたので、海外編を考えてみました。ウェブ系エンジニアがおさえておきたい技術ブログまとめ - Meltdown Countdown例によって特定の分野に趣味嗜好が偏っている可能性があります。あと企業ブログに限りません。あとウェブ系に限りません。っておいおい。 企業系 Official Google BlogOfficial Google Research BlogThe Twitter Engineering BlogFacebook Engineeringさんのノート | FacebookYahoo! Hadoop BlogBlog « Cloudera » Apache Hadoop for the Enterprise クラウド・データマイニング系 myNoSQLRevolutionsmloss | Page not foundData Center Knowledge

    overlast
    overlast 2010/10/21
  • 単語の尤度比データを公開しました - nokunoの日記

    不自然言語処理では単語の尤度比を使ってコーパスの性質を調べたわけですが、そのデータはGoogle N-gramに依存しているため公開は見送るつもりでした。ところで昨日、id:s-yata氏が作成中のウェブコーパスから集計したN-gramデータを公開されました。ウェブコーパスの一部から形態素 N-gram コーパスを作成しました - やた@はてな日記ということで、さっそく尤度比をとってみました。対象は以下の3つです。 yata氏のコーパス Wikipedia N-gram Baidu N-gram(合計とキャリア別)データはtar.bz2に固めてgithubにアップロードしました。http://github.com/downloads/nokuno/nokuno/rate.tar.bz2

    overlast
    overlast 2010/07/31
  • Google N-gram V.S. Baidu N-gram 〜ケータイウェブは本当にエロいのか?〜 - nokunoの日記

    近年検索エンジンのBaiduは不自然言語処理コンテストなるものを開催し、今日が締切のはずだったのだが24時間延長されたらしいことを聞いてBaiduコーパスをダウンロードしたid:nokunoは仕事帰りの電車で思いついたアイデアを30分ほどで実装してみたところそれなりに面白い結果がでたので応募してみることにした。そもそもBaiduのコーパスはエロいというのを最初に誰かが言ったら@mhagiwaraさんがこんなツイートをしたことに話は遡る。インターネットがエロいのは誰でも知っている。けれど、ケータイウェブが特別にエロいのか? については寡聞にして知らなかったため、検証してみることにした。今回はケータイウェブがエロいかどうかを検証するため、以下のコーパス(N-gramデータ)を相互に比較することとした。Baidu N-gram(Baidu絵文字入りモバイルウェブコーパス) 今回のメインターゲット

  • SVMによる予測変換 - nokunoの日記

    Google日本語入力のOSS版であるMozcが公開されたので、ソースコードを読んでみました。Google Japan Blog: Google 日本語入力がオープンソースになりました mozc - Project Hosting on Google Code変換アルゴリズムや学習のロジックに関しては、id:tkngさんが早速ブログにまとめていますので、そちらを読むとよいと思います。また何か気づいたことがあったら書いてみたいと思います。Mozc(Google日本語入力)のコードを読んだメモ - 射撃しつつ前転 Mozcのコードで個人的に興味深かったのは予測変換のアルゴリズムでした。私はもともと修論の時に予測変換の研究をしていて、予測変換のトレードオフという問題に取り組んでいました。予測変換は、単純に考えると候補の頻度が高ければ高いほど良いのですが、それだけだと常に最も短い候補が出力されてし

  • バイトニックソート - tuedaの日記

    http://www.tools-of-computing.com/tc/CS/Sorts/bitonic_sort.htm バイトニックソート自体アルゴリズム的に非常に不思議で美しいが実装がこれま た美しい。 物にはある種の美学がある。 include <iostream> #include <iterator> using namespace std; const int N = 8; int a[N] = {5,1,3,2,0,7,6,4}; int get (int i) { return a[i]; } void exchange (int i, int j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } int main ( int argc, char** argv) { copy (a, a+N, ostream_iterato

  • 映画を体系的に理解するための7作品 - ハックルベリーに会いに行く

    はじめに最近クリエイター志望の若者と話す機会が多いのだけれど、そこで気づかされるのは、彼らの中に過去の映画(特に80年代以前の作品)を見たことのあるという人が、驚くほど少ないことだ。例えば「キューブリックをどう思う?」と聞くと、「キューブリックって誰ですか?」という答えが返ってくる。「デ・ニーロの映画で何が一番好き?」と聞くと、「見たことがありません」と言われてしまう。「ではきみは、昔の映画を見たことがあるの?」と聞くと、たいていが「テレビでやっていたものくらいなら……」という答えしか返ってこない。 今の若い人の間では、映画を体系的にとらえようという人は少ないようだ。見るのは専ら近年の話題作ばかりで、歴史を辿ってみたり、系譜をひもといてジャンルごと理解しようとする人はほとんどいない。これは、ちょっと由々しき問題だと思わされた。映画は、もう長いこと(20世紀の早い時期から)エンターテインメン

  • 「エンジニアの未来サミット0905」ログ - niwaka diary

    IT業界今日はエンジニアの未来サミット0905の日でした。秋葉原まで行って参加しようか迷ったけど、家でまったり参加したかったからUstで参加。感想・意見・疑問点、色々書きたいけど、取り急ぎ第一部&第二部のメモをログ形式で載せます。ただ、自分が話のスピードについていけなくてメモれなかったり、技術的に知らない用語が出てきたり・・といった場面は、大体書き出せなくて省略されていることがあります。また、自分が勘違いしてメモしてしまい、間違っている箇所もあるかもしれません。不完全なものであることをご了承ください。。でも、今回すごくクリアな音でディスカッションが聞けたのは当に良かったです。Ustでも全く問題なかった。技術評論社さん++(以下、ログ) 第1部「おしえて!アルファギーク─エンジニアが幸せになる方法」自己紹介吉岡さんDECからOracleへ、Oracle8エンジン開発Netscapeがソース

    overlast
    overlast 2009/05/24
    たすかりました