小编A. *_*ris的帖子

无法让 Julia Flux 进行简单的线性回归测试

我是 Julia 用户,刚接触 Flux 和机器学习。作为第一次测试并了解 Flux 的工作原理,我尝试使用 Flux 来估计一个简单的线性回归模型。但显然我做错了什么,因为使用火车训练模型!没有给出预期的 OLS 系数。这让我很惊讶;由于线性回归是一个简单的凸优化问题,我预计梯度下降会快速收敛到最优值。所以我想我对如何训练有一些误解!作品。

这是我的代码:

using Flux
using Flux: @epochs
using GLM

# Load data: The features of the Iris data set
features = Flux.Data.Iris.features();
x = features[1:3,:];
y = features[4,:];

J, N = size(x); # number of explanatory variables, number of observations

model = Chain(Dense(J,1)); # define the model

loss(x,y) = Flux.Losses.mse(model(x),y); # define the loss function

function loss_all(X,y) # and define a full-sample loss function
    l = 0;
    for i in …
Run Code Online (Sandbox Code Playgroud)

julia flux.jl

5
推荐指数
1
解决办法
417
查看次数

Julia:效率和指示参数类型

我有三个关于指定函数参数和输出类型的相关问题。我正在定义一个希望多次调用的函数 f,因此我希望尽可能提高效率。我的函数定义如下所示:

function f(x, y)
    ...
    return z
end
Run Code Online (Sandbox Code Playgroud)

我知道这x将是一个数组{Float64,1},y将是一个数组{Float64,2},z并将是一个 Float64。

我的问题是:

  1. 在函数定义中指定输入类型是否有效率优势,即function f(x::Array{Float64}, y::Array{Float64})
  2. 通过指定x一维和二维来使类型更具体是否有任何额外的好处y,即function f(x::Array{Float64,1}, y::Array{Float64,2})
  3. 是否有效率的好处指定的类型z,即function f(x::Array{Float64,1}, y::Array{Float64,2})::Float64

非常感谢!如果这些问题之前已经得到解决,我们深表歉意。

methods types function julia

4
推荐指数
1
解决办法
60
查看次数

标签 统计

julia ×2

flux.jl ×1

function ×1

methods ×1

types ×1