我有一个数据集,包含学生在两个科目中的分数以及学生是否被大学录取的结果。我需要对数据执行逻辑回归,并找到最优参数θ来最小化损失并预测测试数据的结果。这里我并不打算构建任何复杂的非线性网络。
数据长这样: 我已经定义了逻辑回归的损失函数,如下所示,它可以正常工作。
数据长这样: 我已经定义了逻辑回归的损失函数,如下所示,它可以正常工作。
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,但在阅读示例后仍无法最小化成本。
我的代码片段:
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