lazyppl-1.0: Lazy Probabilistic Programming Library
Safe HaskellSafe-Inferred
LanguageHaskell2010

LazyPPL.Distributions.IBP

Description

An implementation of the Indian buffet process by Griffiths and Ghahramani.

We are using abstract types to hide the implementation details, inspired by Exchangeable Random Processes and Data Abstraction.

Illustration: Feature extraction example.

Documentation

newtype Restaurant Source #

Constructors

R ([[Bool]], Counter) 

newtype Dish Source #

Constructors

D Int 

Instances

Instances details
Show Dish Source # 
Instance details

Defined in LazyPPL.Distributions.IBP

Methods

showsPrec :: Int -> Dish -> ShowS #

show :: Dish -> String #

showList :: [Dish] -> ShowS #

Eq Dish Source # 
Instance details

Defined in LazyPPL.Distributions.IBP

Methods

(==) :: Dish -> Dish -> Bool #

(/=) :: Dish -> Dish -> Bool #

Ord Dish Source # 
Instance details

Defined in LazyPPL.Distributions.IBP

Methods

compare :: Dish -> Dish -> Ordering #

(<) :: Dish -> Dish -> Bool #

(<=) :: Dish -> Dish -> Bool #

(>) :: Dish -> Dish -> Bool #

(>=) :: Dish -> Dish -> Bool #

max :: Dish -> Dish -> Dish #

min :: Dish -> Dish -> Dish #

MonadMemo Prob Dish Source # 
Instance details

Defined in LazyPPL.Distributions.IBP

Methods

memoize :: (Dish -> Prob b) -> Prob (Dish -> b) Source #

matrix :: Double -> Int -> [Int] -> Prob [[Bool]] Source #

data RestaurantS Source #

Constructors

RS [Double] 

data DishS Source #

Constructors

DS Int 

Instances

Instances details
Show DishS Source # 
Instance details

Defined in LazyPPL.Distributions.IBP

Methods

showsPrec :: Int -> DishS -> ShowS #

show :: DishS -> String #

showList :: [DishS] -> ShowS #

Eq DishS Source # 
Instance details

Defined in LazyPPL.Distributions.IBP

Methods

(==) :: DishS -> DishS -> Bool #

(/=) :: DishS -> DishS -> Bool #

Ord DishS Source # 
Instance details

Defined in LazyPPL.Distributions.IBP

Methods

compare :: DishS -> DishS -> Ordering #

(<) :: DishS -> DishS -> Bool #

(<=) :: DishS -> DishS -> Bool #

(>) :: DishS -> DishS -> Bool #

(>=) :: DishS -> DishS -> Bool #

max :: DishS -> DishS -> DishS #

min :: DishS -> DishS -> DishS #