深度学习入门笔记(四)

实现我在深度学习入门笔记(三)中的线性单元示例

https://blog.youkuaiyun.com/harden1013/article/details/119780800?spm=1001.2014.3001.5501

eg.假定我们需要评定一个学生的推优评分(y),影响该学生推优的特征向量{x_i}包括(绩点,学生工作,科研成绩,实践表现),而每个特征参与评定的比重不同即为参数{k_i},评定还有着基础分b,我们通过样本训练得到{k_i},再来预测新的学生能获得怎样的评分。

首先是感知器,由于依然是一个线性问题,感知器可以使用我在深度学习入门笔记(二)中的感知器类

https://blog.youkuaiyun.com/harden1013/article/details/119778079?spm=1001.2014.3001.5501

激活函数如下:

def f(x):
    return x

构建训练集,【绩点,学生工作,科研成绩,实践表现】包含最后的得分均为5分制:

def get_training_dataset():
    input_vecs = [[4.5,4.7,4.6,4.8],[4.5,4.0,4.6,4.7],[4.5,4.7,4.3,4.2],[4.7,4.6,4.5,4.3],[4.9,4.0,4.0,4.1],[4.1,4.9,4.8,4.9]]
    labels = [4.57,4.49,4.45,4.61,4.55,4.40]
    return input_vecs, labels

训练感知器:

def train_linear_unit():
    p = perceptron(4, f)
    input_vecs, labels = get_training_dataset()
    p.train(input_vecs, labels, 10000, 0.01)
    return p

主函数:

if __name__ == '__main__':
    linear_unit = train_linear_unit()
    print(linear_unit)
    print('[绩点,学生工作,科研成绩,实践表现] = [4.5,4.7,4.6,4.8] 最终得分为:%.2f' % linear_unit.predict([4.5,4.7,4.6,4.8]))
    print('[绩点,学生工作,科研成绩,实践表现] = [4.5,4.0,4.6,4.7] 最终得分为:%.2f' % linear_unit.predict([4.5,4.0,4.6,4.7]))
    print('[绩点,学生工作,科研成绩,实践表现] = [4.5,4.7,4.3,4.2] 最终得分为:%.2f' % linear_unit.predict([4.5,4.7,4.3,4.2]))
    print('[绩点,学生工作,科研成绩,实践表现] = [5.0,5.0,5.0,5.0] 最终得分为:%.2f' % linear_unit.predict([5.0,5.0,5.0,5.0]))

计算结果如下:

weights :[0.592273500292354,0.09907395106529637,0.196892896023883,0.09729332034785503]
bias :0.064500

[绩点,学生工作,科研成绩,实践表现] = [4.5,4.7,4.6,4.8] 最终得分为:4.57
[绩点,学生工作,科研成绩,实践表现] = [4.5,4.0,4.6,4.7] 最终得分为:4.49
[绩点,学生工作,科研成绩,实践表现] = [4.5,4.7,4.3,4.2] 最终得分为:4.45
[绩点,学生工作,科研成绩,实践表现] = [5.0,5.0,5.0,5.0] 最终得分为:4.99

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值