簡體   English   中英

將多維特征分類為兩組的 Neural.network 示例

[英]Neural network example to classify multi-dimensional features into two sets

我正在尋找一個好的監督神經網絡的源代碼示例,它接受兩個以上的特征(與大多數 XY 示例不同)並將數據分為兩組。 據我所知,支持向量機 (SVM)可能是一種解決方案?

我發現的所有分類示例都是二維的。 這里有一些:

我試圖將罕見事件與許多通常穩定的輸入區分開來。 特征是鍵值對,其中的值通常可以離散化為一個小數字。 第一類可用的訓練數據是巨大的,但第二類只有很少的訓練集,如果這有所不同的話。

示例訓練集

A類

[2, 1, 0, 1, 4, 3] -> A  
[1, 1, 2, 3, 3, 0] -> A
[0, 0, 1, 3, 2, 0] -> A

B類

[0, 4, 4, 4, 4, 3] -> B

分類示例

[1, 3, 4, 4, 4, 0] -> ??? (probably B)

信心評級,例如。 “85% 確定 B”將有助於區分罕見事件的閾值。

neural.network 是最好的解決方案嗎?是否有內置此功能的 .NET 庫?

實際上,所有這些機器學習技術都有其優點和缺點。 在使用NN(單層感知器)時,您需要考慮是否有足夠的訓練數據。 從技術上講,您需要能夠覆蓋尺寸內的所有單元以獲得良好的結果。

另一方面,SVM嘗試找到分隔數據點的邊界,這樣如果在不接近此邊界的區域中有間隙,則可以。

圍繞+/-提升有5-6個分類器,說實話,似乎大多數時間類型的分類器是主觀選擇的。 另一方面,有些人使用多個分類器並比較結果。

使用OpenCV,可以很容易地插入不同的分類器,因此您可以正確地使用它。 我在C ++中使用OpenCV和我的項目的NN分類器,結果非常好:

http://www.springerlink.com/content/j0615767m36m0614/

SVM 是 n 維的——只是示例通常是 2D 的,因為一旦超過 3 個,解決方案就不再真正適合 2D 插圖了。

它只有兩個 output 類(通常是 Good 和 Bad),但它具有您喜歡的任意多的特性。 這就是為什么分割兩個 SVM 類的線被稱為“超平面”,因為它存在於多維空間中——每個特征一維。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM