CDA网校:数据科学、人工智能从业者的在线大学。
数据科学(Python/R/Julia)数据分析、机器学习、深度学习
人工智能的第一次高潮始于上世纪50年代。在算法方面,感知器数学模型被提出用于模拟人的神经元反应过程,并能够使用梯度下降法从训练样本中自动学习,完成分类任务。
感知器
感知器算法在上个世纪50-70年代很流行,也成功解决了很多问题。并且,感知器算法也是非常简单的。
感知器的定义
感知器示意图:
python实现感知器
环境
Ubuntu16.04 LTS
python 3.x
numpy
代码实现
perception.py
测试
- def f(x):
- '''
- 定义激活函数f
- '''
- return 1 if x > 0 else 0
-
- def get_training_dataset():
- # 构建训练数据
-
- # 输入向量列表
- input_vecs = [[[1,1,1], [1,1,1]], [[0,0,0],[0,0,0]], [[1,1,1],[0,0,0]], [[0,0,0],[1,1,1]]]
- # 对应的标签为
- labels = [1, 0, 0, 0]
-
- return input_vecs, labels
-
- def train_perceptron():
- '''
- 训练感知器
- '''
- # 创建感知器,输入参数个数为2,维度为3,激活函数为f
- p = Perceptron(2, 3, f)
-
- # 训练,迭代100轮, 学习率为0.05
- input_vecs, labels = get_training_dataset()
- p.train(input_vecs, labels, 100, 0.05)
-
- # 打印训练获得的权重
- p.print_weights()
-
- return p
-
-
- if __name__ == '__main__':
- # 训练感知器
- perception = train_perceptron()
-
- # 测试
- res = perception.predict([[1,0,0], [1,1,1]])
- print(‘classification:’, res)
运行结果
关注“AIU人工智能”公众号,回复“白皮书”获取数据分析、大数据、人工智能行业白皮书及更多精选学习资料!