機械学習に詳しくなりたいブログ

機械学習や数学について勉強した内容を中心に書きます。100%趣味です。記事は数学的に厳密でなかったり誤りを含んでいるかもしれません。ご指摘頂ければ幸いです。

線形識別

線形識別の目次

線形識別の概要 線形識別を最小二乗法で解く 線形識別を最小二乗法で解く 線形識別 最小二乗法の解の導出 パーセプトロン パーセプトロン 入力を非線形変換したパーセプトロン 確率的生成モデル 確率的生成モデル - シグモイド関数 シグモイド関数の微分 aが…

多クラスロジスティック回帰をニュートン法で解く

概要 多クラスロジスティック回帰 こちらの記事で多クラスロジスティック回帰の概要と、尤度関数から定義される交差エントロピー誤差の勾配を求めました。 多クラスロジスティック回帰における交差エントロピー誤差のヘッセ行列 こちらの記事でさらに微分し…

多クラスロジスティック回帰における交差エントロピー誤差のヘッセ行列

概要 多クラスロジスティック回帰の続きです。尤度関数から交差エントロピー誤差関数を定義し、その勾配を求めました。ニュートン法を用いて解を数値計算することが目的ですので、今回はさらに微分してヘッセ行列を求めます。 ヘッセ行列を導出 多クラスロジ…

多クラスロジスティック回帰

概要 多クラスロジスティック回帰で得られる結果は以下の図のようなイメージです。左のグラフは、各クラスの識別関数(ソフトマックス)の出力結果、右のグラフは各識別関数の最大値を識別結果としたときの分類境界です。この分類境界が適切になるように各識…

ソフトマックス関数の微分

多クラスの確率的生成モデルを考えたときに出てきたソフトマックス関数の微分を計算します。 ソフトマックス関数は でした。を考えます。 のとき、分数の微分公式より となります。のときも同様に分数の微分公式より となります。式(3)、(6)を単位行列の要素…

ソフトマックス関数

概要 2クラスの場合に確率的生成モデルを考えると、シグモイド関数で事後確率が表せました。今回は多クラスの場合を考えます。 ソフトマックス関数の導出 確率的生成モデル - シグモイド関数と同様の計算(ベイズの定理)により、 となります。ここで とすれ…

ロジスティック回帰における交差エントロピー誤差の凸関数性

2クラスのロジスティック回帰における交差エントロピー誤差は、唯一の最小値を持つ凸関数であること確認します。 ロジスティック回帰における交差エントロピー誤差のヘッセ行列で、交差エントロピー誤差のヘッセ行列が と書けることを確認しました。ここで任…

入力を非線形変換したロジスティック回帰

入力を非線形変換したパーセプトロンでも基底変換を実験しましたが、ロジスティック回帰でも試してみます。パーセプトロンで試したときは、変換は適当に決めてしまいましたが、今回はガウス基底を使ってみます。名前がついてるってだけで、適当に選んだこと…

ロジスティック回帰を最急降下法とニュートン法で解く

概要 まずはおさらい。2クラスの分類問題に確率的生成モデルを適用すれば、出力はシグモイド関数で表すことができ、それはデータがクラスに属する確率として解釈することができました。そして最尤推定によりパラメータを求めるため、交差エントロピー誤差を…

ロジスティック回帰における交差エントロピー誤差のヘッセ行列

概要 この記事ではロジスティック回帰をニュートン法で解を求めるためのヘッセ行列(二階微分)を求めます。 数値計算のためのヘッセ行列導出 ロジスティック回帰で交差エントロピー誤差を定義し、その偏微分が であることを確認しました。今回は、ニュート…

ロジスティック回帰

概要 2クラスの問題を考えます。データが与えられたとき、それがクラスに属する確率は、確率的生成モデル - シグモイド関数で書いた通り、シグモイド関数を用いて と書けました。これを使ったモデルをロジスティック回帰と呼びます。回帰という名称ですが、…

シグモイド関数の微分

確率的生成モデル - シグモイド関数で導出したシグモイド関数 の微分を計算します。 分数の微分公式を使えば、以下のように計算できます。 シグモイド関数の微分は、シグモイド関数自身で表せることが確認できました。今回、答えから逆算したのですぐに計算…

aが線形関数で表されることの確認

確率的生成モデル - シグモイド関数の続きです。事後確率がシグモイド関数で表せること、つまりで表せることを確認しました。今回は、 が、の線形関数で表せることを確認します。 クラスにおけるデータが、正規分布であり、全てのクラスにおいて共分散が等し…

確率的生成モデル - シグモイド関数

確率的生成モデル 線形識別を最小二乗法で解くとうまくいきません。*1 最小二乗法は誤差が正規分布に従うことを前提とした手法ですので、どのクラスに属するかという識別の問題ではこの前提が成り立っていないからです。*2 確率的生成モデルでは、データがど…

入力を非線形変換したパーセプトロン

パーセプトロンで単純な識別の実験をし、そこでは訓練データが与えられたとき、 で表されるモデルを考えました。線形に識別できる問題しか扱えず、応用が効かなさそうですが、入力を非線形変換をした を考えると柔軟な識別が可能になります。 実験してみまし…

パーセプトロン

パーセプトロンの概要 パーセプトロンは2クラスを分類する手法です。訓練データが与えられたとき、 で表されるモデルを考えます。はダミー入力の定数を含みます。また、とします。ここで関数は とします。つまり、2つのクラスを±1で表し、関数は入力が正のと…

フィッシャーの線形判別(5)多クラス

先回までのまとめ フィッシャーの線形判別(1):フィッシャーの線形判別の概要 フィッシャーの線形判別(2):フィッシャーの線形判別の解を求める フィッシャーの線形判別(3):2クラスの次元圧縮の実験 フィッシャーの線形判別(4):フィッシャーの…

フィッシャーの線形判別(4)

先回までのまとめ フィッシャーの線形判別(1):フィッシャーの線形判別の概要 フィッシャーの線形判別(2):フィッシャーの線形判別の解を求める フィッシャーの線形判別(3):2クラスの次元圧縮の実験 2クラスの解の別の求め方 フィッシャーの線形判…

フィッシャーの線形判別(3)

フィッシャーの線形判別(2)の続きです。 先回の記事のまとめ 2クラスのデータを次元圧縮する方向は、次の式で求められることがわかりました。 次元圧縮の実験 実際に式(1)を使って、2次元のデータを1次元に射影してみます。早速結果です。 左が元のデータ…

フィッシャーの線形判別(2)

フィッシャーの線形判別(1)の続きです。 先回の記事のまとめ 2クラスのデータをより分離しやすいように次元圧縮することを考えています。フィッシャーの判別基準は、 と定義され、これを最大にするが解(次元圧縮方向)でした。 解を計算する ここで、は…

フィッシャーの線形判別(1)

フィッシャーの線形判別とは フィッシャーの線形判別は、これ自体は判別・識別の手法ではなく、各クラスのデータの分離を保ちつつ次元圧縮する手法のようです。多次元のデータを扱うのは大変なので、次元圧縮して計算を楽にしようということでしょうか。今回…

線形識別を最小二乗法で解く

線形識別の最小二乗法よる解 線形識別の最小二乗法による解は、線形識別 最小二乗法の解の導出で導出しました。 今回はそれを用いて実際にいくつか識別させてみたいと思います。 識別結果 まずは単純な直線で分離される識別を解いてみました。点が教師データ…

線形識別 最小二乗法の解の導出

線形識別を最小二乗法で計算した場合の解を導出します。識別関数をとします。ここでです。(ダミー入力の定数を加えたものとします) はM×K行列(入力次元×クラス数)の係数とします。また、を1ofK符号(正解クラスが1でそれ以外が0のベクトル)とし、教師デ…

線形識別の概要

線形識別の概要 何らかの入力に対し、識別関数を通すことで、が属するクラスは何なのかを識別するというもの。識別関数は、例えば のように表されます。入力が2次元で2クラスに分類する場合を考えれば、入力を識別関数に通した結果、例えばならばクラスそう…