本發(fā)明涉及強分類器技術(shù)領(lǐng)域,尤其涉及一種隨機強分類器的構(gòu)建方法和系統(tǒng)。
背景技術(shù):
決策樹是一個樹結(jié)構(gòu),其每個非葉節(jié)點表示一個特征屬性上的測試,每個分支代表這個特征屬性在某個值域上的輸出,而每個葉節(jié)點存放一個類別。使用決策樹進行決策的過程就是從根節(jié)點開始,測試待分類項中相應(yīng)的特征屬性,并按照其值選擇輸出分支,直到到達葉子節(jié)點,將葉子節(jié)點存放的類別作為決策結(jié)果。決策樹的決策過程非常直觀,容易被人理解。目前決策樹已經(jīng)成功運用于醫(yī)學(xué)、制造產(chǎn)業(yè)、天文學(xué)、分支生物學(xué)以及商業(yè)等諸多領(lǐng)域。決策樹算法有著訓(xùn)練時間復(fù)雜度較低,預(yù)測的過程比較快速,模型容易展示等良好的特性;但是單個決策樹容易過擬合。
目前,從現(xiàn)有的分類算法中找到一個好的強分類算法比較難,所以需要一種可以把若干個弱分類器整合成一個強分類器的方法,傳統(tǒng)的隨機森林算法是把多個決策樹組合起來,即在變量的使用和數(shù)據(jù)的使用上進行隨機化,生成很多分類樹,再匯總分類樹的結(jié)果,這種算法的弱分類器都相同,弱分類器只有決策樹,處理的方向單一效果不好。
技術(shù)實現(xiàn)要素:
基于背景技術(shù)存在的技術(shù)問題,本發(fā)明提出了一種隨機強分類器的構(gòu)建方法和系統(tǒng);
本發(fā)明提出的一種隨機強分類器的構(gòu)建方法,該方法包括以下步驟:
S1、根據(jù)預(yù)設(shè)的弱分類器個數(shù)n隨機構(gòu)建n個弱分類器;
S2、在原始樣本中有放回的隨機選取與原始樣本個數(shù)相同的數(shù)據(jù)集作為訓(xùn)練樣本;
S3、根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值對所述n個弱分類器進行訓(xùn)練,得到n個弱分類器的最終預(yù)測類別,用投票法綜合每個弱分類器的最終預(yù)測類別得到強分類器的預(yù)測類別。
其中,在S3中,根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值對所述n個弱分類器進行訓(xùn)練,得到n個弱分類器的最終預(yù)測類別,具體包括:
S31、根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值;
S32、用n個弱分類器分別對所述屬性值加噪聲干擾得到預(yù)測類別,將預(yù)測類別與訓(xùn)練樣本的實際類別進行比較,得到每個屬性的重要性分數(shù),根據(jù)所述每個屬性的重要性分數(shù)得到最終預(yù)測類別。
其中,在S3中,所述用投票法綜合每個弱分類器的最終預(yù)測類別得到強分類器的預(yù)測類別,具體包括:獲取所述n個弱分類器的最終預(yù)測類別中的眾數(shù),并將所述眾數(shù)對應(yīng)的最終預(yù)測類別作為強分類器的預(yù)測類別。
其中,根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值對所述n個弱分類器進行訓(xùn)練過程是并行的,且n個弱分類器之間互不干擾。
其中,還包括步驟S4,獲取測試樣本,對測試樣本進行步驟S3操作,得到強分類器的目標預(yù)測類別,將強分類器的目標預(yù)測類別與測試樣本的已知類別進行比較對強分類器進行誤差測試。
一種隨機強分類器的構(gòu)建系統(tǒng),改系統(tǒng)包括:
弱分類器構(gòu)建模塊,用于根據(jù)預(yù)設(shè)的弱分類器個數(shù)n隨機構(gòu)建n個弱分類器;
訓(xùn)練樣本創(chuàng)建模塊,用于在原始樣本中有放回的隨機選取與原始樣本個數(shù)相同的數(shù)據(jù)集作為訓(xùn)練樣本;
訓(xùn)練模塊,根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值對所述n個弱分類器進行訓(xùn)練,得到n個弱分類器的最終預(yù)測類別,用投票法綜合每個弱分類器的最終預(yù)測類別得到強分類器的預(yù)測類別。
其中,所述訓(xùn)練模塊,包括屬性值獲取子模塊、預(yù)測類別獲取子模塊,
屬性值獲取子模塊,用于根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值;
預(yù)測類別獲取子模塊,用于使用n個弱分類器分別對所述屬性值加噪聲干擾得到預(yù)測類別,將預(yù)測類別與訓(xùn)練樣本的實際類別進行比較,得到每個屬性的重要性分數(shù),根據(jù)所述每個屬性的重要性分數(shù)得到最終預(yù)測類別。
其中,所述訓(xùn)練模塊,具體用于:獲取所述n個弱分類器的最終預(yù)測類別中的眾數(shù),并將所述眾數(shù)對應(yīng)的最終預(yù)測類別作為強分類器的預(yù)測類別。
其中,所述訓(xùn)練模塊,具體用于:根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值對所述n個弱分類器進行訓(xùn)練過程是并行的,且n個弱分類器之間互不干擾。
其中,還包括測試模塊,測試模塊用于獲取測試樣本,對測試樣本進行訓(xùn)練模塊操作,得到強分類器的目標預(yù)測類別,將強分類器的目標預(yù)測類別與測試樣本的已知類別進行比較對強分類器進行誤差測試。
本發(fā)明目的是提供一種對數(shù)據(jù)分類的強分類器方法,根據(jù)該方法可以在不降低分類效果的同時彌補單一弱分類器分類的不足,可以處理多維數(shù)的數(shù)據(jù)分類問題,對于多維數(shù)的分類問題可以不需要進行降維處理直接進行分類,用該方法可以得出每個屬性的重要性,在提高分類效果的基礎(chǔ)上還減少了時間的開銷。
附圖說明
圖1為本發(fā)明提出的一種隨機強分類器的構(gòu)建方法流程圖;
圖2為本發(fā)明提出的一種隨機強分類器的構(gòu)建系統(tǒng)模塊示意圖;
圖3為本發(fā)明提出的一種隨機強分類器的構(gòu)建方法工作模式圖。
具體實施方式
參照圖1、圖3,本發(fā)明提出的一種隨機強分類器的構(gòu)建方法,該方法包括以下步驟:
步驟S1,根據(jù)預(yù)設(shè)的弱分類器個數(shù)n隨機構(gòu)建n個弱分類器;
本實施例中,隨機構(gòu)建多個弱分類器,每個弱分類器均不相同,這些弱分類器包括SVM、決策樹、邏輯回歸分類器。
步驟S2,在原始樣本中有放回的隨機選取與原始樣本個數(shù)相同的數(shù)據(jù)集作為訓(xùn)練樣本;
本實施例中,通過有放回的隨機選取與原始樣本個數(shù)相同的數(shù)據(jù)集,將這些數(shù)據(jù)集作為訓(xùn)練樣本,供步驟S1中的n個弱分類器進行訓(xùn)練。
步驟S3,根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值對所述n個弱分類器進行訓(xùn)練,得到n個弱分類器的最終預(yù)測類別,用投票法綜合每個弱分類器的最終預(yù)測類別得到強分類器的預(yù)測類別;
在本步驟中,根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值對所述n個弱分類器進行訓(xùn)練,得到n個弱分類器的最終預(yù)測類別,具體包括:
S31、根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值;
S32、用n個弱分類器分別對所述屬性值加噪聲干擾得到預(yù)測類別,將預(yù)測類別與訓(xùn)練樣本的實際類別進行比較,得到每個屬性的重要性分數(shù),根據(jù)所述每個屬性的重要性分數(shù)得到最終預(yù)測類別。
在本步驟中,所述用投票法綜合每個弱分類器的最終預(yù)測類別得到強分類器的預(yù)測類別,具體包括:獲取所述n個弱分類器的最終預(yù)測類別中的眾數(shù),并將所述眾數(shù)對應(yīng)的最終預(yù)測類別作為強分類器的預(yù)測類別。
在本步驟中,根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值對所述n個弱分類器進行訓(xùn)練過程是并行的,且n個弱分類器之間互不干擾。
本實施例中,通過給定的隨機率隨機的選取新樣本中屬性值,然后用這些樣本去訓(xùn)練這個分類器,在每個弱分類器訓(xùn)練的過程中,分別對每個屬性值加噪聲干得到預(yù)測類別,將預(yù)測類別跟已知的類別進行比較得到一個誤差,從而可以得到每個屬性的重要性分數(shù),其中,每個分類器的訓(xùn)練過程是并行進行的互不干擾的。
該方法還包括步驟S4,獲取測試樣本,對測試樣本進行步驟S3操作,得到強分類器的目標預(yù)測類別,將強分類器的目標預(yù)測類別與測試樣本的已知類別進行比較對強分類器進行誤差測試。
本實施例中,通過步驟S4,對強分類器進行誤差測試,測試通過強分類器得到目標預(yù)測類別與測試樣本的已知類別之間的誤差,評估強分類器的性能。
一種隨機強分類器的構(gòu)建系統(tǒng),該系統(tǒng)包括:
弱分類器構(gòu)建模塊,用于根據(jù)預(yù)設(shè)的弱分類器個數(shù)n隨機構(gòu)建n個弱分類器;
本實施例中,隨機構(gòu)建多個弱分類器,每個弱分類器均不相同,這些弱分類器包括SVM、決策樹、邏輯回歸分類器。
訓(xùn)練樣本創(chuàng)建模塊,用于在原始樣本中有放回的隨機選取與原始樣本個數(shù)相同的數(shù)據(jù)集作為訓(xùn)練樣本;
本實施例中,通過有放回的隨機選取與原始樣本個數(shù)相同的數(shù)據(jù)集,將這些數(shù)據(jù)集作為訓(xùn)練樣本,供步驟S1中的n個弱分類器進行訓(xùn)練。
訓(xùn)練模塊,根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值對所述n個弱分類器進行訓(xùn)練,得到n個弱分類器的最終預(yù)測類別,用投票法綜合每個弱分類器的最終預(yù)測類別得到強分類器的預(yù)測類別。
訓(xùn)練模塊,包括屬性值獲取子模塊、預(yù)測類別獲取子模塊,
屬性值獲取子模塊,用于根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值;
預(yù)測類別獲取子模塊,用于使用n個弱分類器分別對所述屬性值加噪聲干擾得到預(yù)測類別,將預(yù)測類別與訓(xùn)練樣本的實際類別進行比較,得到每個屬性的重要性分數(shù),根據(jù)所述每個屬性的重要性分數(shù)得到最終預(yù)測類別。
訓(xùn)練模塊,具體用于:獲取所述n個弱分類器的最終預(yù)測類別中的眾數(shù),并將所述眾數(shù)對應(yīng)的最終預(yù)測類別作為強分類器的預(yù)測類別。
訓(xùn)練模塊,具體用于:根據(jù)預(yù)設(shè)隨機率隨機選取所述訓(xùn)練樣本中屬性值對所述n個弱分類器進行訓(xùn)練過程是并行的,且n個弱分類器之間互不干擾。
本實施例中,通過給定的隨機率隨機的選取新樣本中屬性值,然后用這些樣本去訓(xùn)練這個分類器,在每個弱分類器訓(xùn)練的過程中,分別對每個屬性值加噪聲干得到預(yù)測類別,將預(yù)測類別跟已知的類別進行比較得到一個誤差,從而可以得到每個屬性的重要性分數(shù),其中,每個分類器的訓(xùn)練過程是并行進行的互不干擾的。
該系統(tǒng)還包括測試模塊,測試模塊用于獲取測試樣本,對測試樣本進行訓(xùn)練模塊操作,得到強分類器的目標預(yù)測類別,將強分類器的目標預(yù)測類別與測試樣本的已知類別進行比較對強分類器進行誤差測試。
本實施例中,測試模塊,對強分類器進行誤差測試,測試通過強分類器得到目標預(yù)測類別與測試樣本的已知類別之間的誤差,評估強分類器的性能。
實例:
從病患那里得到的皮膚病影像,它們的像素大小都不一樣而且皮膚病的病患處在整幅圖像中所處的位置比較小,所以為了預(yù)測比較準確對原始圖像取300×300的patch,然后對這些patch進行分類。但是原始圖像取patch之后有很多patch是非皮膚,因此首先要對這些patch進行皮膚、器官、毛發(fā)和背景的四分類,然后再對皮膚進行疾病和健康皮膚的多分類,最后通過這些patch的預(yù)測簡單取眾數(shù)得到原始圖像是屬于哪一類疾病。本發(fā)明主要用于patch前期的四分類。用隨機強分類器對這些300×300的圖像塊進行分類,首先要對圖像塊提取它的顏色特征、紋理特征和形狀特征,用這些特征組成的特征向量來描述圖像塊,人工標記好圖像塊的四種類別,然后用隨機強分類器訓(xùn)練這些標記好提取的圖像特征向量。對于新的圖像塊提取同樣維數(shù)的特征向量,用訓(xùn)練好的強分類器進行預(yù)測。
原始病患影像有痤瘡、銀屑病和白癜風(fēng)四種疾病,對這些圖像取300×300的patch然后人工標記得到四個類別數(shù)據(jù)集,其中皮膚有5287塊、毛發(fā)1108塊、器官有660塊和背景有1835塊。用基于矩、顏色直方圖、共生矩陣、局部二值模式和梯度方向直方圖的方法提取圖像塊特征向量共1217維,由于數(shù)據(jù)集不均衡所以采用合成少數(shù)類過采樣技術(shù)來擴充毛發(fā)、器官、背景的數(shù)據(jù)集到5287。
為了測試該方法是否穩(wěn)定,采用十次交叉驗證的方法,將每個類別數(shù)據(jù)集分成10等份,依次把每份作為測試集,剩下的9份作為訓(xùn)練集,每次有19008(各類有4752個)個數(shù)據(jù)集作為訓(xùn)練集,2112(各類有528個)個數(shù)據(jù)集作為測試集。用隨機強分類器進行分類,其中弱分類器的個數(shù)為200,隨機屬性率為0.75,十次交叉驗證的訓(xùn)練集平均分辨率為100%,測試集平均分辨率為97.88%,皮膚的平均召回率為98.496%,皮膚的平均準確率93.4%,訓(xùn)練和預(yù)測平均時間為399800ms。
同樣的數(shù)據(jù)集用單個弱分類器進行分類的效果如下:十次交叉驗證的訓(xùn)練集平均分辨率為100%,測試集的平均正確率95.21%,皮膚的平均召回率為93.629%,皮膚的平均準確率91.434%,訓(xùn)練和預(yù)測平均時間為431700ms。這些測試結(jié)果說明把該項發(fā)明用于皮膚病前期的四分類效果比單個弱分類器的效果好,且時間開銷小。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。