**感知器算法:
线性判别函数 或者说广义的线性判别曲面 进行二分类或者多分类的代码实现
以及使用iris_data 的感知机测试代码
不断地迭代赏罚 为后面的梯度下降方式做铺垫**
-
github:https://github.com/cuixuage/Machine_Learning
参考资料 https://ljalphabeta.gitbooks.io/python-/content/ch2section3.html
-
1.模型二分类问题 得到一个判别函数
例如: W1 W2 分别为二类模式
用感知器算法求下列模式分类的解向量w:
ω1: {(0 0 0)T, (1 0 0)T, (1 0 1)T, (1 1 0)T}
ω2: {(0 0 1)T, (0 1 1)T, (0 1 0)T, (1 1 1)T}
编写求解上述问题的感知器算法程序
#coding:utf-8
二分类问题 假设线性可分
用感知器算法求下列模式分类的解向量w:
ω1: {(0 0 0)T, (1 0 0)T, (1 0 1)T, (1 1 0)T}
ω2: {(0 0 1)T, (0 1 1)T, (0 1 0)T, (1 1 1)T}
编写求解上述问题的感知器算法程序
import numpy as np
x1 = np.mat([0,0,0,1])
x2 = np.mat([1,0,0,1])
x3 = np.mat([1,0,1,1])
x4 = np.mat([1,1,0,1])
#w2区域的全部乘以 -1 作为分类的区分
x5 = np.mat([0,0,-1,-1])
x6 = np.mat([0,-1,-1,-1])
x7 = np.mat([0,-1,0,-1])
x8 = np.mat([-1,-1,-1,-1])
x = [x1.T,x2.T,x3.T,x4