-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專(zhuān)題列表 > 正文
二分類(lèi)算法(二分類(lèi)算法什么意思)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于二分類(lèi)算法的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫(xiě)出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶(hù)端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶(hù)遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、數(shù)據(jù)與bh等價(jià)是什么關(guān)系
數(shù)據(jù)與BH等價(jià)是指,對(duì)于一個(gè)給定的問(wèn)題或任務(wù),在某個(gè)數(shù)據(jù)集上表現(xiàn)最好的算法(Best Hypothesis,簡(jiǎn)稱(chēng)BH)所得到的結(jié)果和在該數(shù)據(jù)集上表現(xiàn)最好的所有算法中平均性能相當(dāng)時(shí)所需使用的樣本量。
具體來(lái)說(shuō),假設(shè)我們有一個(gè)二分類(lèi)問(wèn)題,并且有多個(gè)不同算法可以用于解決這個(gè)問(wèn)題。我們將每種算法應(yīng)用于同一組訓(xùn)練數(shù)據(jù),并記錄它們?cè)跍y(cè)試集上的性能。然后,我們找出在測(cè)試集上表現(xiàn)最好的那個(gè)算法作為BH。接著,我們計(jì)算其他所有算法與BH之間差距(即誤差),并確定需要多少額外樣本才能使這些其他算法達(dá)到與BH相當(dāng)?shù)男阅芩健?/p>
因此,數(shù)據(jù)與BH等價(jià)關(guān)系意味著:如果我們想要比較兩種不同方法或模型在某項(xiàng)任務(wù)中哪種更優(yōu)秀,則需要確保使用足夠數(shù)量、質(zhì)量和代表性良好的訓(xùn)練和測(cè)試數(shù)據(jù);同時(shí)還需要考慮選擇合適評(píng)估指標(biāo)以及如何處理可能存在過(guò)擬合、欠擬合等情況。只有滿(mǎn)足了這些條件才能進(jìn)行有效而可靠地比較分析。
二、(二):GBDT算法梳理
GBDT(Gradient Boosting Decision Tree)是一種采用加法模型(即基函數(shù)的線性組合)與前向分步算法并以決策樹(shù)作為基函數(shù)的提升方法。通俗來(lái)說(shuō)就是,該算法由多棵決策樹(shù)組成,所有樹(shù)的結(jié)論加起來(lái)形成最終答案。
GBDT也是集成學(xué)習(xí)Boosting家族的成員,但是卻和傳統(tǒng)的Adaboost有很大的不同?;仡櫹翧daboost,我們是利用前一輪迭代弱學(xué)習(xí)器的誤差率來(lái)更新訓(xùn)練集的權(quán)重,這樣一輪輪的迭代下去。GBDT也是迭代,使用了前向分布算法,但是弱學(xué)習(xí)器限定了只能使用CART回歸樹(shù)模型,同時(shí)迭代思路和Adaboost也有所不同。
在GBDT的迭代中,假設(shè)我們前一輪迭代得到的強(qiáng)學(xué)習(xí)器是ft−1(x), 損失函數(shù)是L(y,ft−1(x)), 我們本輪迭代的目標(biāo)是找到一個(gè)CART回歸樹(shù)模型的弱學(xué)習(xí)器ht(x),讓本輪的損失函數(shù)L(y,ft(x)=L(y,ft−1(x)+ht(x))最小。也就是說(shuō),本輪迭代找到?jīng)Q策樹(shù),要讓樣本的損失盡量變得更小。
要理解GBDT算法,得先來(lái)了解一下什么是前向分步算法。下面一起來(lái)瞧瞧。
我們將
作為加法模型,其中b(x;γm)為基函數(shù),γm為基函數(shù)的參數(shù),βm為基函數(shù)的系數(shù),βm表示著對(duì)應(yīng)的基函數(shù)在加法模型f(x)中的重要性。
在給定訓(xùn)練數(shù)據(jù)和損失函數(shù)L(y,f(x))的條件下,學(xué)習(xí)加法模型成為經(jīng)驗(yàn)風(fēng)險(xiǎn)極小化 (即損失函數(shù)極小化問(wèn)題) :
前向分步算法求解這一優(yōu)化問(wèn)題的思路: 因?yàn)閷W(xué)習(xí)的是加法模型,如果能夠從前向后,每一步只學(xué)習(xí)一個(gè)基函數(shù)及其系數(shù),逐步去逼近上述的目標(biāo)函數(shù)式,就可簡(jiǎn)化優(yōu)化的復(fù)雜度,每一步只需優(yōu)化如下?lián)p失函數(shù):
前向分步算法流程:
因此,前向分布算法將同時(shí)求解從m=1到M的所有參數(shù)βm, rm的優(yōu)化問(wèn)題簡(jiǎn)化為逐次求解各個(gè)βm, rm的優(yōu)化問(wèn)題。
提升樹(shù)利用加法模型與前向分步算法實(shí)現(xiàn)學(xué)習(xí)的優(yōu)化過(guò)程,當(dāng)損失函數(shù)是平方損失和指數(shù)損失函數(shù)時(shí),每一步優(yōu)化很簡(jiǎn)單,但對(duì)一般損失函數(shù)而言,每一步的優(yōu)化并不容易。Freidman提出了 梯度提升算法 (gradient boosting),其關(guān)鍵是利用損失函數(shù)的負(fù)梯度在當(dāng)前模型的值作為回歸問(wèn)題提升樹(shù)算法中的殘差的近似值,擬合一個(gè)回歸樹(shù)(用損失函數(shù)的負(fù)梯度來(lái)擬合本輪損失的近似值,進(jìn)而擬合一個(gè)CART回歸樹(shù))。第t輪的第i個(gè)樣本的損失函數(shù)的負(fù)梯度表示為:
. 其中 J 為葉子節(jié)點(diǎn)的個(gè)數(shù)。
針對(duì)每一個(gè)葉子節(jié)點(diǎn)里的樣本,我們求出使損失函數(shù)最小,也就是擬合葉子節(jié)點(diǎn)最好的的輸出值Ctj
如下:
這樣我們就得到了本輪的決策樹(shù)擬合函數(shù)如下:
從而本輪最終得到的強(qiáng)學(xué)習(xí)器的表達(dá)式如下:
通過(guò)損失函數(shù)的負(fù)梯度來(lái)擬合,我們找到了一種通用的擬合損失誤差的辦法,這樣無(wú)輪是分類(lèi)問(wèn)題還是回歸問(wèn)題,我們通過(guò)其損失函數(shù)的負(fù)梯度的擬合,就可以用 GBDT 來(lái)解決我們的分類(lèi)回歸問(wèn)題。區(qū)別僅僅在于損失函數(shù)不同導(dǎo)致的負(fù)梯度不同而已。
在GBDT算法中,損失函數(shù)的選擇十分重要。針對(duì)不同的問(wèn)題,損失函數(shù)有不同的選擇。
1.對(duì)于分類(lèi)算法,其損失函數(shù)一般由對(duì)數(shù)損失函數(shù)和指數(shù)損失函數(shù)兩種。
(1)指數(shù)損失函數(shù)表達(dá)式:
(2)對(duì)數(shù)損失函數(shù)可分為二分類(lèi)和多分類(lèi)兩種。
2.對(duì)于回歸算法,常用損失函數(shù)有如下4種。
(1)平方損失函數(shù) :
(2)絕對(duì)損失函數(shù) :
對(duì)應(yīng)負(fù)梯度誤差為:
(3)Huber損失 ,它是均方差和絕對(duì)損失的折中產(chǎn)物,對(duì)于遠(yuǎn)離中心的異常點(diǎn),采用絕對(duì)損失誤差,而對(duì)于靠近中心的點(diǎn)則采用平方損失。這個(gè)界限一般用分位數(shù)點(diǎn)度量。損失函數(shù)如下:
對(duì)應(yīng)的負(fù)梯度誤差為:
(4)分位數(shù)損失。 它對(duì)應(yīng)的是分位數(shù)回歸的損失函數(shù),表達(dá)式為:
其中 θ為分位數(shù),需要我們?cè)诨貧w之前指定。對(duì)應(yīng)的負(fù)梯度誤差為:
對(duì)于Huber損失和分位數(shù)損失,主要用于健壯回歸,也就是減少異常點(diǎn)對(duì)損失函數(shù)的影響。
這里我們?cè)倏纯碐BDT分類(lèi)算法,GBDT的分類(lèi)算法從思想上和GBDT的回歸算法沒(méi)有區(qū)別,但是由于樣本輸出不是連續(xù)的值,而是離散的類(lèi)別,導(dǎo)致我們無(wú)法直接從輸出類(lèi)別去擬合類(lèi)別輸出的誤差。
為了解決這個(gè)問(wèn)題,主要有兩個(gè)方法,一個(gè)是用指數(shù)損失函數(shù),此時(shí)GBDT退化為Adaboost算法。另一種方法是用類(lèi)似于邏輯回歸的對(duì)數(shù)似然損失函數(shù)的方法。也就是說(shuō),我們用的是類(lèi)別的預(yù)測(cè)概率值和真實(shí)概率值的差來(lái)擬合損失。本文僅討論用對(duì)數(shù)似然損失函數(shù)的GBDT分類(lèi)。而對(duì)于對(duì)數(shù)似然損失函數(shù),我們又有二元分類(lèi)和多元分類(lèi)的區(qū)別。
和 Adaboost 一樣,我們也需要對(duì) GBDT 進(jìn)行正則化,防止過(guò)擬合。GBDT 的正則化主要有三種方式。
在scikit-learn中,GradientBoostingClassifier為GBDT的分類(lèi)類(lèi), 而GradientBoostingRegressor為GBDT的回歸類(lèi)。兩者的參數(shù)類(lèi)型完全相同,當(dāng)然有些參數(shù)比如損失函數(shù)loss的可選擇項(xiàng)并不相同。這些參數(shù)中,類(lèi)似于Adaboost,我們把重要參數(shù)分為兩類(lèi),第一類(lèi)是Boosting框架的重要參數(shù),第二類(lèi)是弱學(xué)習(xí)器即CART回歸樹(shù)的重要參數(shù)。
下面我們就從這兩個(gè)方面來(lái)介紹這些參數(shù)的使用。
這次基本上是個(gè)CRUD boy,對(duì)于這些資料都大部分沒(méi)有消化完成,還不知道能用在哪個(gè)地方。
參考資料:
3、GBDT算法梳理 https://juejin.im/post/5c7b7bf451882530a269a1ba
三、大數(shù)據(jù)算法:分類(lèi)算法
KNN算法,即K近鄰(K Nearest Neighbour)算法,是一種基本的分類(lèi)算法。其主要原理是:對(duì)于一個(gè)需要分類(lèi)的數(shù)據(jù),將其和一組已經(jīng)分類(lèi)標(biāo)注好的樣本集合進(jìn)行比較,得到距離最近的K個(gè)樣本,K個(gè)樣本最多歸屬的類(lèi)別,就是這個(gè)需要分類(lèi)數(shù)據(jù)的類(lèi)別。下面我給你畫(huà)了一個(gè)KNN算法的原理圖。
圖中,紅藍(lán)綠三種顏色的點(diǎn)為樣本數(shù)據(jù),分屬三種類(lèi)別 、 、 。對(duì)于待分類(lèi)點(diǎn) ,計(jì)算和它距離最近的5個(gè)點(diǎn)(即K為5),這5個(gè)點(diǎn)最多歸屬的類(lèi)別為 (4個(gè)點(diǎn)歸屬 ,1個(gè)點(diǎn)歸屬 ),那么 的類(lèi)別被分類(lèi)為 。
KNN的算法流程也非常簡(jiǎn)單,請(qǐng)看下面的流程圖。
KNN算法是一種非常簡(jiǎn)單實(shí)用的分類(lèi)算法,可用于各種分類(lèi)的場(chǎng)景,比如新聞分類(lèi)、商品分類(lèi)等,甚至可用于簡(jiǎn)單的文字識(shí)別。對(duì)于新聞分類(lèi),可以提前對(duì)若干新聞進(jìn)行人工標(biāo)注,標(biāo)好新聞?lì)悇e,計(jì)算好特征向量。對(duì)于一篇未分類(lèi)的新聞,計(jì)算其特征向量后,跟所有已標(biāo)注新聞進(jìn)行距離計(jì)算,然后進(jìn)一步利用KNN算法進(jìn)行自動(dòng)分類(lèi)。
讀到這你肯定會(huì)問(wèn),如何計(jì)算數(shù)據(jù)的距離呢?如何獲得新聞的特征向量呢?
KNN算法的關(guān)鍵是要比較需要分類(lèi)的數(shù)據(jù)與樣本數(shù)據(jù)之間的距離,這在機(jī)器學(xué)習(xí)中通常的做法是:提取數(shù)據(jù)的特征值,根據(jù)特征值組成一個(gè)n維實(shí)數(shù)向量空間(這個(gè)空間也被稱(chēng)作特征空間),然后計(jì)算向量之間的空間距離??臻g之間的距離計(jì)算方法有很多種,常用的有歐氏距離、余弦距離等。
對(duì)于數(shù)據(jù) 和 ,若其特征空間為n維實(shí)數(shù)向量空間 ,即 , ,則其歐氏距離計(jì)算公式為
這個(gè)歐式距離公式其實(shí)我們?cè)诔踔械臅r(shí)候就學(xué)過(guò),平面幾何和立體幾何里兩個(gè)點(diǎn)之間的距離,也是用這個(gè)公式計(jì)算出來(lái)的,只是平面幾何(二維幾何)里的n=2,立體幾何(三維幾何)里的n=3,而機(jī)器學(xué)習(xí)需要面對(duì)的每個(gè)數(shù)據(jù)都可能有n維的維度,即每個(gè)數(shù)據(jù)有n個(gè)特征值。但是不管特征值n是多少,兩個(gè)數(shù)據(jù)之間的空間距離的計(jì)算公式還是這個(gè)歐氏計(jì)算公式。大多數(shù)機(jī)器學(xué)習(xí)算法都需要計(jì)算數(shù)據(jù)之間的距離,因此掌握數(shù)據(jù)的距離計(jì)算公式是掌握機(jī)器學(xué)習(xí)算法的基礎(chǔ)。
歐氏距離是最常用的數(shù)據(jù)計(jì)算公式,但是在文本數(shù)據(jù)以及用戶(hù)評(píng)價(jià)數(shù)據(jù)的機(jī)器學(xué)習(xí)中,更常用的距離計(jì)算方法是余弦相似度。
余弦相似度的值越接近1表示其越相似,越接近0表示其差異越大,使用余弦相似度可以消除數(shù)據(jù)的某些冗余信息,某些情況下更貼近數(shù)據(jù)的本質(zhì)。我舉個(gè)簡(jiǎn)單的例子,比如兩篇文章的特征值都是:“大數(shù)據(jù)”“機(jī)器學(xué)習(xí)”和“極客時(shí)間”,A文章的特征向量為(3, 3, 3),即這三個(gè)詞出現(xiàn)次數(shù)都是3;B文章的特征向量為(6, 6, 6),即這三個(gè)詞出現(xiàn)次數(shù)都是6。如果光看特征向量,這兩個(gè)向量差別很大,如果用歐氏距離計(jì)算確實(shí)也很大,但是這兩篇文章其實(shí)非常相似,只是篇幅不同而已,它們的余弦相似度為1,表示非常相似。
余弦相似度其實(shí)是計(jì)算向量的夾角,而歐氏距離公式是計(jì)算空間距離。余弦相似度更關(guān)注數(shù)據(jù)的相似性,比如兩個(gè)用戶(hù)給兩件商品的打分分別是(3, 3)和(4, 4),那么兩個(gè)用戶(hù)對(duì)兩件商品的喜好是相似的,這種情況下,余弦相似度比歐氏距離更合理。
我們知道了機(jī)器學(xué)習(xí)的算法需要計(jì)算距離,而計(jì)算距離需要還知道數(shù)據(jù)的特征向量,因此提取數(shù)據(jù)的特征向量是機(jī)器學(xué)習(xí)工程師們的重要工作,有時(shí)候甚至是最重要的工作。不同的數(shù)據(jù)以及不同的應(yīng)用場(chǎng)景需要提取不同的特征值,我們以比較常見(jiàn)的文本數(shù)據(jù)為例,看看如何提取文本特征向量。
文本數(shù)據(jù)的特征值就是提取文本關(guān)鍵詞,TF-IDF算法是比較常用且直觀的一種文本關(guān)鍵詞提取算法。這種算法是由TF和IDF兩部分構(gòu)成。
TF是詞頻(Term Frequency),表示某個(gè)單詞在文檔中出現(xiàn)的頻率,一個(gè)單詞在一個(gè)文檔中出現(xiàn)的越頻繁,TF值越高。
詞頻:
IDF是逆文檔頻率(Inverse Document Frequency),表示這個(gè)單詞在所有文檔中的稀缺程度,越少文檔出現(xiàn)這個(gè)詞,IDF值越高。
逆文檔頻率:
TF與IDF的乘積就是TF-IDF。
所以如果一個(gè)詞在某一個(gè)文檔中頻繁出現(xiàn),但在所有文檔中卻很少出現(xiàn),那么這個(gè)詞很可能就是這個(gè)文檔的關(guān)鍵詞。比如一篇關(guān)于原子能的技術(shù)文章,“核裂變”“放射性”“半衰期”等詞匯會(huì)在這篇文檔中頻繁出現(xiàn),即TF很高;但是在所有文檔中出現(xiàn)的頻率卻比較低,即IDF也比較高。因此這幾個(gè)詞的TF-IDF值就會(huì)很高,就可能是這篇文檔的關(guān)鍵詞。如果這是一篇關(guān)于中國(guó)原子能的文章,也許“中國(guó)”這個(gè)詞也會(huì)頻繁出現(xiàn),即TF也很高,但是“中國(guó)”也在很多文檔中出現(xiàn),那么IDF就會(huì)比較低,最后“中國(guó)”這個(gè)詞的TF-IDF就很低,不會(huì)成為這個(gè)文檔的關(guān)鍵詞。
提取出關(guān)鍵詞以后,就可以利用關(guān)鍵詞的詞頻構(gòu)造特征向量,比如上面例子關(guān)于原子能的文章,“核裂變”“放射性”“半衰期”這三個(gè)詞是特征值,分別出現(xiàn)次數(shù)為12、9、4。那么這篇文章的特征向量就是(12, 9, 4),再利用前面提到的空間距離計(jì)算公式計(jì)算與其他文檔的距離,結(jié)合KNN算法就可以實(shí)現(xiàn)文檔的自動(dòng)分類(lèi)。
貝葉斯公式是一種基于條件概率的分類(lèi)算法,如果我們已經(jīng)知道A和B的發(fā)生概率,并且知道了B發(fā)生情況下A發(fā)生的概率,可以用貝葉斯公式計(jì)算A發(fā)生的情況下B發(fā)生的概率。事實(shí)上,我們可以根據(jù)A的情況,即輸入數(shù)據(jù),判斷B的概率,即B的可能性,進(jìn)而進(jìn)行分類(lèi)。
舉個(gè)例子:假設(shè)一所學(xué)校里男生占60%,女生占40%。男生總是穿長(zhǎng)褲,女生則一半穿長(zhǎng)褲一半穿裙子。假設(shè)你走在校園中,迎面走來(lái)一個(gè)穿長(zhǎng)褲的學(xué)生,你能夠推斷出這個(gè)穿長(zhǎng)褲學(xué)生是男生的概率是多少嗎?
答案是75%,具體算法是:
這個(gè)算法就利用了貝葉斯公式,貝葉斯公式的寫(xiě)法是:
意思是A發(fā)生的條件下B發(fā)生的概率,等于B發(fā)生的條件下A發(fā)生的概率,乘以B發(fā)生的概率,除以A發(fā)生的概率。還是上面這個(gè)例子,如果我問(wèn)你迎面走來(lái)穿裙子的學(xué)生是女生的概率是多少。同樣帶入貝葉斯公式,可以計(jì)算出是女生的概率為100%。其實(shí)這個(gè)結(jié)果我們根據(jù)常識(shí)也能推斷出來(lái),但是很多時(shí)候,常識(shí)受各種因素的干擾,會(huì)出現(xiàn)偏差。比如有人看到一篇博士生給初中學(xué)歷老板打工的新聞,就感嘆讀書(shū)無(wú)用。事實(shí)上,只是少見(jiàn)多怪,樣本量太少而已。而大量數(shù)據(jù)的統(tǒng)計(jì)規(guī)律則能準(zhǔn)確反映事物的分類(lèi)概率。
貝葉斯分類(lèi)的一個(gè)典型的應(yīng)用場(chǎng)合是垃圾郵件分類(lèi),通過(guò)對(duì)樣本郵件的統(tǒng)計(jì),我們知道每個(gè)詞在郵件中出現(xiàn)的概率 ,我們也知道正常郵件概率 和垃圾郵件的概率 ,還可以統(tǒng)計(jì)出垃圾郵件中各個(gè)詞的出現(xiàn)概率 ,那么現(xiàn)在一封新郵件到來(lái),我們就可以根據(jù)郵件中出現(xiàn)的詞,計(jì)算 ,即得到這些詞出現(xiàn)情況下,郵件為垃圾郵件的概率,進(jìn)而判斷郵件是否為垃圾郵件。
現(xiàn)實(shí)中,貝葉斯公式等號(hào)右邊的概率,我們可以通過(guò)對(duì)大數(shù)據(jù)的統(tǒng)計(jì)獲得,當(dāng)有新的數(shù)據(jù)到來(lái)的時(shí)候,我們就可以帶入上面的貝葉斯公式計(jì)算其概率。而如果我們?cè)O(shè)定概率超過(guò)某個(gè)值就認(rèn)為其會(huì)發(fā)生,那么我們就對(duì)這個(gè)數(shù)據(jù)進(jìn)行了分類(lèi)和預(yù)測(cè),具體過(guò)程如下圖所示。
訓(xùn)練樣本就是我們的原始數(shù)據(jù),有時(shí)候原始數(shù)據(jù)并不包含我們想要計(jì)算的維度數(shù)據(jù),比如我們想用貝葉斯公式自動(dòng)分類(lèi)垃圾郵件,那么首先要對(duì)原始郵件進(jìn)行標(biāo)注,需要標(biāo)注哪些郵件是正常郵件、哪些郵件是垃圾郵件。這一類(lèi)需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)注才能進(jìn)行的機(jī)器學(xué)習(xí)訓(xùn)練也叫作有監(jiān)督的機(jī)器學(xué)習(xí)。
四、降維算法二:LDA(Linear Discriminant Analysis)
學(xué)習(xí)分類(lèi)算法,線性分類(lèi)器最簡(jiǎn)單的就是LDA,它可以看做是簡(jiǎn)化版的SVM,如果想理解SVM這種分類(lèi)器,那理解LDA就是很有必要的了。
談到LDA,就不得不談?wù)凱CA,PCA是一個(gè)和LDA非常相關(guān)的算法,從推導(dǎo)、求解、到算法最終的結(jié)果,都有著相當(dāng)?shù)南嗨啤?/p>
本次的內(nèi)容主要是以推導(dǎo)數(shù)學(xué)公式為主,都是從算法的物理意義出發(fā),然后一步一步最終推導(dǎo)到最終的式子,LDA和PCA最終的表現(xiàn)都是解一個(gè)矩陣特征值的問(wèn)題,但是理解了如何推導(dǎo),才能更深刻的理解其中的含義。本次內(nèi)容要求讀者有一些基本的線性代數(shù)基礎(chǔ),比如說(shuō)特征值、特征向量的概念,空間投影,點(diǎn)乘等的一些基本知識(shí)等。除此之外的其他公式、我都盡量講得更簡(jiǎn)單清楚。
LDA的全稱(chēng)是Linear Discriminant Analysis(線性判別分析),是一種 supervised learning 。有些資料上也稱(chēng)為是Fisher’s Linear Discriminant,因?yàn)樗籖onald Fisher發(fā)明自1936年,Discriminant這次詞我個(gè)人的理解是,一個(gè)模型,不需要去通過(guò)概率的方法來(lái)訓(xùn)練、預(yù)測(cè)數(shù)據(jù),比如說(shuō)各種貝葉斯方法,就需要獲取數(shù)據(jù)的先驗(yàn)、后驗(yàn)概率等等。LDA是在 目前機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘領(lǐng)域經(jīng)典且熱門(mén)的一個(gè)算法 ,據(jù)我所知,百度的商務(wù)搜索部里面就用了不少這方面的算法。
LDA的原理是,將帶上標(biāo)簽的數(shù)據(jù)(點(diǎn)),通過(guò)投影的方法,投影到維度更低的空間中,使得投影后的點(diǎn),會(huì)形成按類(lèi)別區(qū)分,一簇一簇的情況,相同類(lèi)別的點(diǎn),將會(huì)在投影后的空間中更接近。要說(shuō)明白LDA,首先得弄明白線性分類(lèi)器( Linear Classifier ):因?yàn)長(zhǎng)DA是一種線性分類(lèi)器。對(duì)于K-分類(lèi)的一個(gè)分類(lèi)問(wèn)題,會(huì)有K個(gè)線性函數(shù):
上式實(shí)際上就是一種投影,是將一個(gè)高維的點(diǎn)投影到一條高維的直線上,LDA最求的目標(biāo)是,給出一個(gè)標(biāo)注了類(lèi)別的數(shù)據(jù)集,投影到了一條直線之后,能夠使得點(diǎn)盡量的按類(lèi)別區(qū)分開(kāi),當(dāng)k=2即二分類(lèi)問(wèn)題的時(shí)候,如下圖所示:
紅色的方形的點(diǎn)為0類(lèi)的原始點(diǎn)、藍(lán)色的方形點(diǎn)為1類(lèi)的原始點(diǎn),經(jīng)過(guò)原點(diǎn)的那條線就是投影的直線,從圖上可以清楚的看到,紅色的點(diǎn)和藍(lán)色的點(diǎn)被原點(diǎn)明顯的分開(kāi)了,這個(gè)數(shù)據(jù)只是隨便畫(huà)的,如果在高維的情況下,看起來(lái)會(huì)更好一點(diǎn)。下面我來(lái)推導(dǎo)一下二分類(lèi)LDA問(wèn)題的公式:
假設(shè)用來(lái)區(qū)分二分類(lèi)的直線(投影函數(shù))為:
LDA分類(lèi)的一個(gè)目標(biāo)是使得不同類(lèi)別之間的距離越遠(yuǎn)越好,同一類(lèi)別之中的距離越近越好,所以我們需要定義幾個(gè)關(guān)鍵的值。
類(lèi)別i的原始中心點(diǎn)為:(Di表示屬于類(lèi)別i的點(diǎn))
類(lèi)別i投影后的中心點(diǎn)為:
衡量類(lèi)別i投影后,類(lèi)別點(diǎn)之間的分散程度(方差)為:
最終我們可以得到一個(gè)下面的公式,表示LDA投影到w后的損失函數(shù):
分類(lèi)的目標(biāo)是, 使得類(lèi)別內(nèi)的點(diǎn)距離越近越好(集中),類(lèi)別間的點(diǎn)越遠(yuǎn)越好。 分母表示每一個(gè)類(lèi)別內(nèi)的方差之和,方差越大表示一個(gè)類(lèi)別內(nèi)的點(diǎn)越分散,分子為兩個(gè)類(lèi)別各自的中心點(diǎn)的距離的平方,我們最大化J(w)就可以求出最優(yōu)的w了。想要求出最優(yōu)的w,可以使用拉格朗日乘子法,但是現(xiàn)在我們得到的J(w)里面,w是不能被單獨(dú)提出來(lái)的,我們就得想辦法將w單獨(dú)提出來(lái)。
我們定義一個(gè)投影前的各類(lèi)別分散程度的矩陣,這個(gè)矩陣看起來(lái)有一點(diǎn)麻煩,其實(shí)意思是,如果某一個(gè)分類(lèi)的輸入點(diǎn)集Di里面的點(diǎn)距離這個(gè)分類(lèi)的中心店mi越近,則Si里面元素的值就越小,如果分類(lèi)的點(diǎn)都緊緊地圍繞著mi,則Si里面的元素值越更接近0.
同樣的將J(w)分子化為:
我們希望 分母越小越好,分子越大越好 :
分母小,則每個(gè)類(lèi)內(nèi)部數(shù)據(jù)點(diǎn)比較聚集;
分子大,則兩個(gè)類(lèi)別的距離較遠(yuǎn)。
所以需要找出一個(gè) W 使 J(W) 的值最大。
這樣就可以用最喜歡的拉格朗日乘子法了,但是還有一個(gè)問(wèn)題,如果分子、分母是都可以取任意值的,那就會(huì)使得有無(wú)窮解,我們將分母限制為長(zhǎng)度為1(這是用拉格朗日乘子法一個(gè)很重要的技巧,在下面將說(shuō)的PCA里面也會(huì)用到,如果忘記了,請(qǐng)復(fù)習(xí)一下高數(shù)),并作為拉格朗日乘子法的限制條件,帶入得到:
這樣的式子就是一個(gè)求特征值的問(wèn)題了。
對(duì)于N(N>2)分類(lèi)的問(wèn)題,我就直接寫(xiě)出下面的結(jié)論了:
二者都有降維的作用。
以上就是關(guān)于二分類(lèi)算法相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢(xún),客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
山東城鄉(xiāng)規(guī)劃院二分院(山東城鄉(xiāng)規(guī)劃院二分院招聘)
杭州公交公司第二分公司電話(杭州公交公司第二分公司電話是多少)
場(chǎng)地識(shí)別感雕塑景觀設(shè)計(jì)(場(chǎng)景識(shí)別與定位)