當前位置:首頁 > 智能硬件 > 人工智能AI
[導讀] 感知器PLA是一種最簡單,最基本的線性分類算法(二分類)。其前提是數(shù)據(jù)本身是線性可分的。 模型可以定義為,sign函數(shù)是階躍函數(shù),閾值決定取0或1。模型選擇的策略,利用經(jīng)驗損失函數(shù)衡量算

感知器PLA是一種最簡單,最基本的線性分類算法(二分類)。其前提是數(shù)據(jù)本身是線性可分的。

模型可以定義為,sign函數(shù)是階躍函數(shù),閾值決定取0或1。模型選擇的策略,利用經(jīng)驗損失函數(shù)衡量算法性能,由于該算法最后得到一個分離超平面,所以損失函數(shù)可以定義為,由于對于誤分類點,yi和wx+b的正負屬性相反,所以,所以加一個符號,來表征樣例點與超平面的距離。

算法選擇,最終的目標是求損失函數(shù)的最小值,利用機器學習中最常用的梯度下降GD或者隨機梯度下降SGD來求解。

SGD算法的流程如下:輸入訓練集和學習率

1、初始化w0,b0,確定初始化超平面,并確定各樣例點是否正確分類(利用yi和wx+b的正負性關(guān)系);

2、隨機在誤分類點中選擇一個樣例點,計算L關(guān)于w和b在該點處的梯度值;

3、更新w,b,按照如下方向;

4、迭代運行,直到滿足停止條件(限定迭代次數(shù)或者定義可接受誤差最大值);

如上所述,初值的選擇,誤分類點的選擇順序都影響算法的性能和運行時間。PLA是一個很基本的算法,應(yīng)用場景很受限,只是作為一個引子來了解機器學習,后面有很多高級的算法,比如SVM和MLP,以及大熱的deep learning,都是感知器的擴展。

對于PLA,還有一個對偶問題,此處,簡單介紹一下對偶問題相關(guān)的知識。

對偶問題:

每一個線性規(guī)劃問題,我們稱之為原始問題,都有一個與之對應(yīng)的線性規(guī)劃問題我們稱之為對偶問題。原始問題與對偶問題的解是對應(yīng)的,得出一個問題的解,另一個問題的解也就得到了。并且原始問題與對偶問題在形式上存在很簡單的對應(yīng)關(guān)系:目標函數(shù)對原始問題是極大化,對對偶問題則是極小化。

原始問題目標函數(shù)中的收益系數(shù)(優(yōu)化函數(shù)中變量前面的系數(shù))是對偶問題約束不等式中的右端常數(shù),而原始問題約束不等式中的右端常數(shù)則是對偶問題中目標函數(shù)的收益系數(shù);原始問題和對偶問題的約束不等式的符號方向相反;原始問題約束不等式系數(shù)矩陣轉(zhuǎn)置后即為對偶問題的約束不等式的系數(shù)矩陣;原始問題的約束方程數(shù)對應(yīng)于對偶問題的變量數(shù),而原始問題的變量數(shù)對應(yīng)于對偶問題的約束方程數(shù);對偶問題的對偶問題是原始問題。

總之他們存在著簡單的矩陣轉(zhuǎn)置,系數(shù)變換的關(guān)系。當問題通過對偶變換后經(jīng)常會呈現(xiàn)許多便利,如約束條件變少、優(yōu)化變量變少,使得問題的求解證明更加方便計算可能更加方便。

對偶問題中,此處將w和b看成是x和y的函數(shù),w和b可表示為,ni表示更新次數(shù),模型,算法流程如下:輸入訓練集,學習率

1、;

2、隨機選取誤分類點對,并更新計算,具體更新,依據(jù)上面的表達式;

3、直至沒有誤分類點,停止計算,返回相應(yīng)的參數(shù);

原始問題和對偶問題都是嚴格可收斂的,在線性可分的條件下,一定可以停止算法運行,會達到結(jié)果,存在多個解。

如果線性不可分,可以利用口袋算法,每次迭代更新錯誤最小的權(quán)值,且規(guī)定迭代次數(shù)。口袋算法基于貪心的思想。他總是讓遇到的最好的線拿在自己的手上。 就是我首先手里有一條分割線wt,發(fā)現(xiàn)他在數(shù)據(jù)點(xn,yn)上面犯了錯誤,那我們就糾正這個分割線得到wt+1,我們?nèi)缓笞寃t與wt+1遍歷所有的數(shù)據(jù),看哪條線犯的錯誤少。

如果wt+1犯的錯誤少,那么就讓wt+1替代wt,否則wt不變。 那怎樣讓算法停下來呢??——–我們就 自己規(guī)定迭代的次數(shù) 由于口袋算法得到的線越來越好(PLA就不一定了,PLA是最終結(jié)果最好,其他情況就說不準了),所以我們就 自己規(guī)定迭代的次數(shù) 。

感知機python實現(xiàn)代碼

#coding = utf-8

import numpy as np

import matplotlib.pyplot as plt

class showPicture:

def __init__(self,data,w,b):

self.b = b

self.w = w

plt.figure(1)

plt.title(‘Plot 1’, size=14)

plt.xlabel(‘x-axis’, size=14)

plt.ylabel(‘y-axis’, size=14)

xData = np.linspace(0, 5, 100)

yData = self.expression(xData)

plt.plot(xData, yData, color=‘r’, label=‘y1 data’)

plt.scatter(data[0][0],data[0][1],s=50)

plt.scatter(data[1][0],data[1][1],s=50)

plt.scatter(data[2][0],data[2][1],marker=‘x’,s=50,)

plt.savefig(‘2d.png’,dpi=75)

def expression(self,x):

y = (-self.b - self.w[0]*x)/self.w[1]

return y

def show(self):

plt.show()

class perceptron:

def __init__(self,x,y,a=1):

self.x = x

self.y = y

self.w = np.zeros((x.shape[1],1))

self.b = 0

self.a = 1

def sign(self,w,b,x):

result = 0

y = np.dot(x,w)+b

return int(y)

def train(self):

flag = True

length = len(self.x)

while flag:

count = 0

for i in range(length):

tmpY = self.sign(self.w,self.b,self.x[i,:])

if tmpY*self.y[i]0:

tmp = self.y[i]*self.a*self.x[i,:]

tmp = tmp.reshape(self.w.shape)

self.w = tmp +self.w

self.b = self.b + self.y[i]

count +=1

if count == 0:

flag = False

return self.w,self.b

#原始數(shù)據(jù)

data = [[3,3],[4,3],[1,1]]

xArray = np.array([3,3,4,3,1,1])

xArray = xArray.reshape((3,2))

yArray = np.array([1,1,-1])

#感知機計算權(quán)值

myPerceptron = perceptron(x=xArray,y=yArray)

weight,bias = myPerceptron.train()

#畫圖

picture = showPicture(data,w=weight,b=bias)

picture.show()

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉