元理系院生の新入社員がPythonとJavaで色々頑張るブログ

プログラミングや機械学習について調べた事を書いていきます

2015-11-01から1ヶ月間の記事一覧

【Java】Javaで離散cos変換

音声信号処理や画像圧縮技術に使用されている離散cos変換(DCT)をJavaで実装します。 DCTについてはこちらのウェブページを参考にさせて頂きました。離散コサイン変換DCTはDFTと似ていますが、虚数計算が発生しないためコーディングは比較的容易でした。

【Java】隠れマルコフモデルによる手書き数字認識

はじめに 手書き数字認識をタスクとして隠れマルコフモデル(HMM)の動作確認を行います。手書き数字認識は文字認識の中では単純な識別問題なのですが、タスクの困難性が想像しやすくサンプルデータが用意しやすい利点があります。 隠れマルコフモデル 隠れマ…

【Java】手書き文字を収集するアプリケーションの作成

隠れマルコフモデルによる手書き数字認識を実装する前に、手書き数字データを収集するアプリケーションを作成します。 いきなり余談ですが、手書き文字は採取時のデータの性質によってオンライン手書き文字とオフライン手書き文字に分けることが出来ます。 …

【Java】複数の信号を学習する離散隠れマルコフモデル

前回実装したスケーリング処理を用いた離散隠れマルコフモデルは、EMアルゴリズムによって最適化パラメータを算出した際に、即時にHMMのパラメータを更新する為、複数の学習データを用いて学習することが出来ませんでした。emoson.hateblo.jpそこで今回は、…

【Java】スケーリング処理を用いた離散隠れマルコフモデルの実装

前回実装した離散隠れマルコフモデルは、フォワード、バックワードアルゴリズムの確率計算を行う際に、長い時系列を適用するとアンダーフローが発生する問題がありました。emoson.hateblo.jpスケーリング処理はトレリス計算中に逐次スケーリング処理を施し、…