peiprog’s blog

情報科学を学ぶ大学4年生。主にプログラミング(機械学習寄り)の話題を書いていきます。

機械学習

Pythonでドキュメントの重み付け(Okapi BM25)

今回はOkapi BM25での文書の重み付けを実装します。目次 Okapi BM25とは 実装 導入してみた Okapi BM25とは TF-IDFに似た文書の重み付けの方法です。wikipedia(英語) 以下の式で表されます。 Dはドキュメント、Qは検索したい単語の集合、はQ中の単語、|D|は…

pythonで機械学習(kerasのOneHotレイヤーの作り方)

今回はkerasで学習時にOneHotベクトル化するレイヤーの作り方を書きます。テキスト分類などでは、学習の前に特徴ベクトル化するとメモリを大量に消費してしまい、PCのスペックが高くないとメモリ不足で動かなくなることがあります。それなら学習前はOneHotベ…

Pythonでテキストの機械学習(相互情報量を使った特徴ベクトル選定)

今回は、ドキュメント群から生成したベクトルから、機械学習で重要な特徴ベクトルを抽出する内容です。テキストをベクトル化したものは何万次元にもなりますが、中には10000個あるドキュメントの中で1回しか出てこない単語など学習に必要のないデータが大量…

Pythonでsklearn+janomeを使って特徴ベクトル抽出

機械学習において入力データの形式はとても大事です。分類手法以上に大事かもしれないですね。今回はその重要な入力データの作り方(加工の仕方)についてです。テキストから機械学習に適した形の入力データに加工します。ライブラリを使うことで短く簡潔に…