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

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

2018-01-01から1年間の記事一覧

18年11月の振り返り

気付いたら3回連続で機械学習じゃなくてお金の話。年明けには機械学習の勉強も再開したいと思っています。先月も書いたんですが、今は新しいWebサービスの準備を進めています。大方できあがってきたんですが、ここまで来ると急にモチベーションが下がってし…

18年10月の振り返り

今年の2月くらいに相場が暴落して、投資初期に暴落が経験できて良かったとか書いてたんですが、10月はそれ以上の暴落がやってきた!国内、海外どちらにも投資してるんですけど、どれもこれも悲惨な状況で、なんと10月は投信が140万近いマイナス。とうとう通…

18年9月の振り返り

9月は投信が順調に伸びてくれました。前月比としては今年最高額。18年はマイナスを覚悟していましたが、ようやくプラス圏が見えてきた。 一方でWeb収入は今年最低額。直近の収益を見ていると、10月は更に減少しそうで40万くらいいけば御の字なペース。今年は…

出力ユニット活性で微分(多クラス分類)

前回の続き。ニューラルネットワークで回帰モデル、2クラス分類モデルを作った場合、誤差関数を出力ユニット活性で微分すると、出力と教師データの差となることを確認しました。(参考:出力ユニット活性で微分(回帰)、出力ユニット活性で微分(2クラス分…

出力ユニット活性で微分(2クラス分類)

前回の続き。前回はニューラルネットワークで回帰モデルを作った場合、誤差関数を出力ユニット活性で微分すると、出力と教師データの差となることを確認しました。(参考:出力ユニット活性で微分(回帰)) 今回は2クラス分類モデルの場合で計算してみます…

出力ユニット活性で微分(回帰)

ニューラルネットワークにおいて次元入力、1次元出力の回帰モデルを考えます。下図のようなモデルです。雑な図ですけど、まあ伝わりますよね。 今回は、このモデルの誤差関数の出力ユニット活性での微分を計算します。なお活性化関数は恒等関数です。(参考…

ニューラルネットワークの概要

ニューラルネットワークの概要 図.1 ちょっと下手くそな絵なんですけど、式(1)~(3)のような関係を上図のように表します。 入力がで、それぞれに重みがかかっています。そしてその和がで、これは出力ユニット活性と呼ばれます。そして活性化関数と呼ばれる何…

線形識別の目次

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

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

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

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

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

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

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

18年8月の振り返り

8月は投信が15万くらいマイナスでひどいことになってるんですが、中旬頃は一時100万くらいマイナスだったので、後半でかなり盛り返しました。このまま上向いてくれるといいんですけどね。 あと8月はトルコリラが暴落したのに乗じてFXで小銭を稼ぎました。も…

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

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

ソフトマックス関数

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

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

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

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

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

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

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

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

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

ニュートン法(多変数)の実験

ニュートン法(多変数の場合)で導出した を使って、関数の極値を求めてみたいと思います。 関数は としました。*1 この関数の形状と等高線はこちらのようになっています。 さて、この関数のヘッセ行列と勾配は、 です。あとは初期値を決めて式(1)を繰り返す…

ニュートン法(多変数の場合)

概要 ニュートン法は、f(x)=0の解αを求める数値計算法で、最急降下法に比べて収束が早い特徴があります。ニュートン・ラフソン法とも呼びます。この記事では多変数の場合におけるアルゴリズムについて記載しています。多変数の場合、の解を求めるにはの次元…

ニュートン法(1変数の場合)

概要 ニュートン法は、の解を求める数値計算法で、最急降下法に比べて収束が早い特徴があります。ニュートン・ラフソン法とも呼びます。 アルゴリズム 関数の点における接線は以下の式で与えられます。 式(1)の接線と、軸との交点は です。接線は関数の1次近…

18年7月の振り返り

7月はけっこう投信が順調で、ようやく今年の成績がプラスに転じるかなあと思ってたら、月末最後の2日間でものすごい下がって結局微増。年初からちっとも評価額が増えないので、資産の現金比率がじわじわ高まってきた。ということで8月から積立の金額を増額。…

ヘッセ行列で極値の判定

ヘッセ行列で最大/最小値の存在を判定の続きで、今回は関数における停留点が極値かどうかを判定する方法を確認します。高校数学で習うように、1変数の関数であれば、二階微分の正負から増減表によって極値の判定ができますが、多変数関数では増減表を書くこ…

ヘッセ行列で最大/最小値の存在を判定

2次形式を対称行列を使ってとするとき、を2次関数のヘッセ行列といいます。ヘッセ行列は2階微分(参考:ベクトルをベクトルで微分の定義とヘッセ行列)を指すことが多そうですが、2次形式の対称行列もヘッセ行列と呼ぶようです。*1 今回はこのヘッセ行列を使…

対称行列の対角化

対称行列は直交行列を使って対角化できることを確認します。 対称行列の異なる固有値に対して、対応する固有ベクトルをとすると、固有値、固有ベクトルの定義(参考:固有値と固有ベクトル)より です。ここで、式(1)の両辺の転置をとると、転置行列の定理よ…

2次形式と対称行列

任意の2次形式は対称行列を使って書き換えられることを確認します。ここで、 とします。 を書き出すと、と書けます。ここで、ですから、 となります。よって、 と書くことができます。 ここで、 とすれば、ですから、で構成される対称行列によって と書くこ…

ベクトルをベクトルで微分の定義とヘッセ行列

、としたとき、は以下のように定義されます。 *1 さて、スカラを返す関数をベクトルで微分すると でしたから(参考:ベクトルの微分)、式(1)の定義に従って式(2)をもう1度で微分すると、 となります。式(3)はヘッセ行列と呼ばれ、と表記されます。の要素に…

ロジスティック回帰

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

シグモイド関数の微分

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

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

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