JuliaML / LossFunctions.jl

Julia package of loss functions for machine learning.
https://juliaml.github.io/LossFunctions.jl/stable
Other
148 stars 34 forks source link

Hausdorff Loss #146

Open Dale-Black opened 2 years ago

Dale-Black commented 2 years ago

I would like to add a simple Hausdorff Loss as proposed in (DOI: 10.1109/TMI.2019.2930068)

It approximates the Hausdorff distance to allow for direct minimization of the HD during training

function hd_loss(ŷ, y, ŷ_dtm, y_dtm)
    M = (ŷ .- y) .^ 2 .* (ŷ_dtm .^ 2 .+ y_dtm .^ 2)
    loss = mean(M)
end

Should I open a PR for this?

Dale-Black commented 2 years ago

It might also be nice to add in a dice loss too even though this is already in Flux?

function dice_loss(ŷ, y)
    ϵ = 1e-5
    loss = 1 - ((2 * sum(ŷ .* y) + ϵ) / (sum(ŷ .* ŷ) + sum(y .* y) + ϵ))
end
juliohm commented 2 years ago

@Dale-Black can you please try to draft a PR following the current interface?

Dale-Black commented 2 years ago

Yes I would love to do that, but it might be 1.5 weeks once finals are over. Is there a way to have GitHub remind me about this in like 2 weeks??

juliohm commented 2 years ago

@Dale-Black I don't know of any feature in GitHub for reminders, but you can always set it in your own personal calendar.

We are cleaning up this repo once more, and it would be nice to have more contributors/maintainers. 👍🏽