以下のようなものをプロットしようとしています:
私はMatlabを使用しています。等高線図を描くことができました。しかし、私は判別式を描くことができませんでした。誰でもサンプルの Matlab コードを表示したり、判別式を描画するためのアイデアを提供したりできますか?
以下のようなものをプロットしようとしています:
私はMatlabを使用しています。等高線図を描くことができました。しかし、私は判別式を描くことができませんでした。誰でもサンプルの Matlab コードを表示したり、判別式を描画するためのアイデアを提供したりできますか?
与えられたポイント の各ガウス分布の確率密度関数がわかっている場合、それを(x,y)
言うとpdf1(x,y)
、pdf2(x,y)
の等高線を簡単にプロットできますf(x,y) := pdf1(x,y) > pdf2(x,y)
。したがって、関数f
を1
iffに定義しますpdf1(x,y)>pdf2(x,y)
。このようにして、唯一の輪郭が曲線に沿って配置され、pdf1(x,y)==pdf2(x,y)
どちらが決定境界 (判別式) になります。「素敵な」関数を定義したい場合は、 を設定するだけでそれを行うことができf(x,y) = sgn( pdf1(x,y) - pdf2(x,y) )
、その等高線図をプロットすると、まったく同じ判別式が得られます。
この問題を分析的に解決する方法は次のとおりです。これら2つの判別関数を同等と見なします
g1(x)=x' W1 x + w1' x + w10
g2(x)=x' W2 x + w2' x + w20
g1(x) = g2(x)
==> x' (W2 - W1) x + (w2-w1)'x + w20 - w10
次に、W2 - W1 がこの行列であると考えます
W2-W1 = [a b; c d]
ベクトル x=[x1 x2]' を展開すると、次のようになります。
a x1^2 + (b+c) x1 x2 + d x2^2 + (w21-w11) x1 + (w22-w12) x2 + w20-w10 = 0
これは楕円の方程式なので、以下の形式に簡略化できます。
(x1 - a0)^2/h + (x2-b0)^2/g = r^2
または、たとえば x1=[-2:0.1:2] のように x1 の範囲を知っていると仮定して、放物線を解くことができます。