タグ Positive Thinking
人気順 10 users 50 users 100 users 500 users 1000 usersFeature-Weighted Linear Stackingメモ - Negative/Positive Thinking
機械学習はじめにSill et al., Feature-Weighted Linear Stacking, 2009 http://arxiv.org/abs/0911.0460 最近、コンペ上位者の手法としてよく見かける手法「Stacking」の一つについてメモ。 Stacking複数の機械学習モデルの予測結果をブレンドすることで、さらによい予測結果を得る方法 アンサンブル学習やメタ学習の一種... 続きを読む
DSIRNLP#6で発表させていただきました&懺悔とNaiveBayes教入信 - Negative/Positive Thinking
機械学習DSIRNLP#610/11にデンソーアイティーラボラトリさんで行われたDSIRNLP#6勉強会で発表させていただきました聴いていただいた方、ありがとうございました。 勉強会のページ http://partake.in/events/38e416b0-5e64-4bd4-8388-4e19acd0ef97発表資料 一部、発表時の資料を修正しています主だって参考にした論文は以下になります Z... 続きを読む
NBSVMを試す - Negative/Positive Thinking
機械学習, 自然言語処理, プログラミングはじめにS. Wang & C. D. Manning, Baselines and Bigrams: Simple, Good Sentiment and Topic Classificatioin Naive Bayes素性を利用したSVM(NBSVM)なるものを試してみる。 SVM with NB features(NBSVM)Log-count r... 続きを読む
単語の数学的表現メモ - Negative/Positive Thinking
自然言語処理はじめに単語をベクトルや確率分布などの数学的表現で扱いたい場合があったりする。 しかし、「どのようなベクトル・確率分布にすべきか?」などはタスクに依存したりして、自明じゃない。 たくさんあって、派生や新しいものもどんどんでていると思うので、どんなものがあるか調べたかぎりメモ。 One hot表現各次元が「その単語か否か」を表すベクトルで表現 次元の大きさ=ボキャブラリ数例: スカイツリ... 続きを読む
やる夫が(インライン)アセンブラを使って競技プログラミングに挑戦するようです - Negative/Positive Thinking
プログラミングこの記事はCompetitive Programming Advent Calendar Div2013の9日目の記事です。 今年も、競技プログラミングでほとんど役に立たないネタをお送りします。 1:名無しのターゲットさん:2013/12/9(月) 00:25:07 ID:jetbead ! | !l |! ! | ! | ! l | ! l |! | !... 続きを読む
疎行列の格納方式メモ - Negative/Positive Thinking
プログラミングはじめに巨大だけどほとんどの要素がゼロであるような疎行列は、そのまま保持するより、要素がゼロじゃないところだけをうまく保持する事でメモリや計算量を減らせたりする。 扱う行列のタイプによって、効率のよい形式がいくつかあるようなので代表的なものをメモしておく。 Coodinate(COO) Format非ゼロ要素の(row indices, column indices, value)を... 続きを読む
逐次確率比検定を試す - Negative/Positive Thinking
確率, 統計はじめにあらかじめ標本サイズを決めるのではなく、十分と判断されるまでダイナミックに判断を繰り返す逐次確率比検定を参考に、 チョコボールの銀のエンジェルの出現確率について判断するとどうなるか試してみる。 逐次確率比検定とはベイズ統計学の枠組みで、ベイズ更新の機能を通して1つずつ標本抽出していきながら同時に検定にも用いる事ができる逐次決定過程 : 標本抽出をするたびに判断を行い、結論がでた... 続きを読む
SCWを試す - Negative/Positive Thinking
機械学習, プログラミングはじめに分類器の決定版(?)的なSoft Confidence Weighted Learningを試してみた。 Soft Confidence Weighted Learningとは2012年に提案された、各重みを正規分布と考え更新時にその分布が変わるようにしたConfidence Weighted(CW)関係のノイズに強くなった版オンライン学習http://icml.... 続きを読む
Locality Sensitive Hashによる類似ベクトル検索を試す - Negative/Positive Thinking
自然言語処理, プログラミングはじめに類似性が高いベクトルのハッシュ値が近い値になるようなハッシュ関数を使って、 類似するものを高速に検索することができるので、それを試してみた。 Locality Sensitive Hash類似するデータが高確率で近い値になる(Locality-Sensitive)ハッシュ関数のこと 高次元データの次元圧縮を行える(P1,P2,r,cr)-sensitiveなH... 続きを読む
HyperLogLogで遊ぶ - Negative/Positive Thinking
プログラミング, 自然言語処理はじめに「さぁ、お前の罪の異なり数を数えろ!」と言われたときに使えそうな「HyperLogLog」という異なり数をカウントする方法を教えてもらったので、遊んでみた。 いつもながら論文ちゃんと読んでないので、条件やコード間違ってるかも。。。 HyperLogLogとはcardinalityと呼ばれる、要素の異なり数を決定する問題かなり省メモリで精度のよい異なり数を推定で... 続きを読む
ウェーブレット木を試す - Negative/Positive Thinking
自然言語処理, プログラミングはじめに巨大な文字列でも高速にクエリ処理できる噂の木を、挙動を確認するため作ってみた。 コードアルファベット(a〜z)の文字列を扱う場合完備辞書の操作が愚直、ビット列がvector本を参考にしたけど、2か所間違ってる? #include #include #include #include //top_kのためのタプル struct ST { int t; size_... 続きを読む
へ、変態っ!!読めないからやめてっ!bit使ったデータ構造・アルゴリズム実装集 - Negative/Positive Thinking
プログラミングこの記事はCompetitive Programming Advent Calendar Div2012の2日目の記事です。 はじめに Y^´ ∨// /,∠ ,. ' /l/// /, ' , '/ ! | l }´ 〈 〉 変 〈/ , ' // ̄`>< /// /// _,.=‐|'"´l l〈 変 / 〈 態.... 続きを読む
RBMで遊ぶ - Negative/Positive Thinking
機械学習, プログラミングはじめに深イイ学習とかで使われているらしいRestricted Boltzmann Machineでちょっと遊んでみる。 Restricted Boltzmann Machineとは制約Boltzmann Machine各層内のノード間の結合がないようなBoltzmann Machine この制約によって、学習時の隠れ層の各ノードが独立に計算できる RBMの学習は、「Co... 続きを読む
決定木メモ - Negative/Positive Thinking
機械学習, プログラミングはじめに決定木についてちょっと調べてみたので、メモ。 決定木(decision tree)とは木構造(多分木)を使って、分類・回帰問題を解く root(根)を含む各内部ノードは、「変数」を表すleaf(葉)は、変数に対する「予測値、分類値」を表す入力xを、ルートからスタートし各ノードの条件に従って葉に来て出力yが決まる 連続if-thenだと見ると理解しやすい出力yは、分... 続きを読む
Suffix Arrayメモ - Negative/Positive Thinking
プログラミングはじめにSuffix Arrayあたりをちょっと調べてみたのでとりあえずメモ。 調べてみたら結構研究されていて全部まとめるのが面倒あとできちんと理解しておきたい。 Suffix Array(接尾辞配列)とは文字列に対して、その文字列の接尾辞集合を辞書順ソートしたものここでの接尾辞集合は「abcd」という文字列の場合、以下の4つの接尾辞になる abcd bcd cd d これは各インデ... 続きを読む
形態素解析器のデコーダ部分を作ってみた - Negative/Positive Thinking
プログラミング, 自然言語処理はじめに形態素解析器のデコーダ部分を超簡単に書いてみた。 いつも通り速度などは考えずに流れを学ぶために書いているので遅い。。。 あと「辞書の構築(コスト計算)」と「未知語処理」ができればそれっぽいものができそうな予感。 速度の改善などは、double arrayにしたりバイナリ読み込みにしたり。。。 やっていること辞書ファイルの読み込み 単語辞書隣接可能性行列 解析し... 続きを読む
系列ラベリング問題メモ - Negative/Positive Thinking
機械学習はじめに系列ラベリング問題についてちょっと調べてみたのでメモ。 系列ラベリング(系列分類)問題とはある系列xの各要素に適切なラベル列yを付与する問題 例えば「This is a pen」という文書の各単語に「This(代名詞) is(動詞) a(冠詞) pen(名詞)」のように品詞ラベルをつける問題(品詞タグ付け) 系列だけでなく木構造などへの適用もされている 構造学習 ラベル、木、グラフ... 続きを読む
大規模テキストにおけるN-gram統計 - Negative/Positive Thinking
プログラミング, 自然言語処理はじめに大規模なテキストデータでのN-gram統計を取る場合、特にNが大きい場合(N>=3)は、組み合わせの数が多くなり出てくるN-gramをすべてメモリに保持しながら個数をカウントするのが難しい。効率的な方法があるのを知ったのでちょっと試してみた。 大規模テキストにおけるN-gram統計の取り方岩波講座ソフトウェア科学15「自然言語処理」 論文: http://ci... 続きを読む
コーパス・言語データ - Negative/Positive Thinking
自然言語処理 はじめに言語処理するのに基となるデータ(言語データ、コーパス)についてまとめてみる。 データ・テキストマイニングなどに。必要に応じてダウンロードして試してみたい。 コーパス(corpus)とは自然言語処理の研究に用いるために、自然言語の文章(用例)を構造化し大規模に集積したもの(電子データ) 辞書は、言語データだけど用例ではないのでコーパスではない よいコーパスとは、より対象をよくと... 続きを読む