You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
quick sketch of a possible implementation of the proposed W_in
functionstructured_input(rng::AbstractRNG, ::Type{T}, dims::Integer...; scaling=T(0.1)) where {T <:Number}
res_size, input_dim = dims
n_f =2^input_dim -2if res_size % n_f !=0error("res_size must be divisible by 2^input_dim - 2 (got res_size=$res_size, input_dim=$input_dim)")
end
b =div(res_size, n_f) # block size
base_weights =range(one(T), stop=zero(T), length=b)
w =sqrt.(collect(base_weights))
features =Vector{Vector{T}}()
for k in1:(input_dim -1)
for subset in Iterators.combinations(1:input_dim, k)
row =zeros(T, input_dim)
for idx in subset
row[idx] =one(T)
endpush!(features, row)
endend
A =vcat([reshape(f, 1, :) for f in features]...)
blocks = [w *reshape(A[i, :], 1, :) for i in1:size(A, 1)]
W_in =vcat(blocks...)
W_in .*= scaling
return W_in
end
What kind of problems is it mostly used for?
Short time series modeling, showing improved results over NGRC (see #108)
Other implementations to know about
No open implementations available at the moment
References
Paper
The text was updated successfully, but these errors were encountered: