| Copyright | (c) Lars Brünjes, 2016 |
|---|---|
| License | MIT |
| Maintainer | brunjlar@gmail.com |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
| Extensions |
|
Numeric.Neural.Normalization
Description
This modules provides utilities for data normalization.
- encode1ofN :: (Enum a, Num b, KnownNat n) => a -> Vector n b
- decode1ofN :: (Enum a, Num b, Ord b, Foldable f) => f b -> a
- encodeEquiDist :: forall a b n. (Enum a, Floating b, KnownNat n) => a -> Vector n b
- decodeEquiDist :: forall a b n. (Enum a, Ord b, Floating b, KnownNat n) => Vector n b -> a
- crossEntropyError :: (Enum a, Floating b, KnownNat n) => a -> Vector n b -> b
Documentation
encode1ofN :: (Enum a, Num b, KnownNat n) => a -> Vector n b Source
Provides "1 of n" encoding for enumerable types.
>>>:set -XDataKinds>>>encode1ofN LT :: Vector 3 Int[1,0,0]
>>>encode1ofN EQ :: Vector 3 Int[0,1,0]
>>>encode1ofN GT :: Vector 3 Int[0,0,1]
decode1ofN :: (Enum a, Num b, Ord b, Foldable f) => f b -> a Source
Provides "1 of n" decoding for enumerable types.
>>>decode1ofN [0.9, 0.3, 0.1 :: Double] :: OrderingLT
>>>decode1ofN [0.7, 0.8, 0.6 :: Double] :: OrderingEQ
>>>decode1ofN [0.2, 0.3, 0.8 :: Double] :: OrderingGT
encodeEquiDist :: forall a b n. (Enum a, Floating b, KnownNat n) => a -> Vector n b Source
Provides equidistant encoding for enumerable types.
>>>:set -XDataKinds>>>encodeEquiDist LT :: Vector 2 Float[1.0,0.0]
>>>encodeEquiDist EQ :: Vector 2 Float[-0.5,-0.86602545]
>>>encodeEquiDist GT :: Vector 2 Float[-0.5,0.86602545]
decodeEquiDist :: forall a b n. (Enum a, Ord b, Floating b, KnownNat n) => Vector n b -> a Source
Provides equidistant decoding for enumerable types.
>>>:set -XDataKinds>>>let u = fromJust (fromList [0.9, 0.2]) :: Vector 2 Double>>>decodeEquiDist u :: OrderingLT
>>>:set -XDataKinds>>>let v = fromJust (fromList [-0.4, -0.5]) :: Vector 2 Double>>>decodeEquiDist v :: OrderingEQ
>>>:set -XDataKinds>>>let w = fromJust (fromList [0.1, 0.8]) :: Vector 2 Double>>>decodeEquiDist w :: OrderingGT
crossEntropyError :: (Enum a, Floating b, KnownNat n) => a -> Vector n b -> b Source
Computes the cross entropy error (assuming "1 of n" encoding).
>>>crossEntropyError LT (cons 0.8 (cons 0.1 (cons 0.1 nil))) :: Float0.22314353
>>>crossEntropyError EQ (cons 0.8 (cons 0.1 (cons 0.1 nil))) :: Float2.3025851