用于机器学习的张量网络,mnist 分类

问题描述 投票:0回答:1

我正在处理用于机器学习任务的张量网络。为了明确对手写数字的 MNIST 数据集进行分类,每个图像由 N = 28 × 28 = 784 个像素组成。

但是方法论和实现对我来说不是那么清楚。所以如果我的策略不适合解决此类问题,我需要你的帮助来纠正我的策略。

  1. 使用映射函数将像素 p=(p1,p2,...pN) 向量映射到 2⁷⁸⁴ 维空间,在我的例子中,我将使用这个函数 f(pi)=(pi, 1-pi)。 2.将此高维数组转换为MPS。为了得到MPS,我们可以使用SVD(奇异值分解),我们称之为“T”。
  2. 第八个张量的随机初始化,其形式与 T 相同。我们称之为 W。
  3. 我们将用于回归或分类的模型函数由权重张量 W 和特征张量 T 的收缩给出,以返回一个标量,指示给定的输入是否属于某个类
  4. 定义损失函数并优化权重以最小化这种损失。

我仍然对收缩是如何工作的以及如何从头开始在Python中实现它感到困惑(我不想使用内置函数进行收缩)。

在进一步的步骤中,我们需要向权重张量 W 添加大小为 l(标签数量)的维度。 在前面的步骤中导致标量的收缩。这里它变成一个向量,其条目在 0 到 1 之间,最高条目对应于标签。我不太明白这一点,也不知道向张量添加维度意味着什么以及如何实现它。

tensorflow machine-learning classification tensor mnist
1个回答
0
投票

您可以通过

tensor.unsqueeze(1)
向张量添加维度 有关 Mnist 分类任务的详细信息和最佳理解 你可以检查这个链接 https://www.kaggle.com/code/justuser/mnist-with-pytorch-complete-connected-network 我希望这对你有帮助

© www.soinside.com 2019 - 2024. All rights reserved.