共同点
- 感知器和适应机都是用于线性二元分类问题的模型
- 感知器和适应机都需要使用阈值函数,确定分类标准
图中 θ \theta θ为阈值 - 都是逐步学习,优化参数
区别点
- 适应机使用激活函数对输入数据多进行了一次处理,再使用激活函数产生的误差值进行参数优化,感知器则是直接利用分类结果进行参数优化
- 适应机通过使用误差能够对输入数据进行连续优化,并且通过激活函数以及误差来判断偏离的程度来进行参数优化,从而比感知器表现更加优秀
图中quantizer为量化器,负责将连续分布的激活函数通过阈值判断进行二元分类
代码演示
以下代码演示来自Python Machine Learning 3rd,不包括注释部分
感知器
class Perceptron(object):
# Initialize with learning rate, iterations and random seed
def __init__(self, eta=0.1, n_iter=50, random_state=1):
self.eta = eta
self.n_iter = n_iter
self.random_state = random_state
def fit(self, X, Y):
# Set up numpy random state which will infect shuffling data
rgen = np.random.RandomState(self.random_state)
# Build a random guassian distribution drawer, vector
self.w_