ユークリッド距離
二次元方程式
、ρ= SQRT((X1-X2)2 +(Y1-Y2) 2)
次元数
、ρ= SQRT((X1-X2)2 +(Y1-Y2) 2 +(Z1-Z2)^ 2)
式n次元空間
のN次元のユークリッド空間は、点の集合、(X [1]、X [として表すことができる各点Xで 2]、...、X [N])、 X [i]は(I = 1,2、...、n)は実数であり、i番目の座標X、二点=([1]と呼ばれる [2]、...、[N]) 及びB =(B [ 1]、B [2]、 ...、 B [n]の間の距離ρ(B))は、次式のように定義されます。
ρ(A、B)= SQRT [Σ([I] - B [I])^ 2](i = 1,2、...、N)
二、K-手段アルゴリズム
k-平均(K-手段)クラスタリングアルゴリズムである、クラスタ分析は、オブジェクトとそれらの関係について説明する。情報は、データに見られる、データオブジェクトがグループ化されます。目標は、異なるグループ内のオブジェクトが異なっている間、彼らは、オブジェクトのグループ内の互いに類似している、です。グループ内の大きな類似性、より大きな2つの群の間の差、よりよいクラスタリング。
例えば、二次元平面の点の何百もあり、デカルト座標系における座標(x、y)であり、それらは紙を指し、問題は、異なるグループに分け、各グループにそれらを置く方法がありますポイントの前に、我々は比較的近接して、および他のグループのメンバーから、比較的遠く離れています。ここでは、このようなAの事のできるk平均で。
基本kは意味
基本的な考え方は単純なK-means法、kはユーザが指定したパラメータ、即ち、クラスタの所望の数である第一、初期重心選択K、です。各点は、クラスタの重心に割り当てられた点の集合の最も近い重心に割り当てられます。ポイントは、次に、クラスタに各クラスタ重心更新が割り当てられます。重心が変化しなくなるまで、代入更新ステップは、クラスターが変化しなくなるまで繰り返し、または同等れます。
第三に、特徴抽出
オンライン誰か一回の練習を参照1、最初のステップ:
簡単にするために、我々は、最も簡単な画像を使用しています-トレーニングとテストのための画像の黒画素の分布を。まず、我々は32個の画像正規化画像の32画素、次いで2サブ領域に2分16 256 * 16カットし、その後256次元の特徴ベクトルからなる、4つの画素の黒画素の数をカウント、次の通りであります機能番号2ベクトル:
0 0 4,442,000,000,002,400,444 2 0 0 0,000,002,422,442,100,000 0 1,234,444,400,000,000,244 4,444,400,000,000,244,444 0 0 0 0 0 0 0 0 0 0 2 4. 4. 4 4 4 0 0 0 0 0 0 0 0,002,444,440,000,000,444 4,444,440,000,000,444,444 4. 4 4 2 2 2 2 2 2 2 2 4,423,444,444,444,444,440 4,442,222,432,222,202,444 0 0 0 0 4 2 0 0 0 0 0 0 2 4,440,000,420,000,002,444 0,000,000,000,002,444,000 0000000002444
したがって、我々は唯一の他の値、結果として、対応する寸法の数値が値に設定されているので、10次元のベクトルを作成するために、10桁の0〜9を同定する必要があるため0。次のように2計算結果は、次のとおり0010000000
For m_i As Integer = 1 To 16
myinitwidth = myendwidth
myendwidth += jiange
For myi As Integer = myinitwidth To myendwidth
For myj As Integer = myinitheight To myendheight
mycolor = myybcominfo.mybitmap.GetPixel(myi, myj)
If mycolor.B = 0 And mycolor.R = 255 And mycolor.G = 0 Then
While (Not Monitor.TryEnter(mymonitorobj))
Thread.Sleep(1)
End While
myjgtz(mycount) += 1
Monitor.Exit(mymonitorobj)
Thread.Sleep(1)
End If
Next
Next
mycount += 1
myendwidth += 1
Next
図2に示すように、最初のステップの重量調整特徴ベクトルとして位置へ位置情報と結合された特性に基づいて、更なる処理の最初のステップは、コアコードは:
For mi As Integer = 0 To 15
If myjgtz(mi) > 0 Then
pictz(myii, myjj, m_j) += mi * myjgtz(mi)
End If
myjgtz(mi) = 0
Next
各デジタル・コア・コードのステップK-手段計算:
計算された平均K
Dim mmsum As Double = 0
For myii As Integer = 0 To 9
mystr &= vbCrLf & myii & "的样本均值是:" & vbCrLf
For myk As Integer = 0 To 15
mmsum = 0
For myjj As Integer = 0 To 9
mmsum += pictz(myii, myjj, myk)
ProgressBar1.Value = count
count += 1
Next
mmsum /= 10
ktz(myii, myk) = mmsum
mystr &= ktz(myii, myk) & ","
Next
mystr &= vbCrLf
Next
最後に、識別番号が特性値は、ユークリッド距離比較されるべき
Dim jqtz(16) As Integer
'欧氏距离
Dim mys(10) As Integer
Dim temp As Integer = 1000000000
Dim jgnum As Integer = -1
For m_iii As Integer = 0 To 9
mys(m_iii) = 0
For m_jjj As Integer = 0 To 15
mys(m_iii) += Pow(ktz(m_iii, m_jjj) - jqtz(m_jjj), 2)
Next
If mys(m_iii) < temp Then
temp = mys(m_iii)
jgnum = m_iii
End If
Next
jg.Text = ""
For m_iii = 0 To 9
jg.Text &= m_iii & ":" & mys(m_iii) & vbCrLf
Next
jg.Text &= "结果是:" & jgnum
実験では、アルゴリズムはさらに、アルゴリズム、認識率、手書きの数字、限り書き込みがより標準化されるよう、適切な位置を記述することができるイタリック、90%、ボールド、イタリック、等のための最高の認識率を向上させるために改善する必要があり、より高い認識率を有することを示します手書きの手書き認識は、デジタルサンプルとして推奨される場合はそれ以上の中間ブロック、高い認識率で、プログラム附属書は、非常に高い認識率は、マシン識別番号と、サンプル・データを自動的に生成することができます。