看了下統計學習方法p36 的3個習題,試著做了下,下面給出自己的解答: 有不對的地方歡迎提出:)
q 2.1 感知機是線性模型,因此不能表示複雜的函式。請解釋感知機為什麼不能學習異或xor函式?
下面這個**釋的很清楚:
訓練集線性不可分,當然不能用感知機表示出xor函式。
q 2.2 模仿書中2.1例,構建從訓練資料集合求解感知機的例子
a 2.2 可以構建乙個3維的特徵空間,取在i卦限的任意兩點為正例,取其在第vii卦限一點為負例,比如可以這麼取:
正例:(1,1,1) (2,5,7)
負例: (-2,-1,-1)
使用感知機原始形式求解:
import os
import sys
import random
#this algorithm learns a perceptron model from trainingdataset
#note: the trainset is linearly seperable, and different choicesof initial parameters or false-classified points
#may lead to different perceptron model, which is reasonableunder this framework.
#date:2013-7-4, by zhl
if __name__ == "__main__":
trainset =[(1,1,1,1),(2,5,7,1),(-2,-1,-1,-1)]
#initialize
w1 = w2 = w3 = b = 0
id = 0
# we set learning rate = 1
while true:
id += 1
flag = false
for choice in range(3):
if trainset[choice][3] * (w1 * trainset[choice][0] + w2 * trainset[choice][1] + w3 * trainset[choice][2] + b)<= 0:
flag = true
break
if flag == false:
break
#randomlyselect a point from trainset
choice = random.randint(0,2)
#judge whether it's false-classified
if trainset[choice][3] * (w1 *trainset[choice][0] + w2 * trainset[choice][1] + w3 * trainset[choice][2] + b) <= 0:
w1 = w1 + trainset[choice][3] * trainset[choice][0]
w2 = w2 + trainset[choice][3] * trainset[choice][1]
w3 = w3 + trainset[choice][3] * trainset[choice][2]
b = b + trainset[choice][3]
#print out current values
print 'round ',id,':','flase-classified point:',choice + 1,',w1:',w1,',w2:',w2,',w3:',w3,',b:',b,'\n'
print 'theperceptron model learned is sign(%d x1 + %d x2 + %d x3 + %d)\n' % (w1,w2,w3,b)
round 1 : flase-classified point: 3 ,w1: 2 ,w2: 1 ,w3: 1 ,b: -1
theperceptron model learned is sign(2 x1 + 1 x2 + 1 x3 + -1)
q 2.3 一道證明題,暫略~ 週末有空了做下~
-----------------------------------proof of divergence theorem 2.1----------------------------------
好長時間不寫字了,這筆跡真是不忍直視啊....
感知機模型
這裡介紹機器學習中最簡單的一種分類方法 感知機模型。感知機模型 其中sign是符號函式,w和b是引數,x是輸入特徵向量,f x 返回決策結果。分離超平面s 對於二類線性可分問題,分離超平面將兩類樣本分在s兩側。空間中一點x0到s的距離 損失函式 定義損失函式的意義是所有誤分類的點到分離超平面的距離之...
多層感知機
1 單輸出多層感知機 單輸出多層感知機 圖中各變數滿足公式 假如現在有乙個樣本 x 1,x2 t 用該樣本訓練網路時,網路優化的目標為lossfun最小。lossfun是乙個關於變數w和v多元函式。網路的訓練又變成多元函式求極值的問題。求v1的梯度 同理可得v i的梯度 求w11的梯度 同理,可得w...
感知機演算法
1 目標 感知機演算法針對二分類問題 f x x 1 實質在於對於線性可分的資料集 x i0,x i1,x in y i xi y i i 0,1 2,m 2 找到乙個超平面 x b 0 將資料分成兩部分,使得位於位於超平面上半部分的資料點屬於 1 類,處於超平面下半空間的資料點屬於 1 類。2 優...