提问人:meatball2000 提问时间:11/16/2023 更新时间:11/16/2023 访问量:14
从 SPD 矩阵预测列向量
Predicting column vector from SPD matrices
问:
我正在尝试预测患者的通量,这是一个 [24x29] 矩阵。我有这个包含 1802 名患者通量的数据集,然后我将它们全部转换为大小为 [24x24] 的对称正定 (SPD) 矩阵。然后,我可以使用 geomstats Python 包来查找测地线路径和患者通量之间的距离。因此,我能够找到所有患者之间的测地线距离。例如,我取了 2 个患者,它们是 SPD 矩阵,并采用逐步线性近似方法,例如。10 个步骤,我能够在所采取的每个步骤中找到相应的 SPD 矩阵。
我的任务是能够预测每个步骤中的 [24x29] 矩阵。
所以,回顾一下,我有 1802 [24x29] 矩阵,它们映射到 1802 [24x24] SPD 矩阵。假设我选择任何 2 个 SPD 矩阵并采取逐步方法走向另一个矩阵,我想将每一步中的 SPD 追溯到 [24x29] 矩阵。
我对预测建模很陌生。
print(rows)
rows=np.array(rows)
print(b)
b=np.array(b)
print(slay)
slay=np.array(slay)
import numpy as np
import tensorflow as tf
from tensorflow.keras import layers, models
num_samples = 1000
input_dim = 24
column_vectors = rows
spd_matrices = b
# Generate dataset
X = b
Y = rows
# Define a simple neural network model
model = models.Sequential(\[
layers.Dense(64, activation='relu', input_shape=(1802,)),
layers.Dense(1802, activation='linear'),
\])
# Compile the model
model.compile(optimizer='adam', loss='mean_squared_error')
# Train the model
model.fit(X, Y, epochs=50, batch_size=32, validation_split=0.2)
# Evaluate the model
loss = model.evaluate(X, Y)
print(f"Final Loss: {loss}")
# Test the model
test_matrices = slay
predicted_vectors = model.predict(test_matrices)
# Verify the result
for i in range(10):
print(f"Original Vector:\\n{column_vectors\[i\]}")
print(f"Reconstructed Vector:\\n{predicted_vectors\[i\]}\\n")
答: 暂无答案
评论