利用sklearn學習《統(tǒng)計學習方法》(一):感知機(perceptron)

** 簡介:學習機器學習已經半年時間了拦坠,在讀了李航博士的《統(tǒng)計學習方法》后受益匪淺盅安,一掃學習初期頭腦中的陰云网梢。然而,紙上得來終覺淺嘶窄,不親身實踐親手操作一下怎么能號稱自己入了機器學習的門呢。本系列分享將會使用python的sklearn庫距贷,將《統(tǒng)計學習方法》書中講解的各個算法進行實現(xiàn)柄冲,希望加深自己理解的同時和其他人一同學習交流。**

一忠蝗、感知機(perceptron)

感知機簡介:

  • 感知機(perceptron)是二類分類的線性分類模型现横,其輸入為實例的特征向量,輸出為實例的類別。感知機對應于輸入空間(特征空間)中將實例劃分為正負兩類的分離超平面戒祠。感知機是一種線性分類模型骇两。

感知機實際上表示為輸入空間到輸出空間的映射函數(shù),如下所示:

其中姜盈,w和b稱為感知機的模型參數(shù)低千,w叫做權值(weight)或權值向量(weight vector),b叫做偏置(bias)馏颂,sign是符號函數(shù)示血,其定義形式如下:


雖然有了感知機的定義形式,也知道了它的作用救拉,但這樣看起來仍然不直觀难审,現(xiàn)在我用sklearn庫來做一個二維空間的感知機來演示一下感知機的實際效果。

首先近上,使用sklearn中的make_classification來生成一些用來分類的樣本剔宪。

from sklearn.datasets import make_classification
x,y = make_classification(n_samples=1000, n_features=2,n_redundant=0,n_informative=1,n_clusters_per_class=1)

#n_samples:生成樣本的數(shù)量
#n_features=2:生成樣本的特征數(shù),特征數(shù)=n_informative() + n_redundant + n_repeated
#n_informative:多信息特征的個數(shù)
#n_redundant:冗余信息壹无,informative特征的隨機線性組合
#n_clusters_per_class :某一個類別是由幾個cluster構成的 

make_classification默認生成二分類的樣本葱绒,上面代碼中,x代表了生成的樣本空間(特征空間)斗锭,y代表了生成樣本的類別地淀,使用1和0分別表示正例和反例:

y=[0 0 0 1 0 1 1 1... 1 0 0 1 1 0]

然后將生成的樣本分為訓練數(shù)據(jù)和測試數(shù)據(jù),并將其中的正例和反例也分開:

#訓練數(shù)據(jù)和測試數(shù)據(jù)
x_data_train = x[:800,:]
x_data_test = x[800:,:]
y_data_train = y[:800]
y_data_test = y[800:]

#正例和反例
positive_x1 = [x[i,0] for i in range(1000) if y[i] == 1]
positive_x2 = [x[i,1] for i in range(1000) if y[i] == 1]
negetive_x1 = [x[i,0] for i in range(1000) if y[i] == 0]
negetive_x2 = [x[i,1] for i in range(1000) if y[i] == 0]

接下來岖是,就開始真正的分類工作帮毁,首先定義一個感知機(percetpron):

from sklearn.linear_model import Perceptron
#定義感知機
clf = Perceptron(fit_intercept=False,n_iter=30,shuffle=False)
#使用訓練數(shù)據(jù)進行訓練
clf.fit(x_data_train,y_data_train)
#得到訓練結果,權重矩陣
print(clf.coef_)
#輸出為:[[-0.38478876,4.41537463]]

#超平面的截距豺撑,此處輸出為:[0.]
print(clf.intercept_)

此時烈疚,我們已經得到了訓練出的感知機模型參數(shù),那么這個感知機的分類能力怎么樣呢聪轿?我們利用測試數(shù)據(jù)對其進行驗證爷肝。

#利用測試數(shù)據(jù)進行驗證
acc = clf.score(x_data_test,y_data_test)
print(acc)
#得到的輸出結果為0.995,這個結果還不錯吧陆错。

最后灯抛,我們將結果用圖形顯示出來,直觀地看一下感知機的結果:

from matplotlib import pyplot as plt
#畫出正例和反例的散點圖
plt.scatter(positive_x1,positive_x2,c='red')
plt.scatter(negetive_x1,negetive_2,c='blue')
#畫出超平面(在本例中即是一條直線)
line_x = np.arange(-4,4)
line_y = line_x * (-clf.coef_[0][0] / clf.coef_[0][1]) - clf.intercept_
plt.plot(line_x,line_y)
plt.show()

得到的圖如下所示:

PS:不得不說音瓷,簡書不能編輯公式這一點實在是太煩人对嚼。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市绳慎,隨后出現(xiàn)的幾起案子纵竖,更是在濱河造成了極大的恐慌漠烧,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件磨确,死亡現(xiàn)場離奇詭異沽甥,居然都是意外死亡,警方通過查閱死者的電腦和手機乏奥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門摆舟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人邓了,你說我怎么就攤上這事恨诱。” “怎么了骗炉?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵照宝,是天一觀的道長。 經常有香客問我句葵,道長厕鹃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任乍丈,我火速辦了婚禮剂碴,結果婚禮上,老公的妹妹穿的比我還像新娘轻专。我一直安慰自己忆矛,他們只是感情好,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布请垛。 她就那樣靜靜地躺著催训,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宗收。 梳的紋絲不亂的頭發(fā)上漫拭,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機與錄音混稽,去河邊找鬼嫂侍。 笑死,一個胖子當著我的面吹牛荚坞,可吹牛的內容都是我干的。 我是一名探鬼主播菲盾,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼颓影,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了懒鉴?” 一聲冷哼從身側響起诡挂,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤碎浇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后璃俗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奴璃,經...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年城豁,在試婚紗的時候發(fā)現(xiàn)自己被綠了苟穆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡唱星,死狀恐怖雳旅,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情间聊,我是刑警寧澤攒盈,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站哎榴,受9級特大地震影響型豁,放射性物質發(fā)生泄漏。R本人自食惡果不足惜尚蝌,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一迎变、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧驼壶,春花似錦氏豌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至般妙,卻和暖如春纪铺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背碟渺。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工鲜锚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人苫拍。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓芜繁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親绒极。 傳聞我的和親對象是個殘疾皇子骏令,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內容