1. 程式人生 > >感知機:Perceptron Learning Algorithm

感知機:Perceptron Learning Algorithm

PLA

感知機是一個二分類器,輸入為特徵空間,輸出表示所屬類別。
感知機表示的將輸入空間的例項劃分為兩類的超平面。

感知機學習模型

假設輸入空間是XRn,其中特徵向量xX;輸出空間是Y={+1,1},輸出yY。那麼感知機模型可以表示為:

f(x)=sign(wx+b)(1)其中,w,b為感知機的模型引數。感知機模型時一種線性分類器,屬於判別模型。

感知機模型的幾何解釋:線性方程wx+b=0對應於特徵空間Rn中的一個超平面S,其中w是該平面的法向量,b是超平面的截距。這個超平面將該空間分為兩個部分,位於不同部分的例項屬於不同的類別,位於相同部分的例項屬於相同的類別。

感知機學習策略

資料集的線性可分性:如果存在一個超平面,可以將資料集中的例項完美的分開,使得不同型別的例項分屬超平面的兩側,那麼稱該資料集線性可分。

對於線性可分的資料集,感知機模型尋找的這樣的一個超平面可以將資料集完美的分開。而該超平面由引數w,b決定。為了尋找合適的引數,需要指定一個策略,即定義經驗損失函式並將其最小化。

損失函式可以很自然的選擇誤分例項的總個數,但因為不利於優化(不是引數的可導函式),所以並不推薦。因此換為誤分例項到超平面的距離:

d=1||w|||wx+b|=1||w||y|wx+b|,||||L2(2)如果不考慮1||w||,對於給定的訓練資料集:T
={(x1,y1),(x2,y2),,(xm,ym)}
,其中xiX,yY,i=1,2,,m,那麼可以感知機學習的損失函式(經驗風險函式)定義為:
L(w,b)=y^i(wxi+b)I{yiy^i}=yi(wxi+b)I{yiy^i}(3)

感知機學習演算法

感知機學習問題就是在假設空間(模型空間)內尋找合適的模型,模型的選擇策略根據經驗風險的大小。那麼問題就轉化為最小化經驗風險的優化問題。最優化的方法有很多種,可以使用批梯度下降或者隨機梯度下降,此處討論使用隨機梯度下降法(SGD)。該 無約束優化問題可以描述成:

minw,bL(w,b)=i=1myi(
wxi+b)I{yiy^i}(4)

那麼分別對引數w,b求導為:
Lw=i=1mxiyiI{yiy^i}(5)Lb=i=1myiI{yiy^i}
那麼根據批梯度下降優化,可以得到引數的更新公式為:

相關推薦

統計學習方法筆記二---感知(Perceptron Learning Algorithm,PLA)

簡介 感知機(perceptron)是二分類的線性分類模型,其輸入為例項的特徵向量,輸出為例項的類別,取+1和-1二值。感知機對應於輸入空間(特徵空間)中將例項劃分為正負兩類的分離超平面,屬於判別模型,解決的問題是分類問題。 目標/目的:求出將訓練資料進行線

感知:Perceptron Learning Algorithm

PLA 感知機是一個二分類器,輸入為特徵空間,輸出表示所屬類別。 感知機表示的將輸入空間的例項劃分為兩類的超平面。 感知機學習模型 假設輸入空間是X⊆Rn,其中特徵向量x∈X;輸出空間是Y={+1,−1},輸出y∈Y。那麼感知機模型可以表示為

感知演算法(Perceptron Learning Algorithm)和程式碼實現(Python)

PLA演算法是機器學習中最為基礎的演算法,與SVM和Neural Network有著緊密的關係。                            &n

Digression:The perceptron learning algorithm感知學習演算法)

''' Author :Chao Liu Data:2013/12/9 Algorithm: perceptron ''' import numpy import matplotlib.pyplot as plt ''' decision function ''' def h_function(W,x):  

閒談:感知器學習演算法(The perceptron learning algorithm)

這一節我們簡單地介紹歷史上的著名演算法——感知器演算法,這在後面的學習理論中也會有所提及。設想我們改變邏輯迴歸演算法,“迫使”它只能輸出-1或1抑或其他定值。在這種情況下,之前的邏輯函式ggg就會變成閾值函式signsignsign: sign(z)={1if 

機器學習(八)——感知器學習演算法(The perceptron learning algorithm

現在,讓我們簡要地談論一個歷史上曾經令人很感興趣的演算法,當學習到學習理論章節的時候我們將還會提到這個。試想一下修改logistic迴歸的方法,來“迫使”它能夠輸出除了0或1亦或是其它以外的輸出值。為了達到這個目的,自然而然地會想到去改變閾值函式 gg 的定義:接下來,如果我

[機器學習]感知(Perceptron)算法的MATLAB實現

支持 ima 算法 not bsp iteration ptr 判斷 分類 感知機是一種二類分類的線性分類模型,屬於判別類型,它是神經網絡和支持向量機的基礎。 感知機的算法如圖所示: 根據以上的算法,使用MATLAB對一組標簽為“1”和“-1”的數據進行訓練,得到的分類超

PLA演算法的理解(perceptron learning algorithm

最近在學習臺大林軒田教授的課程,一開始就講到了perceptron learning algorithm,這個演算法是用來對線性可分資料進行分類的。要注意這裡是線性可分的資料,這個也是PLA演算法的侷限的地方,如果PLA演算法運用線上性不可分的資料中的時候,演算法將會無限迴圈下去,還有就

神經網路 感知 Perceptron python實現

import numpy as np import matplotlib.pyplot as plt import math def create_data(w1=3,w2=-7,b=4,seed=1,size=30): np.random.seed(seed)

[Python]超簡單版perceptron learning algorithm實作及範例 « Terrence的宅宅幻想

最近復習機器學習的課程 PLA演演算法一直說很簡單,想說做個numpy版本的範例試試看 程式碼如下,可以直接執行 pla.py import matplotlib.pyplot as plt

機器學習模型-感知(perceptron)

Machine Learning  - Perceptron 一.基本原理   二.程式碼實現 import numpy as np import pandas as pd from sklearn import datasets from sklearn.

線性判別--感知演算法(perceptron algorithm

  感知器演算法是一種線性判別演算法,它適用於二分類模型。在這個模型中,輸入向量x\mathbf{x}x首先使用一個固定的非線性變換得到一個特徵向量ϕ(x)\phi(\mathbf{x})ϕ(x),接著用這個特徵向量構造一個線性模型: (1)y(x)=f(wTϕ

機器學習---用python實現感知算法和口袋算法(Machine Learning PLA Pocket Algorithm Application)

title 數組運算 and alt 假設 錯誤 pac 現在 畫出 之前在《機器學習---感知機(Machine Learning Perceptron)》一文中介紹了感知機算法的理論知識,現在讓我們來實踐一下。 有兩個數據文件:data1和data2,分別用於P

matlab 實現感知線性二分類算法(Perceptron

簡單的 learning 取值 fun end 隨機 -1 二維 技術分享 感知機是簡單的線性分類模型 ,是二分類模型。其間用到隨機梯度下降方法進行權值更新。參考他人代碼,用matlab實現總結下。 權值求解過程通過Perceptron.m函數完成 function W

感知Perceptron)實現邏輯AND功能的Python3代碼

tar num print 在一起 最終 for %d __init__ 零基礎 之所以寫這篇隨筆,是因為參考文章(見文尾)中的的代碼是Python2的,放到Python3上無法運行,我花了些時間debug,並記錄了調試經過。 參考文章中的代碼主要有兩處不兼容Pytho

DL之perceptron:利用perceptron感知對股票實現預測

DL之perceptron:利用perceptron感知機對股票實現預測 import numpy as np import operator import os # create a dataset which contains 3 samples with 2 classes def

機器學習筆記 perceptron感知) 在ex4Data資料集上的實現

慣例的ML課堂作業,第四個也是最後一個線性分類模型,感知機。 感知機是一個非常簡單的線性分類模型,簡單來說就是一個神經元,其啟用函式是門限函式,有n個輸入和一個輸出,和神經元結構十分相似。 感知機的損失函式是看作是分類錯的所有樣本的輸出值的和 hw的輸出就是

李航-機器學習-感知perceptron)-原始形式

機器學習-感知機(perceptron) 感知機模型 感知機是一種線性的、二類分類模型,可以將空間劃分為正類和負類,是一種判別模型,輸入為具體的例項,輸出為例項的類別(+1,-1)。有原始形式和對偶形式兩種。感知機是神經網路和支援向量機的基礎。 感知機預測是利

Deep learning with Theano 官方中文教程(翻譯)(三)——多層感知(MLP)

供大家相互交流和學習,本人水平有限,若有各種大小錯誤,還請巨牛大牛小牛微牛們立馬拍磚,這樣才能共同進步!若引用譯文請註明出處http://www.cnblogs.com/charleshuang/。 下面。http://deeplearning.net/tutorial/mlp.html#mlp  的中

6 Steps To Write Any Machine Learning Algorithm From Scratch: Perceptron Case Study

This goes back to what I originally stated. If you don't understand the basics, don't tackle an algorithm from scratch. For the Perceptron, let's go ahead