machine-learning - 与尺寸的点积误差

标签 machine-learning julia

我目前正在和 julia 一起学习 ML,在尝试计算 2 个矩阵的点积时遇到了问题,代码如下:

w, b = zeros(size(train_x, 1), 1), 0
println("Weights size : $(size(w'))")
println("Train X size : $(size(train_x))")
result = dot(w', train_x)

形状是:
* w 形状 : (1, 12288)
* train_x 形状:(12288, 209)

这个调用给了我一个错误:
DimensionMismatch(“点积参数的长度为 12288 和 2568192”)

我错过了什么吗?这个点积使用 numpy 是有效的,所以我有点困惑。

最佳答案

Julia 中的 dot 函数仅适用于严格意义上的点积——向量空间上的内积,即两个向量之间的内积。看起来你只想将向量与矩阵相乘。在这种情况下,您可以使用

w = zeros(size(train_x, 1)) # no need for the extra dimension
result = w' * train_x

* 将进行矩阵向量乘法。在 Julia 中,与 Numpy 不同,但与 Matlab 一样,.* 用于元素乘法。

关于machine-learning - 与尺寸的点积误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50897788/

相关文章:

python - 需要 fit_generator() 的具体示例

numpy - Pytorch 类型错误 : eq() received an invalid combination of arguments

http - 将 Julia `download` 的结果传递给内存而不是文件?

julia - 在 Julia 中执行 OOP、类型和方法的惯用方式

julia - Julia/Plots 中的对数轴外观

machine-learning - 为什么 imagenet 数据集标签存在差异?

machine-learning - 一维数据系列中是否存在超过 1 个簇?

r - 自定义 SHAPforxgboost 图中的标签

julia - 如何在 Flux.jl 中使用 BSON 加载经过训练的模型

Julia 中的字典元素操作