【发布时间】:2018-03-06 15:59:15
【问题描述】:
我有一个数据集,其中包含 2 个科目的学生分数以及该学生是否被大学录取的结果。我需要对数据执行逻辑回归并找到最佳参数 θ 以最小化损失并预测测试数据的结果。我不是想在这里建立任何复杂的非线性网络。
我为这样的逻辑回归定义了损失函数,效果很好
predict(X) = sigmoid(X*θ)
loss(X,y) = (1 / length(y)) * sum(-y .* log.(predict(X)) .- (1 - y) .* log.(1 - predict(X)))
我需要最小化这个损失函数并找到最佳 θ。我想用 Flux.jl 或任何其他使它更容易的库来做。 阅读示例后,我尝试使用 Flux.jl,但无法将成本降至最低。
我的代码sn-p:
function update!(ps, η = .1)
for w in ps
w.data .-= w.grad .* η
print(w.data)
w.grad .= 0
end
end
for i = 1:400
back!(L)
update!((θ, b))
@show L
end
【问题讨论】:
-
如果您提供一个简单的可重现示例,那么人们将能够更轻松地为您提供帮助。
-
@niczky12 我举的例子还不够简单吗?无论如何,我已经添加了其余代码以供参考。
标签: machine-learning julia logistic-regression flux-machine-learning