np.power()李沐动手学深度学习

import numpy as np
import math

# 设置最高次数为20的多项式
max_degree = 20

# 训练集和测试集的大小
n_train, n_test = 100, 100

# 初始化真实权重,其中前四项为5, 1.2, -3.4, 5.6
true_w = np.zeros(max_degree)
true_w[0:4] = np.array([5, 1.2, -3.4, 5.6])

# 生成随机特征值
features = np.random.normal(size=(n_train + n_test, 1))
np.random.shuffle(features)

# 生成多项式特征,将特征的每个值都取 max_degree 次方
poly_features = np.power(features, np.arange(max_degree).reshape(1, -1))

# 归一化多项式特征,除以阶乘项(math.gamma)来保证每一项的系数在计算中得到合适的缩放
for i in range(max_degree):
    poly_features[:, i] /= math.gamma(i + 1)

# 生成标签,即将多项式特征与真实权重相乘
labels = np.dot(poly_features, true_w)

# 在标签中添加均值为0、标准差为0.1的正态分布噪声,模拟真实场景中的随机误差
labels += np.random.normal(scale=0.1, size=labels.shape)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值