サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
qiita.com/shima_x
前々から興味のあった検索エンジンを冬休みの工作として作ってみました。(といっても、めちゃくちゃちゃちいですが。。) 作業環境 標準入力から検索クエリを取得しているので、一応環境も書いておきます。環境は以下のとおりです。 Mac OSX 10.9.5 Core i7(64bit) Python 2.7.9 参考資料 [Web開発者のための]大規模サービス技術入門 検索アルゴリズムの話だけでなく、メモリやディスクの話含め幅広く記載があります。また、実際の経験を元に失敗事例なども書かれており、読み物としても興味深い書籍でした。 やったこと データ圧縮、転置インデックスの作成、検索という3つの機能の作成が主になります。 データ圧縮用コードの作成 今回はVBcodeによる圧縮を行っています。 他にもPForDelta, Golomb符号など様々な圧縮方法があるようです。 そもそもデータ圧縮をする理由
オープンデータでゴニョゴニョする準備として国土数値情報を使ってpythonのfoliumでコロプレス図書いて遊んでみました。 作業環境 Mac OS X 10.10 Yosemite 参考情報 sinhrksさんのfolium関連の記事 国土数値情報 mk-modeさんのポリゴン融合の記事 総務省統計局 標準地域コード やったこと gdal, pyshpのインストール 国土数値情報のDLページからデータを行政区域のShapefileを取得 ShapefileをGeoJsonに変換 ポリゴン融合(各地物をまとめる) コロプレス図色付け用データの取得 GeoJsonとweb上で取得したデータのヒモ付準備 MAPの表示 gdalのインストール macの場合、以下のコマンドでインストールできます。 ここで、gdalのバージョンを合わせないとpythonパッケージのインストールでエラーが発生するので
データの前処理を効率化するために社内で配布するツールを作ってみました。windowsユーザが使用することを目的に作成しています。とりあえずcsvファイルを読み込んで、カウントや平均、分散などを出力するものを作ってみました。 作業環境 Mac OSX 10.9.5 Core i7(64bit) Python 2.7.9 ※windowsのexeファイルを作る場合はwindows上でpyinstallerを実行する必要があります。 使用ライブラリ pyinstaller(実行ファイル作成) Tkinter(ユーザ・インターフェース作成) pandas(データの加工) GUI画面での入力項目 読み込むファイルを指定 書き込みファイル名(のベース)を指定 pivotするrow, colの指定 集計方法の指定 参考コード Tkinterで入力する枠を作って、pandasで処理して出力するだけです。
qiita.com/shima_x_o
基本的な使い方はこちらから ■Wocker Commands | Wocker http://wckr.github.io/commands/ ■wocker 使ってみた感レポ http://qiita.com/mikakane/items/1bbabe4d27bebf28fd00 2016.01.12 追記 @Next_Season さんがイケてる方法書いてくれてます。 ■wockerで初期設定をサクッと終わらせる http://note.next-season.net/cms/wordpress/808 コマンド一覧 SSHでログイン
ChainerのCPU最適化版のIntel Chainerが先月公開されたようなのでGithubを眺めていたところ、Intelから科学計算用に様々なIntel製品に最適化されたライブラリが出ていることに気づき調査してみました。はじめにIntel Chainerの紹介を一応しますが、そのあと全く触れませんのでご了承くださいw Intel Chainerとは PFNが開発したChainerをIntelが主に自社のプロダクトに最適化した(GPUはサポートされています)深層学習フレームワーク。公式のGithubページを見るとMKL-DNNというライブラリを使ってXeonやXeon Phiプロセッサでの演算に最適化している模様。 MKL-DNN 解説ページやGithubページを見ると、IntelのXeonやXeon Phiに特化した深層学習用のライブラリのよう。72コアとかを上手に使いきるように書く
画像分野では今やDeep Learningによる解析が主流となりつつありますが、結果の解釈が難しいのが難点です。医療分野などでは特に、モデルの出力に対する説明力が強く求められるのではないでしょうか。今回は、そういった時に活用できる可視化手法を紹介します。 紹介する手法はOBJECT DETECTORS EMERGE IN DEEP SCENE CNNs, Zhou+, '14で提案されている方法です。 論文中でやっていること classificationモデルの学習(通常の学習) 1と同じ前処理を適用した画像を入力として、1で学習したモデルでclass毎の確率値を計算 2で使用した画像の一部の領域をマスクした画像を入力として、class毎の確率値を計算 3を5000個程度の領域で行い、値を取得 4の個々の出力値と2の出力値の差分をとる 任意の閾値を設定し、5の値が閾値を超えていない領域は0
感想 Googleさんが作った Web Starter Kit の設定ファイルを読んで理解できる感じが衝撃的。 151104 追記 Web Starter Kit の gulpfile に babel 使われるようになって慣れてないと読み辛い。。 gulpfile.babel.js grunt より簡単にいろいろとできるんだろうなって思えた。 勉強させていただいた記事(ググった順) タスクランナーgulp入門 gulp.js その4 プラグイン一覧 BrowserSyncでうきうきレスポンシブ対応アプリ開発 LiveReload から BrowserSync に乗り換えてる git pushがrejectされたときの解決の手順 non-fast forward エラーで強制的にpushする gulp-autoprefixerよりもいい感じ。gulp-pleeeaseを使ってcssを処理しよ
最近、機械学習系のタスクから離れていて(ずっとRails書いてました...そろそろ機械学習界隈の世界に戻らんと...) まだAdamの論文読めてなかったので、読んで適当に実装してみました。 motivation 簡単に実装できて、計算効率が良くて、省メモリで、スケールの影響も受けにくくて、大規模なデータ/パラメタに対して適応的なモデルを作りたい Adamの名前の由来 Adaptive moment estimation Adamの利点 AdaGradとRMSPropの良い所を合わせ持った手法 AdaGradはsparse gradientに強い(が、一次モーメントのバイアス訂正項がないのでバイアスが非常に大きくなって、パラメタの更新が非常に大きくなる) RMSPropはオンラインで非定常な設定で強い(がバイアス訂正項が小さな値になるとstepsizeがバカでかくなる) 初期値を与える必要は
第1章:数の表現と誤差 16進切り捨てと2進切り捨て 16進切り捨てのとき$ε=6*10^{-8}〜10^{-6}$ 2進切り捨てのとき$ε=3*10^{-8}〜6*10^{-6}$ ループ制御時の誤差の考慮 $0.1≒(0.CCCCCD)_{16}*2^3$を10回足すと、10進で約1.0000001192になって1.0よりわずかに大きくなる。 この場合、whileの条件をwhile(x<=1.0)にしていては条件を満たさない。 こんなときには、ループの制御に整数変数を持たせるとか、whileの条件に刻み幅0.1より小さい、かなりの"余裕"をもたせて"while x<=1.001 do"のようにするとかが定石となっている。 第2章:桁落ちに気をつけよう(その1) 桁落ちとは 絶対値がごく近い2数を足したり引いたりして結果の絶対値が小さくなるような計算をすると、絶対値が小さくなった分だけ相
人間が分類したデータを教師データとしてテキスト分類をしている際に人間がデータの間に介在することによる弊害が出てきたので、教師なしのテキスト分類器を作ってみました。 人間がラベル付けすることによる問題点 階層構造にあるデータを並列にラベル付ける 人によって大きく判断が違ってくるようなラベルをつける 作業開始時点と終了時点でラベルの付け方が変わる 参考資料 コンピュータビジョン最先端ガイド6 (CVIMチュートリアルシリーズ) Deep Learning Tutorials Distributed Representations of Sentences and Documents, Le+, 2014 やったこと Doc2Vecで各文書について他の文書との類似度ベクトルを作成 SVDで次元圧縮 k-meansでクラスタリング k-meansでなくてグラフアルゴリズムで分類した方が良かったな、
教師あり学習で文書分類をするためのラベル付け作業に疲れた方がいらっしゃったので、少ないラベルで分類が可能なように半教師あり学習でテキスト分類を行うものを作ってみました。 参考資料 コンピュータビジョン最先端ガイド6 (CVIMチュートリアルシリーズ) Deep Learning Tutorials Learning with local and global consistency, Zhou+, 2004 やったこと DBNで特徴量抽出 LabelSpreadingで半教師あり学習によるラベル付け 手順 DBNで特徴抽出 グリッドサーチで適当に層の深さ、学習係数、各層のユニット数を決定(Top層のユニット数は圧縮後の次元数) DBNでpre-trainingを行いweightとバイアスを学習 Top層の出力を次元圧縮後の特徴量として分類器に投入する LabelSpreadingで半教師あ
Distributed Representations of Sentences and Documentsの概要 Motivation テキスト系の一般的な特徴量であるBoW形式では不十分な部分を克服したい 不十分な部分とは具体的には(1)語の順序が失われること、(2)語の意味が無視されること、(3)特徴量のベクトル長が固定されてしまうこと 教師なし学習によって、長さの異なる文章の可変長特徴ベクトルをパラメタ調整なしに作成 Contribution paragraph vectorとword vectorsを組み合わせることによってMotivationで示したBoWの3つの弱点を克服した Algorithms Learning Vector Represintation of Words 各単語の代表ベクトルを学習(Word2Vec) Paragraph Vector: A distri
Pylearn2を使ってDeep Learningしてみました。 まともなデータを使ってテストはしていないし、まともなアウトプットが出ていないので、"ふ〜ん、Pylearn2ってこんな感じか"、っていうPylearn2の雰囲気をつかむ目的で読んで頂けますと助かります。 Pylearn2のインストール とりあえず公式のドキュメントを参考にしてください。 theanoのバージョンによってはエラーが出るため、その場合は下のstackoverflowを参考にして下さい。 Pylearn2 dev documentation psycopg2, pymc, theano and DYLD_FALLBACK_LIBRARY_PATH 参考資料 とりあえず、下のコンピュータビジョン最先端ガイド6を一読して、Deep Learning Tutorialsを読みつつtheanoで実装しながら動かすと、なんと
前回先延ばしになっていたXBRLファイルから情報を抽出する部分について書きます。以下では特定の勘定科目の情報を取得する事を目的として話を進めます。 参考資料 金融データ解析の基礎 (シリーズ Useful R 8) 提出者別タクソノミ作成ガイドライン 報告書インスタンス作成ガイドライン EDINET タクソノミの設定規約書 ← 古い資料です 企業内容等開示ガイドライン 拡張されたXMLのリンク言語:XLink(神崎正英さんのサイト) やったこと .xsdファイルに記載されているbaselinkから提出者別タクソノミには記載の無いbaseとなるラベル(名称リンク)情報を取得 lab.xmlファイルから拡張されたラベル(名称リンク)情報を取得 .xbrlファイルから金額の定義情報、文書情報の定義情報を取得 pre.xmlファイルから表示リンク情報を取得 1.と2.をunion 5.と3.をel
参考資料に記載した書籍を読んでPythonで作ってみました。 当初はXBRLファイルから有価証券報告書の項目と数値を取得するところまで書くつもりでしたが、提出者別タクソノミ作成ガイドラインなどを読んで理解しないと難しそうでしたので一旦断念しました。他の優先事項が片付き次第続きを進めたいと思います。 参考資料 金融データ解析の基礎 (シリーズ Useful R 8) XBRLについて上の書籍に詳細な記述がありますので、書籍をご覧頂きたく。 当該書籍にはXBRLについてだけでなく、R言語を使って効果的にデータ分析を行うためのノウハウや時系列分析についても記述があり、非常に良い書籍だと思います。 なお、XBRLファイルの取得について書籍ではAPIのURLが "http://resource.ufocatcher.com/atom/edinetx/query/" となっていますが、 "http:/
Nekopuniさんのブログに触発されて趣味と実益を兼ねて強化学習を用いたアルゴリズムトレードについて調べてみました。 書いている内容には全く自信がありません(特にコード)。自分用のメモが主な用途ですが、しょぼいサーベイ資料として参考になればありがたいです。 参考資料 An Automated FX Trading System Using Adaptive Reinforcement Learning[参考文献1] ← RRLによる最適化 Design of an FX trading system using Adaptive Reinforcement Learning[参考文献2] ← 上の論文の要約パワポ Algorithm Trading using Q-Learning and Recurrent Reinforcement Learning[参考文献3] ← Q-learn
streamingAPIって日本語のfilteringに対応してないし、1%程度のtweetしか拾え無いし、使い勝手がいまいちだなって思っている人多いと思います。そんなstreamingAPIの使い道って何かないかなーって思ってなんとなく思いついたので作ってみました。 準備 必要なのはtwitterのstreamingAPIから取得した10分おきの単語のカウントデータ(sqliteに格納)のみです。DBのフィールドはymd, hour, minute, word_dict, tweet_cntとしました。 それぞれ、年月日('2014-06-01'), 時間('22'), 分('10'(00~50までの10分刻み)), pickleした辞書型の単語集合, 10分間毎のツイート数です。 作ったあとで思ったんですが、DBの設計ミスりました。年月日、時間、分とか分ける意味あんまりなかったですね。
参加させて頂いている勉強会にて三目並べを強化学習する話が出ていたのでコード書いてみました。 参考文献 強くなるロボティック・ゲームプレイヤーの作り方 ~実践で学ぶ強化学習~ 強化学習 モンテカルロ法による強化学習超概要 今回使用したのがモンテカルロ法(方策オン型)なので、モンテカルロ法周辺だけ書きます。 (勉強会で話を聞いたのと、ちょろっと本読んだだけなので内容には自信がありませんが。。) モンテカルロ法について一言で書くと、サンプルエピソード形式の経験から価値観数と最適方策を学習する方法で、政策反復を行いながら、政策評価と政策改善を行っていく手法(らしい)です。 (コードも大まかに政策反復、政策評価、政策改善のブロックに分ける事が出来ます) 以下、利点と欠点を記載します。 モンテカルロ法の利点 環境のダイナミクスの事前知識(モデル)を必要としない それでいながら最適な挙動を達成できる 動
# coding: utf-8 from xlrd import open_workbook, XL_CELL_TEXT , cellname import re from datetime import datetime wtdlist = ('月', '火', '水' , '木', '金', '土', '日' ) wb = open_workbook('test.xls') outfile = open('bscs_rate', 'w', 1000 ) for s in wb.sheets(): print 'Sheet:',s .name channel = s .cell(0 ,0 ).value # date -> 2014-02-01 ymd = s .cell(0 ,26 ).value s_date, others = ymd.strip().split( '(') tda
cabochaを使って日本語の係り受けを調べるコードを作ってみました。 とりあえず名詞と形容詞の関係の抽出をしてみました。 参考文献 CaboChaのwindows環境へのinstallなどはmima_itaさんのブログを参考にして頂ければと思います。 WindowsにCabochaをいれてPythonで係り受けを解析してみる 品詞と語の順を簡単にまとめてみる 自然言語について専門的に勉強した事はありませんし、論文等で調査したわけではなく、たんなる素人の発想を以下に記載致します。 名詞、動詞、形容詞に絞って、単純に直前の語の品詞との関係を考えると以下のようなパターンにわけられると思います。 名詞 → 名詞:「○○が□□を見た」のように、後ろの名詞が対象を表す 名詞 → 動詞(→ 名詞):「○○が見た□□は」のように、主語の動作または対象となる後ろの名詞に対する動作を表す 名詞 → 形容詞:
動機 変化点検知などで精度の高い時系列予測モデルが必要になったため、コード作成を試みてみた。結果を先に書きます。「スゲー精度のいいのが出来たゼ!(ドヤァッ」ってしたかったのですが、挙動がおかしい中途半端なコードが出来上がりました...orz 今後、修正でき次第上げ直します。。 参考文献 予測にいかす統計モデリングの基本―ベイズ統計入門から応用まで 時系列解析入門 ベイズ統計データ解析 (Rで学ぶデータサイエンス 3) 知識発見と自己組織型の統計モデル 自己組織化型状態空間モデルを用いた運動軌跡のフィルタリング 初期分布探索付き自己組織化状態空間モデルによる金融時系列解析の最前線:t分布付き確率的ボラティリティ変動モデルへの応用 「初期分布探索付き自己組織化状態空間モデルによる金融時系列解析の最前線:t分布付き確率的ボラティリティ変動モデルへの応用」はモンテカルロフィルタの課題がまとめられ
# libsvm datasetから適当なデータを取ってくる wget http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary/duke.bz2 # 解凍 bzip2 -dc duke.bz2 > duke # vw用にデータを加工 cat duke | sed -e 's/^1.000000 /1.f |/1' -e 's/^-1.000000 /-1.f |/1' > duke_vw # lassoの実行 your directory/vowpal_wabbit/utl/vw-varinfo --sgd -l 2 --loss_function logistic --l1 0.0000001 --normalized duke_vw FeatureName HashVal MinVal MaxVal Weight Re
動機 仕事で変化点検知をする機会がありました。その時は時間がなかった事もあり、yokkunsさんがやられていたARIMAモデルを使ったアルゴリズムを参考にさせていただき作りました。ただ、ARIMAモデルだと色々と面倒なところがあったのでkalman filterで書き換えを試みた次第です。 ARIMAモデルの問題点 パラメタ調整が面倒 対象とするwindow以上のデータが溜まるまで解析できない window内に同一データのみが並んだベクトルとなった場合、逆行列が計算出来ない 参考文献 データマイニングによる異常検知 ベイズ統計データ解析 (Rで学ぶデータサイエンス 3) 主に参考にしたのは、みんな大好き「データマイニングによる異常検知」です。 概要 計算ステップは以下のとおりです。 計算は大きく分けて、学習ステップとスコア計算ステップに分けることができます。 学習ステップ こちらは新しいデ
動機 銀座で働くデータサイエンティストさんの時系列分析の記事に触発されて作ってみました。 私はエンジニアではないのでツッコミどころ満載のコードだと思いますが生暖かく見守ってやってくださいw 概要 グレンジャー因果検定と計算過程に関しては 銀座で働くデータサイエンティストさんの記事 沖本本(VARモデルとグレンジャー因果検定の手順などに関して) 大阪府立大学 鹿野研 計量経済学講義ノート#15(F値に関して) 大阪府立大学 鹿野研 計量経済学講義ノート#16(F値に関して) I.K.P.税理士法人 最小二乗法の計算原理(最小二乗法に関して) を参考にしてください。 コード 以下にコードを記載していきます。 package GrangerTest; import java.util.*; import Jama.*; public class GrangerTest { private sta
動機 今まで時系列データの予測にはカルマンフィルタを使う事が多かったのですが、そろそろ粒子フィルタにも手を出してみるか、ということでコードを書いてみました。 ただ今回の例は、季節周期などへの分解には対応していません。また、平滑化も行っていません。ご了承下さい。 参考文献 予測にいかす統計モデリングの基本―ベイズ統計入門から応用まで 時系列解析入門 「予測にいかす統計モデリングの基本」だけでも、この記事の内容であれば実装可能だと思います。 粒子フィルタ概要 状態空間モデルの一種です。時系列をシステムモデルと観測モデルで表現出来るようなモノを状態空間モデルと呼びます。したがって、状態空間モデルは観測可能なデータの裏側にある状態(メカニズム)を組み込む事が出来るモデルになります。 その中で線形、ガウス型で記述されたモノがカルマンフィルタです。カルマンフィルタの欠点としては、ノイズに正規分布を仮定
動機 前々からtwitterのデータを使って何かやってみたいな、と思っていました。そこで、MeCabとcabochaを入れるところから、SQLiteを活用した簡単な分類器を作るってみた次第です。 (遊びでやってみただ(ry ) 以下、やったことを適当にまとめていきます。 インストールしたもの MeCab 0.996 mecab-python-0.996 Virtual C++ 2008 Express Edition(vcvarsall.batが必要なためです) Cabocha(今回は使いませんので説明も全くしませんが、今後のために...) インストール方法などに関してはWindowsにmecab-pythonを導入を参考にして下さい。 このサイトでも太字で書いてあるのですが、mecab.hを書き換える時は必ず管理者権限で開いて変更を行って下さい。でないと、変更されたと認識されません。僕も
動機 前回書いた通り、会社内にデータは全く貯められていない状態です。ですが、将来ログをまともに取得した場合のデータは膨大になることが想定されました。そこで、(時間/空間)計算量を考慮するとオンライン学習アルゴリズムを使うのが最良と判断しました。 (以前のpostも想定しての話を書いています。いろんな意味で残念ですね...orz) 今までオンライン分類器をまともに使った事がなかったため、性能評価も兼ねていくつかの分類器を試してみたというわけです(随分前にですが...)。 オンライン分類器の概要 線形分類器は大体 $w^*:=argmin_wΣ_iL(x^{(i)},y^{(i)},w)+CR(w)$ $L(x^{(i)},y^{(i)},w)$:ロス関数, $R(w)$:正規化項 で表すことができると思います。 オンライン学習では、「データを1つ受け取るたびに逐次的にウェイトを更新する」とい
動機 1:10,000以上の不均衡データを使用した分類器の学習を効果的に行いたいな、ってのがモチベーションです。 web系のCV分析などされている方はこの辺り悩まれているのではないかと思います。 僕もその一人ですw このブログに書いたこと 不均衡データにおけるサンプリング手法の概要 under-sampling, over-samplingの具体的な手法の概要 参考コード 不均衡データにおけるサンプリング手法の概要 参考文献 AdaOUBoost: adaptive over-sampling and under-sampling to boost the concept learning in large scale imbalanced data sets A Novel Class Imbalance Learning Using Intelligent Under-Sampling
動機 広告の自動入札のアルゴリズムを考える仕事をしているのですが(もうすぐ過去形になりますがw)、 ログが全く貯められていない状況にあります。 そのため、しょうがなくデータを発生させてしょうがなくシミュレーションを行った次第です。 このブログに書いたこと 多目的最適化の概要 入札金額最適化の概要(外部資料に飛ばす) 参考コード 多目的最適化の概要 多目的最適化とは、書籍には以下のように記載があります。 多目的最適化では複数の目的関数$\bf{f}$を最小化することを考える。理想的には全てのめ目的関数$f_1$,...,$f_k$を同時に最小化できればよいと思われるかもしれない。しかし、それではそもそも多目的最適化として解く必要はなかったということである。なぜならば、1つの目的関数を最小化すれば他の目的関数も同時に最小になっているということであるから。したがって、通常多目的最適化で取り扱うべ
次のページ
このページを最初にブックマークしてみませんか?
『@shima_xのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く