人工知能

Remixing Vol.3 with オールアバウト and LIG にスピーカとして参加してきた

まえがき この記事はオールアバウトアドベントカレンダー5日目です。 前回 6月にRemixig with All About,Inc.でリッチメディアさんと共同で勉強会を開催しこの時もスピーカーとしてAPIについて話してきました。 前回の発表内容は以下 http://www.slideshare.net/takumiyoshida14/20150627-remixing 今回は弊社、リッチメディアさん LIGさんと3社で勉強会を行いました。 今回の勉強会ではCMSについて話しましたが、具体的な補足事項に関してはアドベントカレンダーで12/22に書くのでし...

【始めてのRipple】【私がな】PythonからJavaScript(Node.js)を呼び出し、Rippleの処理を行う

はじめに 最近、いわゆるFintech系の方がTwitterでフォロワーになって下さる事が多かったのです。 ツイート見たりしますと、Ripple関係の話が結構出て来ています。みずほ銀行とか大きな話が多いので、デジタル土方(にもなれてないか最近)な私には縁がないかなーとか思ってました。 が、Developperサイト見てみますと、最近は当然なのかもしれませんがオープンソースプロダクトで、かつAPI系とかもタダで落とせたりしました。どうもNode.jsで提供されているAPIを使うと、実稼働してい...

mrubyのJITのPArrayモジュール

はじめに twitterでRuby版の深層学習のライブラリがあったらいいねーというツイートがあって、私もあったらいいねーと思ったので深層学習ってどうやるかよく知らないのですが、mrubyのJITでそううのができる枠組みを作ることにしました。 今あるニューラルネットのプログラムをみてみるとベクトルの計算速度がカギになりそうなのでまずはベクトルのライブラリを作ることにしました。ベクトルのライブラリというとRubyではNArrayとかいろいろあるわけですが、mrubyでは知らないしmruby...

データ分析において必要なことを原点に立って考えてみる

今日は統計や技術の詳細な話は少しお休みして、そもそもデータマイニングとは何なのか、分析において必要なことは何なのかを考えてみます。 仮説力とは何なのか データ分析の実務においては、分析モデルの手法や統計的方法の前にまず検討しなければならないことが多々あります。たとえば分析対象の問題をどのように設定するか、対象の特徴 (= 属性、振る舞い等) をどのように表現するか、何を可視化するかあるいはそれをどう決めるか、ログなどを用いて特徴の計算方法をどのように定義...

なぜデータ分析においては、SQLではなくRを使うべきか? Google公式のGoogle BigQueryに保存されてる3TBのGitHubデータを使って、Rのパッケージをクラスタリングしてみた

2,3週間前に、Googleは、280万のオープンソースGitHubリポジトリを公開しました。リンクはこちらからどうぞ。これは、2億個の異なったファイルパスが入っていたり、163万ソースファイルも含まれています。合計にして3TB+以上です。これを使って、すでにいくつかのデータが分析されています。例えば、Francescは、最も人気なGo言語のパッケージはなにかを見つけるために、Go言語のコードデータを分析しました。 Exploratoryは、Google BigQueryのデータインポート機能を実装しました...

【R】Web広告のキャンペーンを、広告パフォーマンスごとにクラスタリングする方法

キャンペーン構造をもつWeb広告の運用をしていると、だんだんキャンペーン毎のパフォーマンスに差が出てきて、監視の手間を減らすために、似たようなパフォーマンス毎にグルーピングしたくなってくると思います。 今回は、主成分分析とk-means法を使って分類する方法についてメモです。 使うデータ まず、今回使うデータフレームsample.dfの項目はこんな感じです。 基本的にWeb広告で取得できる8つの値を使用します。 (8つの値→インプレッション、クリック、コスト、コンバージョン...

ブロックチェーンについての所感

こんにちは、freee でCTO 兼 概念のほうを担当しています、 @yokoji です。 この記事は freee Engineers Advent Calendar の最終日になります。 freeeでは、「スモールビジネスに携わるみんなが創造的な活動にフォーカスできるように」というミッションの実現を目指す中で、金融機関との連携をすすめており、昨今ではFintechの文脈で取り上げられることも増えてきました。 Fintechの流れの頻出トピックとしては、機械学習、ブロックチェーン、サイバーセキュリティなどいろいろありま...

Tweet2VecでQiitaの投稿を形態素解析せずに分類する

目次 やりたかったこと Qiita投稿を取得する Tweet2Vecを使う GPUインスタンスを使う タグ予測結果 類似投稿を出してみる 考察と課題 やりたかったこと 短い日本語文書(ツイートなど)を分類したい ニューラルネットワーク使いたい 形態素解析せずにやりたい SNSの投稿などを処理する場合、誤字、脱字、スラング、新語、絵文字、顔文字、外国語、専門用語、表記ゆれなどが多く含まれるため、形態素解析器を用いたアプローチは不利に思われる。近年のNLP論文を読んでいると単語レベル...

Treasure Dataのデータインポート方法一覧

Treasure Data,昔はTreasure Agent(Fluentd)を中心としたデータインポートがメインでしたが,今では他の方法も増え,より簡単にデータをインポートできるようになっています.この記事ではそれらの概要を一通り眺められるようにしたいと思います. 現状データインポートには大まかに以下の方法があります. Treasure Agentによるインポート TDロガーによるインポート JavaScript SDKによるインポート モバイル SDKによるインポート Web Consoleからのファイルアップロードによるイン...

Python にインストールしたパッケージをグラフにしてみた

結果 -> PyPI 上位 100 パッケージでやってみた版: http://qiita.com/kitsuyui/items/a7cc56d476b59ff07f54 手元の機械学習用の virtualenv でこんな図を得た。一目瞭然。 numpy と scipy は同じくらい依存されてると思っていたけれど、 scipy の方はあまり依存されていない……。 多くのパッケージが six を使って Python 3 と Python 2 との互換性を持たせていることにメンテナの苦労が滲み出ている。 残りの項では pip freeze と pipdeptree 、 この図を出力したスクリプトを箇条...

Ubuntu 14.04 に Chainer, TensorFlow, DMTK をインストールする (GPU 有効)

はじめに ※この記事は word2vec の各種実装の速度比較 の環境構築部分を抜き出したものですが、単体でも読める内容となっています。 機械学習のフレームワークである Chainer, TensorFlow, DMTK (Microsoft Distributed Machine Learning Toolkit) を Ubuntu にインストールします (Mac にインストールする手順 はこちら)。動作環境は NVIDIA 製の GPU が載った Ubuntu マシンで、特に AWS の GPU インスタンスで動かすことを念頭に置いています。 なお、記事中で説明した手順を実行す...

【エヴァンゲリオン】Watsonでシンジ、アスカ、レイの性格を推定してみる

"See what you can make of that, friend Watson." ( これをどう思うね、ワトソンくん? ) ― コナン・ドイル『 踊る人形 』より ― はじめに 皆様はWatsonをご存知でしょうか? WatsonはIBMが手がける自然言語処理・機械学習サービスです。 もしかすると、あまり聞き慣れないサービスかもしれません。 しかし、2011年にアメリカのクイズ番組で2人のクイズチャンピオンに対して勝利を収めたことを皮切りに、Watsonは既に医療やサービスの現場で高い実績を挙げ始めているのです。 そんなW...

統計学の代表的な手法を実践する (2) 〜 ロジスティック回帰

昨日の続きで統計学の実践的な手法を追っていきます。今日はロジスティック回帰についてです。 参考文献 書籍をお持ちの方は最強である p189 実践編 p221 あたりを参照してください。 (後者のほうが詳しいです) またロジスティック回帰の説明としては 概要については ロジスティック回帰の考え方・使い方 - TokyoR #33 http://www.slideshare.net/horihorio/tokyo-r33-logi 説明については ロジスティック回帰と変数選択 (三重大学・奥村先生) http://oku.edu.mie-u.ac.jp/~okumura/st...

Spark StreamingをAmazon EC2で使ってみた

この記事は ドワンゴ Advent Calendar 2014 の23日目の記事です。 昨日は hiroki_kanaさん でした。 最近、Sparkというソフトウェアがデータ解析界隈でこれからくる計算基盤になるのではと注目を浴びています こいつを使って、ちょっと簡単なTwitterネガポジ分析をしてみましょう TL;DR sparkは比較的新しい分散処理基盤 その中にStreamを扱うライブラリがある ec2で手軽にクラスタを組んで試せる ec2でspark streamingを使って、ドワンゴに関する文字で検索した結果からネガポジ分析...

ビッグデータを支える技術

Hadoop http://hadoop.apache.org/ 大規模な分散処理を支えるJavaフレームワーク HadoopはGoogleのMapReduce、GFS(Google File System)の技術をベースとして作られた HadoopではMapReduceはそのまま「MapReduce(Hadoop/MapReduce)」、GFSは「HDFS(Hadoop Distributed File System)」という名前でそれぞれ開発・公開されている MapReduce データを「Map処理」、「Reduce処理」の2つの処理で処理するモデル 以下、Hadoop/MapReduceの機能 複数のマシン上にデータとデータを処理するた...

Jupyter に octave_kernel をインストール【追記あり】

前置き 某 オンライン機械学習コース を受講するにあたって、自宅及び会社の Mac に Octave をインストールました。 で、Jupyter に確か Octave のカーネルもあるはずだ、と探してついでにインストールしたのですが。 ちょっとだけハマったので、情報共有のために記録。 【2015/07/14 09:00 追記】 動作確認していて、日本語の扱いでハマったので、記事を加筆・修正しました。 環境 Mac OSX 10.8.5 / 10.9.5 Homebrew Python 2.7.9 / 3.4.31 IPython 3.1.0 → 3.2.02 Octave のインスト...

データフロー制御フレームワークLuigiを使ってビッグデータ解析をする

Luigiとは LuigiはPythonで書かれたデータフロー制御フレームワークです。 ストリーミング音楽配信大手のSpotifyが開発しています。ソニーと提携したことでも話題になりましたね。 Luigi公式レポジトリ 本家のプレゼン資料がわかりやすいです。 一般的にビッグデータ解析では、統計・機械学習を行う前に、クレンジングやフィルタ処理をいくつも重ねる必要があります。その依存関係は複雑で、しかもデータの差し替えや失敗・中断時のやり直しなんてやりだすと、苦行の他のなにものでも...

ディープラーニングで「顔が似ているAV女優を教えてくれるbot」を構築

概要 Facebook Messenger APIを利用して、 画像をアップロードすると、似ているAV女優を教えてくれるbotを実装しました。 システム構成 Bot応答を行うサーバは諸般の都合によりGo、画像判別はPython(顔検出はOpenCV、分類用の畳込みニューラルネットワークはTensorFlow)で作成しています。 尚、言語間のI/FはgRPCでGoからPythonにRPCを行っています。 実装 Go側 Facebook MessengerからのWebhookを受信して、bot応答を行うWorkerプロセスです。 Messenger Bot Server WebサーバにはGin...

Metropolis-Hastingsアルゴリズム

ご挨拶 今日から始まりました Machine Learning Advent Calendar 2012 幹事の @naoya_t です。 このアドベント・カレンダーの記事内容は、パターン認識・機械学習・自然言語処理・データマイニング等、データサイエンスに関する事でしたら何でもOKです。テーマに沿っていれば分量は問いません。(PRMLの読んだ箇所のまとめ、実装してみた、論文紹介、数式展開、etc.) 執筆する皆さんも読むだけの皆さんも共に楽しみましょう! さて本題 いまPRML11章を読んでるので11章から何か。 明...

64bit Windows + python 2.7 + MeCab 0.996 な環境をつくる

修正履歴 2016/2/19 コードの修正・必要なファイルの更新 2016/2/19 トラブルシューティングの追加 はじめに そもそもWindowsでなぜ?という話があると思いますが、理由は一つ。Windowsには強力なIDEであるVisual Studioがあるからです。 コード補完、スニペット、デバッグ・・・・多くのメリットがあるIDEですが、いかんせんWindowsでの環境構築には難所が多く、Python関係だとビルドの問題で詰まることが多いようです。 理由は様々ですが、Unixのコマンドが通用しなかったり、ファイ...