-
Notifications
You must be signed in to change notification settings - Fork 96
Expand file tree
/
Copy pathloss_functions.jl
More file actions
21 lines (17 loc) Β· 1.06 KB
/
loss_functions.jl
File metadata and controls
21 lines (17 loc) Β· 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using LinearAlgebra
π(b) = b ? 1 : 0
Ο(z) = 1/(1 + exp(-z))
yΜ(x, π°, Ο, g=π±->π±) = g(π°β
Ο(x))
margin(x, y, π°, Ο, g=π±->π±) = yΜ(x, π°, Ο, g)*y
residual(x, y, π°, Ο, g=π±->π±) = yΜ(x, π°, Ο, g) - y
loss_01(x, y, π°, Ο) = π(margin(x, y, π°, Ο) β€ 0)
loss_absdev(x, y, π°, Ο) = abs(residual(x, y, π°, Ο))
loss_squared(x, y, π°, Ο) = residual(x, y, π°, Ο)^2
loss_hinge(x, y, π°, Ο) = max(1 - margin(x, y, π°, Ο), 0)
loss_logistic(x, y, π°, Ο) = log(1 + exp(-margin(x, y, π°, Ο)))
loss_cross_entropy(x, y, π°, Ο) = -(y*log(yΜ(x, π°, Ο, Ο)) + (1-y)*log(1-yΜ(x, π°, Ο, Ο)))
βloss_absdev(x, y, π°, Ο) = Ο(x)*residual(x, y, π°, Ο) / abs(residual(x, y, π°, Ο))
βloss_squared(x, y, π°, Ο) = 2residual(x, y, π°, Ο)*Ο(x)
βloss_hinge(x, y, π°, Ο) = margin(x, y, π°, Ο) < 1 ? -Ο(x)*y : 0
βloss_logistic(x, y, π°, Ο) = -Ο(x)*y / (exp(margin(x, y, π°, Ο)) + 1)
βloss_cross_entropy(x, y, π°, Ο) = Ο(x) .β
residual(x, y, π°, Ο, Ο)'