零基础入门深度学习(1) - 感知器

匿名 (未验证) 提交于 2019-12-02 23:57:01

线性模型的公式:

在《零基础入门深度学习(1) - 感知器》基础上提供示例程序:

from perceptron import Perceptron #定义激活函数f f = lambda x: x class LinearUnit(Perceptron):     def __init__(self, input_num):         '''初始化线性单元,设置输入参数的个数'''         Perceptron.__init__(self, input_num, f)

继续:

def get_training_dataset():     '''     捏造5个人的收入数据     '''     # 构建训练数据     # 输入向量列表,每一项是工作年限     input_vecs = [[5], [3], [8], [1.4], [10.1]]     # 期望的输出列表,月薪,注意要与输入一一对应     labels = [5500, 2300, 7600, 1800, 11400]     return input_vecs, labels     def train_linear_unit():     '''     使用数据训练线性单元     '''     # 创建感知器,输入参数的特征数为1(工作年限)     lu = LinearUnit(1)     # 训练,迭代10轮, 学习速率为0.01     input_vecs, labels = get_training_dataset()     lu.train(input_vecs, labels, 10, 0.01)     #返回训练好的线性单元     return lu if __name__ == '__main__':      '''训练线性单元'''     linear_unit = train_linear_unit()     # 打印训练获得的权重     print linear_unit     # 测试     print 'Work 3.4 years, monthly salary = %.2f' % linear_unit.predict([3.4])     print 'Work 15 years, monthly salary = %.2f' % linear_unit.predict([15])     print 'Work 1.5 years, monthly salary = %.2f' % linear_unit.predict([1.5])     print 'Work 6.3 years, monthly salary = %.2f' % linear_unit.predict([6.3])

程序运行结果如下:

拟合的直线如下:

参考:

https://www.zybuluo.com/hanbingtao/note/448086

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!