薬剤師のプログラミング学習日記

プログラミングやコンピュータに関する記事を書いていきます

機械学習

こちらは自然言語処理や画像認識などについてです。勉強したアルゴリズムや技術を使ってこんなことができました、ってことを書いていければと思っています。

ロジスティック回帰による多クラス分類

前回は2値分類でしたが、今回はロジスティック回帰モデルにおける多クラス分類のコードを書きます*1。今までの流れだと、モデルの表現と目的関数、その偏微分がわかれば勾配降下法でモデルのパラメータを求め分類器を作ることができたので、それを目指します…

ロジスティック回帰による2値分類

今回はロジスティック回帰を使ってデータを分類してみようと思います。「回帰」とありますが、分類タスクで使用されるアルゴリズムです。なお、この記事はCourseraのMachine Learning(機械学習)講座『Logistic Regression』の内容を基に書いています。また…

ナイーブベイズ分類器を自分で実装してみる

以前薬歴文書の分類にナイーブベイズ分類器を使いました。この分類器は迷惑メールのフィルタやWebニュース記事の分類等で使用されているそうです。特徴として、性能はやや劣ることがあるものの、高速に訓練でき実装も比較的容易だということで、今回はこのナ…

Bag of WordsをPythonで書いてみる

文書データを数値表現に変換する手法の1つであるBag of Wordsを一からPythonで書いてみました。 Bag of Words(BoW)とは BoWの問題点 nグラムによるBoW sklearnのCountVectorizerのパラメータについて tokenizer preprocessor analyzer stop_words max_dfとm…

MeCabをインストールしてPythonで分かち書きをする

自然言語である文書データを機械学習プログラムで扱えるようにするためには、文を構成する要素である単語に分解(分かち書き)する必要があります。今回はPythonで分かち書きをするために必要なソフトのインストールとその設定について書こうと思います。 分…

薬歴文書を機械学習でカテゴリ分類してみる

少し前まで自然言語データを用いた様々な機械学習の手法について勉強していました。しばらくはこれについて書いていこうと思います。今回のプログラムでは、次のような入力された文章に対してあらかじめ作成しておいたカテゴリに分類させる、ということをや…

線形回帰でデータに直線を当てはめる

これまでに何度か片対数プロットした血中濃度データから直線のパラメータを求めるということをしましたが、これは線形回帰の中でも説明変数が一つの単回帰に当たります。 今まではnumpyやscipyといったライブラリから既成のモジュールを呼び出してデータを与…