python - 如何动态更改梯度下降的输入特征
问题描述
我正在尝试使用不同的输入特征实现梯度下降,但我想动态地执行它,但没有发生。
假设当我在 2 中的输入特征时,我的数据集看起来像这样。
x0 x1 x2 Y
1 2 3 4
1 5 6 7
1 8 9 10
然后我执行我的梯度下降
def gradientDescent(x, y, theta, alpha, m, numIterations):
xTrans = x.T
for i in range(0, numIterations):
hypothesis = np.dot(x, theta)
loss = hypothesis - y
cost = np.sum(loss ** 2) / (2 * m)
print("Iteration %d | Cost: %f" % (i, cost))
# avg gradient per example
gradient = np.dot(xTrans, loss) / m
# update
theta = theta - alpha * gradient
return theta
其中 theta 是权重,alpha 是学习率,m = 当时数据集的长度,numIteration 基本上是梯度下降将运行的次数。
一旦梯度下降完成,输入特征的我的形状就会改变
X0 X1 X2 X3 Y
1 2 3 4 5
1 6 7 8 9
1 10 11 12 13
然后它会再次使用上面的函数计算梯度下降,它应该迭代地绘制关于 numIterations 和成本的图
我被困在创建一个动态结构中,它应该动态地获取特征数量并计算梯度下降
手动我能够做到,但是当它超过 6 或 7 个功能时,最多运行它变得非常困难。
解决方案
推荐阅读
- reactjs - 无法在 Typescript 中映射数组
- c# - 为什么在 c# 的同一个命名空间中不能存在两个不同指定的泛型?
- firebase - Firebase Function 多类型批处理
- javascript - 水平滚动器,将功能从像素更改为百分比
- css - 顺风居中文本(垂直/水平)
- amazon-web-services - 如何使用 Terraform 将 docker swarm manager 令牌传递给 AWS 中的工作节点
- java - 如何使 JButton 从一个 GUI 转到另一个?
- python - 如何使图像 2D 和 RGB
- c++ - 带有 256 位键的 std::unordered_map
- sql - SQL PIVOT 无法识别表