试根据训练集:
D = ( ( 1 , 2 ) T , 1 ) , ( ( 3 , 3 ) T , 1 ) , ( ( 2 , 1 ) T , − 1 ) , ( ( 5 , 2 ) T , − 1 ) D={((1,2)^T,1),((3,3)^T,1),((2,1)^T,-1),((5,2)^T,-1)} D=((1,2)T,1),((3,3)T,1),((2,1)T,−1),((5,2)T,−1)构造一个感知机模型,学习率α=1。
【解】已知感知机模型的具体形式为: f ( X ) = s g n ( W T X ) f(X)=sgn(W^T X) f(X)=sgn(WTX)
KaTeX parse error: Unknown column alignment: * at position 48: … \begin{array}{*̲*lr**} …
其中 ∗ ∗ W ∗ ∗ = ( b , w 1 , w 2 ) T , X = ( 1 , x 1 , x 2 ) T **W**=(b,w_1,w_2 )^T,X=(1,x_1,x_2 )^T ∗∗W∗∗=(b,w1,w2)T,X=(1,x1,x2)T。使用数据集D构造感知机模型的具体步骤如下:
(1)初始化参数向量 W = ( 0 , 0 , 0 ) T W=(0,0,0)^T W=(0,0,0)T
(2)随机选择一个样本 ( ( 2 , 1 ) T , − 1 ) ((2,1)^T,-1) ((2,1)T,−1)输入初始模型,求得 f ( X = ( 2 , 1 ) T ) = s g n ( 0 ) = 1 ≠ − 1 f(X=(2,1)^T )=sgn(0)=1≠-1 f(X=(2,1)T)=sgn(0)=1=−1,该样本未被感知机模型正确分类,使用如下公式更新模型参数:
w i = w i + α y i x i , b = b + α y i w_i=w_i+αy_i x_i, b=b+αy_i wi=wi+αyixi,b=b+αyi
计算得到新的参数向量 ∗ ∗ W = ∗ ∗ ( − 1 , − 2 , − 1 ) T **W=**(-1 ,-2,-1)^T ∗∗W=∗∗(−1,−2,−1)T,获得的感知机模型为:
f ( X ) = s g n ( − 2 x 1 − x 2 − 1 ) f(X)=sgn(-2x_1-x_2-1) f(X)=sgn(−2x1−x2−1)
将数据集D中样本均输入更新后的感知机模型中,若存在样本被错误分类,则根据步骤(2)中公式进行参数更新,直至D中所有样本均分类正确时结束算法并输出模型。
中所有样本均分类正确时结束算法并输出模型。