A_Koide0519のブックマーク (27)

  • ディープラーニングを活用したレコメンドエンジン改善への取り組み - ZOZO TECH BLOG

    はじめに こんにちは、推薦基盤部の与謝です。ECサイトにおけるユーザの購買率向上を目指し、レコメンデーションエンジンを研究・開発しています。最近ではディープラーニングが様々な分野で飛躍的な成果を収め始めています。そのため、レコメンデーション分野でも研究が進み、精度向上に貢献し始めています。記事では、ディープニューラルネットワーク時代のレコメンド技術について紹介します。 目次 はじめに 目次 パーソナライズレコメンドとは 深層学習より前の推薦手法 協調フィルタリング Matrix Factorization SVD(Singular Value Decomposition) Factorization Machine 深層学習を使った推薦手法 ニューラルネットワーク推薦手法に対する警鐘 Recboleプロジェクト Recboleプロジェクトを用いた各アルゴリズムの検証 General Re

    ディープラーニングを活用したレコメンドエンジン改善への取り組み - ZOZO TECH BLOG
  • Perl 初心者がとある JavaScript コードを読むための基礎知識 - あらびき日記

    この記事は abicky.netPerl 初心者がとある JavaScript コードを読むための基礎知識 に移行しました

    Perl 初心者がとある JavaScript コードを読むための基礎知識 - あらびき日記
  • C++/Boost 基礎文法最速マスター - 野良C++erの雑記帳

    参考: http://d.hatena.ne.jp/faith_and_brave/20100201/1264997004 「C++0xになると、C++03 でごちゃごちゃした部分がだいぶすっきり書けるようになる」 らしいですが、C++0xを待たなくてもBoostを使えばだいぶすっきり書けるので、 BoostでのC++入門はこんな感じだよー、という気持ちで以下略。 この記事はC言語をある程度理解していることが前提です。 1. Hello World C++/Boostでの出力はC++標準の IOStream ライブラリと Boost.Format を組み合わせて行います。 例として、C言語のprintfを用いた Hello World を、C++/Boostを使って書き直してみます。 #include <stdio.h> int main() { printf( "%s\n", "Hell

    C++/Boost 基礎文法最速マスター - 野良C++erの雑記帳
  • 中学生にもわかるウェーブレット行列 - アスペ日記

    id:echizen_tm さんの記事「ウェーブレット木の効率的で簡単な実装 "The Wavelet Matrix"」から始まったウェーブレット行列ブームから半年以上が過ぎ、すでに枯れた技術として確立されつつある感があります。 …嘘です。 日以外ではあんまり来ていません。 理由としては、やはりアルファベット圏では単語境界が明確であるため、こちらの記事で書かれているような「キーワード分割の難易度」といったことがあまり問題にならないということがあるかもしれません。 まあ、そういうわけで局所的に来ているウェーブレット行列ですが、日語をはじめとする単語境界のない言語圏にとっては重要なネタであると思うため、解説記事を書き直して*1みようと思います。 ウェーブレット行列でできること 主となる操作は、文字列に対する 定数時間の rank() と select()*2 です。 rank() は、「文

  • 時間のない人のための、本気の英語学習法 - アスペ日記

    こんにちは。無職です。*1 毎日時間が余ってます。 そんな私ですが、時間のない人のための英語学習法を書いてみたいと思います。 それなりに長いです。 ポイントは 3 つ。 文を暗記する。 空き時間に復習する。 単語は詰め込む。 前提 まず前提として、語学学習には毎日一時間以上の学習時間が必要です。欲を言えば二時間。 なぜかというと、覚えたことはどんどん忘れるからです。 RPG で言うと、敵にちょこちょこダメージを与えても、その敵が自動回復していたらなかなか倒せないのと同じです。 まず、利用可能な時間は次のように分類できます。 が読め、音声が聞け、声も出せる。(自宅) 音声が聞け、声が出せる。(洗濯物を畳んでいるとき、皿洗い中、慣れた道で車を運転しているとき) が読め、音声が聞ける。(公共交通機関) 音声が聞ける。(歩行中) 上記のどれもできない。(プール・風呂など) タイプによって、それ

    時間のない人のための、本気の英語学習法 - アスペ日記
  • 独立性の仮定と平均場近似の関係 - あらびき日記

    この記事は abicky.net の 独立性の仮定と平均場近似の関係 に移行しました

    独立性の仮定と平均場近似の関係 - あらびき日記
  • Social and Information Network Analysis - iwiwi 備忘録

    http://www.stanford.edu/class/cs224w/handouts.html 有名人 Jure Leskovec による Stanford 大での授業.ネットワーク解析. 今日からこれを読もうかと思う.相変わらずまずは興味のあるところだけ&流し読み.

    Social and Information Network Analysis - iwiwi 備忘録
  • 少しでも研究に興味がある人,面白いテーマを探している人は「研究に必要なたったN個の事」とかいう記事を読まずに今すぐに"How to do good research, get it published in SIGKDD and get it cited!"を読

    言いたいことはタイトル. そもそもSIGKDDとはSpecial Interest Group on Knowledge Discovery and Data Miningというデータマイニングや知識獲得のトップカンファレンス.WWWについで読んでて興味が合う論文が多い. How to do good research, get it published in SIGKDD and get it cited!(pdf) 173ページあるスライドだけど良い事ばかり書いてあるし,読者を楽しませるような非常に多くの著者の実体験(成功したものだけでなく,失敗したものも)や,後半になるとダメな論文,間違っている論文,その例が大量に載っていて飽きずに読める.ただKDDに通したい人だけでなく,研究を少しでもやろうとしている人,論文を書こうとしている人,面白いことをやりたい人は必ず読むべき. 適当に面白か

    少しでも研究に興味がある人,面白いテーマを探している人は「研究に必要なたったN個の事」とかいう記事を読まずに今すぐに"How to do good research, get it published in SIGKDD and get it cited!"を読
    A_Koide0519
    A_Koide0519 2013/01/25
    研究の仕方.
  • 半年で(メジャーな)第二外国語を身につける方法 - アスペ日記

    英語学習エントリに触発されて、第二外国語学習エントリを書いてみようと思います。 英語とその他の外国語で、学習方法が質的に違うということはもちろんないのですが、中高 6年間にわたって学校で勉強する英語と、基礎がほとんどない状態から始める第二外国語では、細かいところでいろいろと違いがあります。 ちなみに私自身は、これまで英語以外には中韓西伊仏独露の 7言語を学んでいます(レベルはまちまち)。この中で中韓は留学して身につけた(中国に一年留学、ルームメイトが韓国人)もので、その他は日国内で学んだものです。 今回は、日国内で勉強するやり方について書こうと思います。 注意事項は次の 3点です。 私が学んだ言語は、すべて日国内で教材が豊富に手に入る「メジャー外国語*1」ですので、マイナーな外国語には適用できない部分も多いかと思います。ご了承ください。 途中で高価な教材を紹介し、それの使用を前提と

    半年で(メジャーな)第二外国語を身につける方法 - アスペ日記
    A_Koide0519
    A_Koide0519 2012/09/23
    学習用
  • C 言語にポインタがある理由は省メモリ化・高速化・開発作業の省力化です - 偏見プログラマの語り!

    前回の記事『プログラム初心者にC言語のポインタを不意ながら教える羽目になったなら、こう教えると良いよ』でポインタの教え方を書きました。ソレに対して「そもそもどうしてポインタっていう仕組みがあるの?」という質問をもらったので、つらつらと書こうと思います。稿は「ポインタがある理由の教え方」ではなく「ポインタがある理由」です。分かっている人には相当に退屈な文章ですのでそういう人は読まずにお帰りください。 で、えーと、結論だけ先に言うと省メモリ化のため、次に速度アップのため、そして生産性アップのためです。 1. メモリは有限である。 マシンに搭載されているメモリには限りがあります。メモリ空間は広大ですが、無限ではないのです。 好き放題にどんどんメモリを使ってデータを格納するわけにはいかないというわけです。しかしプログラムは計算のためにメモリ空間を占有します。仮に↓こんな感じに、わずかな有限メモ

  • プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!

    僕がプログラミングに触れた当時は、プログラミングといえば「まず C 言語」でした。それから 10 年以上が経ちました。学校の授業や企業の研修では未だに C 言語を教えているところがあるようです。関数型プログラミング言語という波が来ている 2012 年にもなって未だに C 言語をやっているというのはまるで進歩が無く残念な気もしますが、比較的多くのプログラマに浸透している共通言語を最初に教えるというのは、一方では喜ばしい事だと解釈する事もできるのかもしれません*1。まぁとにかく、意にせよ不意にせよ現場で プログラム初心者に C 言語を教える羽目になった 人がたくさんいて、プログラム初心者なのに C 言語を学ばざるを得なくなった 若者がたくさんいるということです。 C 言語を教えるときに避けて通れないのがポインタで、プログラム初心者が C 言語を学ぶときにやたらとつまずく人が多いのがポインタ

    プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!
  • 【正規表現,jQuery,PHP】twitterハッシュタグを抽出する - すたら日記

    最終更新: 2014-12-15 説明を簡潔にするため、JavaScriptのみを例に挙げます。 なお、現在はTwitter家から正式なライブラリが公開されているので、そちらを参考にするのがいいと思います。 https://github.com/twitter/twitter-text 以下は、私が勝手に作り上げた非公式な抽出方法です。 日語ハッシュタグを抽出する正規表現見やすくするために改行とタブを入れています。 おおまかに説明すると、タグとして使える文字というものがあり、それがハッシュの直前に存在していないかを調べています。 また、ハッシュタグの直後に別のハッシュタグが接していないかどうかを否定先読みで調べています。 / (?:^|[^0-9A-Za-z_〃々ぁ-ゖ゛-ゞァ-ヺーヽヾ一-龥0-9A-Za-zヲ-゚]+) [##] ( [0-9A-Za-z_〃々ぁ-ゖ゛-ゞァ-ヺーヽ

    【正規表現,jQuery,PHP】twitterハッシュタグを抽出する - すたら日記
    A_Koide0519
    A_Koide0519 2012/05/28
    ハッシュタグ抜出.助かった
  • 数式を含む論文の読解効率化 - 西尾泰和のはてなダイアリー

    知的作業の生産性はやり方の設計によって左右される。「数式だらけの論文を読む」というタスクも「とにかく頑張って読む」のではなく、やり方をうまく設計することで生産性向上ができるんじゃないかなぁ。そう考えて、自分を観察しながらやってみることにした。 読む論文はCRF(条件付き確率場)についての次の二つ: Lafferty: Conditional random fields: Probabilistic... - Google ScholarとSutton: An introduction to conditional random fields... - Google Scholar まずは目的の明確化。目的は達成したかどうかが客観的に計測できるものでなければならない。つまり「CRFを理解する」なんてのではダメ。「CRFを実装して学習過程を可視化した動画を作ってブログに載せる」を目標とする。

    数式を含む論文の読解効率化 - 西尾泰和のはてなダイアリー
  • NLP 2012 本会議最終日: 先送り症候群になりそうな人は気をつけましょう - 武蔵野日記

    朝は荷物をフロントに預け、路面電車。荷物は会場に持って行ったほうが他の方々と一緒に帰りやすいのだが、会場の収容能力を考えると、身動きが取りにくくなる可能性が高く、断念したのであった。 朝一で [twitter:@tomo_wb] くんの発表のセッションなのだが (今回の学会は、毎日どこかのセッションで誰か学生が発表するので、全てどこか行かないといけないセッションがあった)、直前までスライドを直しているようで、最終確認。直前までスライドを直していると、練習する時間が相対的に減り、発表時間の見積もりが前後したり、質疑応答でうまく答えられなかったりするのだが、今回は月曜の練習の段階で厳しかった (他にやることがたくさんあったので、そちらに時間を使っていた) ので、逆に言うと3日間でよくここまでがんばった、という感じである。 水智也, 坂口慶祐, 小町守, 内海慶, 河野洋志, 前澤敏之, 佐藤

    NLP 2012 本会議最終日: 先送り症候群になりそうな人は気をつけましょう - 武蔵野日記
  • たった一人でwebサービスを作るための、6つの技術と4つの知識

    ふとワクワクするようなアイディアが浮かんだ時、もし自分でwebサービスを作れたらなーって思う方も多いんじゃないでしょーか。 実際、twitterやfacebookを徘徊してても、結構頻繁に「webサービス作ってみたい☆」みたいな投稿をみかけますが、中には「何から手を付け始めれば良いか分からない!」的な迷える子羊達もちらほら。 そんなワケで、ささやかながら今まで当ブログでもいくつかの自作webサービスを公開してきて、企画からデザイン・コーディング・プログラミング・宣伝に至るまで、若輩ながら全て一人で担ってきた私の知見をご紹介したいと思います。 だいじょーぶ、やりゃーできる! webサービスを作るための技術と知識 技術に関する最大のポイントは「全てを知る必要はあるが、全てに精通する必要は無い」、つまり「広く浅く」で良いというコト。 その中でどこかに自分の強みが持てると尚良しですが、手始めであれ

    たった一人でwebサービスを作るための、6つの技術と4つの知識
  • Ngram言語モデルメモ - Negative/Positive Thinking

    はじめに 現在よく使われていると思われる確率的言語モデルについて簡単に調べてみたのでメモ。 Ngram言語モデルとは 例えば、「お酒が飲みたい」と「バリウムが飲みたい」という文章があった時に、前者の方がよく聞く文章で、後者はほとんど聞かない文章 上記のような「文章の出やすさ」を数学的モデルで表現したい 特に確率を使って表現したい(確率的言語モデル) 単語列が与えられたとき、その単語列の生起確率は 例えば「お酒/が/飲みたい」は、P(お酒が飲みたい)=P(お酒)*P(が|お酒)*P(飲みたい|お酒が) しかし、P(単語|ながーい文章)を求めるのは実際には難しい 単語の種類がmで単語列の長さがnならば、m^n通りをすべて計算して値を推定しなければならない→無理 Ngram言語モデルは、「各単語の生起確率は、直前の(N-1)単語までのみに依存する」モデル(Markovモデル) 2gram3gra

    Ngram言語モデルメモ - Negative/Positive Thinking
  • 卒論に今から使える論文表現例文集(日本語版)

    英語で論文を書かなくてはならない研究者(たまごを含む)のために、英語論文の表現例文集がたくさん出版されている。 というのも、論文には、その構成にも言い回しにも〈定形〉がある。 自分の頭で一からひねり出すよりも、おきまりのパターンを活用した方がはやく良い結果を得られる。 普段、論文を書いていない、というか今まで書いたことがない人は、論文の書き方についてストックがないのだから、例文集から「借文」した方が効率的である。 当は論文を書くのに先立って、他人の書いた論文をある程度読めば、そうしたパターンは自然に頭に入ってくるものである。 しかし「あるべき論」だけでは地球は回っていかない。誰もが夏休みの宿題を7月中に終わらせる訳ではないのだ。 以下、「借文」できるよう、論文に使われる表現・例文を集めてみた。 あまりボリュームがあっても使いにくいだろうから、数は絞りに絞ってある。 より多くの表現が必要な

    卒論に今から使える論文表現例文集(日本語版)
  • 形態素解析器IgoのRuby版を作った - 猫背ミジンコ

    解析結果がほぼMeCab互換のJavaおよびCommon Lispで実装された形態素解析器IgoRuby版を作りました。 正確にはIgoのエンジン部分をRubyに移植しましたですけれども。 ソース ソースはGitHubに公開。 また、RubyGems.orgにgemを公開してあるので、インターネットに接続している環境ならRubyGemsでインストールできます。 インストール コマンドラインで下記を入力。$ gem install igo-rubyigo-rubyは、別途Igoと同じ解析用辞書ファイルが必要です。(igo-pythonと同じ方式。ただし、igo-pythonの方は辞書ファイルの生成機能も実装予定とのことです。) 解析用辞書ファイルの生成方法については、Igoのページを参照してください。 使い方 Igo::Taggerクラスのコンストラクタに辞書ファイルが入ったディレクトリを

    形態素解析器IgoのRuby版を作った - 猫背ミジンコ
  • 分かりやすい学会発表をするために意識したい21のポイント - 情報科学屋さんを目指す人のメモ(FC2ブログ版)

    何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。 卒論の季節ですね。今回は、私が卒論発表してからの2年弱(研究室個人ページ)の間に発表について考察したことを「分かりやすい学会発表をするために意識したい21のポイント」として簡単にまとめました。 タイトルを「プレゼン」ではなく、「学会発表」にしたのですが、 これは、発表に問題提起や提案手法が含まれていることを前提にしたいからです。 そして、「発表がうまいね」や「すごーい」ではなく、「分かりやすかった」と言われることを目指します。 私が個人的に意識していることなので、「この人はこう考えているらしい、自分の発表にも取り入れられないかな」と考えてみてもらえれば幸いです。 分かりやすい学会発表をするために一番大切なこと 分かりやすい学会発表をするために一番大切なことは、同

  • NaiveBayesをRubyで書いてみた - シリコンの谷のゾンビ

    前回Perlで書いたMultivariate Berounoulli Naive BayesをRubyで書いた.多重ハッシュがうまく動かず断念.寝て起きて手直ししたらすぐに動いた.謎.さすがRuby,見た目が綺麗(コードは汚いが).Rubyできちんと?プログラミングするの初めてなので,思ったこと 多重ハッシュを使う際にハッシュの初期化が面倒(テクを知らないだけ?) オブジェクト指向だとどうしてもクラスキャストをしたくなる,入門書には書いてないぞ to_fしないと勝手に切り捨て.Perlに慣れていたのではまった エラーがわかりづらい コンストラクタinitializeはどう考えてもtypo量産だろう(事実すでに2回これではまった) はい,どれも自分の修行不足によるものです. Hash.new(0)のようにハッシュの初期値を決めておけるのはかなり便利だけれど,どのクラスのインスタンスなのかを意

    NaiveBayesをRubyで書いてみた - シリコンの谷のゾンビ