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

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

線形識別

線形識別の目次

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

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

多クラスロジスティック回帰のヘッセ行列を求めることができましたので(参考:多クラスロジスティック回帰における交差エントロピー誤差のヘッセ行列)、今回は実際にニュートン法を使って解いてみたいと思います。 まずはおさらい。多クラスロジスティック…

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

ニュートン法を使うため、多クラスロジスティック回帰における交差エントロピー誤差のヘッセ行列を求めます。 多クラスロジスティック回帰より、 でした。式(1)をで微分したものをと書けば、ロジスティック回帰における交差エントロピー誤差のヘッセ行列の追…

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

今回は、ロジスティック回帰で多クラスの識別をすることを考え、誤差関数とその勾配を求めます。 データが与えられたとき、それがクラスに属する事後確率は、 として、 と書けました。はでモデル化します。(参考:ソフトマックス関数) いま、訓練データ、…

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

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

ソフトマックス関数

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

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

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

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

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

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

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

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

ロジスティック回帰で交差エントロピー誤差を定義し、その偏微分が であることを確認しました。今回は、ニュートン法によって最適解を求めるため、交差エントロピー誤差のヘッセ行列を求めてみます。(参考:ニュートン法(多変数の場合)) の番目の要素の…

ロジスティック回帰

まずは、確率的生成モデル(1)、確率的生成モデル(2)で書いたことのおさらいです。 2クラスの問題を考えます。データが与えられたとき、それがクラスに属する確率は、 として、 と書けました。また、はデータの生起確率が指数型分布族で表せるとき、と…

シグモイド関数の微分

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

確率的生成モデル(2)

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

確率的生成モデル(1)

最小二乗法による線形識別では、出力が最大となるクラスを識別結果としていました。また、その出力と教師データとの誤差を正規分布に従うと仮定して解いているため、正しく識別することができませんでした。(参考:線形識別を最小二乗法で解く) 最小二乗法…

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

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

パーセプトロン

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

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

フィッシャーの線形判別を2クラスの場合について考えてきましたが、多クラスにも対応できるようです。が、手持ちの参考書の解説はかなりさっぱりしていて、あまりきちんと理解できていない。再勉強が必要。 入力次元を、次元に削減することを考え、クラス数…

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

フィッシャーの線形判別(2)で を最大にするの解を求めましたが、今回はそれとは別の求め方を考えます。 式(1)において、解を一意に定めるため、の制約の元での最大を考えます。*1 ラグランジュの未定乗数法により とし、 を解けばよいことになります。式(…

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

フィッシャーの線形判別(2)の続きです。 先回求めた以下の式を使って、実際に2次元のデータを1次元に射影してみます。 背景の理屈は先回までに書いたので、早速結果です。 左が元のデータで、右が射影した後の分布。左の図の黒い矢印は、求めたの射影方向…

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

フィッシャーの線形判別(1)の続きです。 フィッシャーの判別基準は、 と定義され、これを最大にするが解でした。 ここで、はスカラですから、内積の順番を入れ替えても同じですので です。よって、 と書けます。式(3)において、 とし、をクラス間共分散行…

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

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

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

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

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

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

線形識別の概要

今回から線形識別を勉強していこうと思っています。 何らかの入力に対し、識別関数を通すことで、が属するクラスは何なのかを識別するというもの。線形回帰よりはちょっと機械学習っぽい感じですね。識別関数は、例えば のように表されます。入力が2次元で2…