Learning.Algorithm.density
This page has the declaration's own card below, then its dependency graph, then a card for each dependency (type dependencies first, then the rest of the transitive closure). For a theorem, the graph and the dependency cards only follow its statement's dependencies (its proof is replaced by sorry, so what it proves doesn't depend on how); for everything else, both the type and the body/value are followed, since their content is part of what later declarations build on.
densityπ
Learning.Algorithm.density
If the algorithm alg is absolutely continuous with respect to the algorithm algβ and they
are both interacting with the same environment, then the law of the history at time n under alg
is the law of the history at time n under algβ with density alg.density algβ n.
Learning.Algorithm.density.{u_1, u_2} {π : Type u_1} {π¨ : Type u_2} [MeasurableSpace π] [MeasurableSpace π¨] [MeasurableSpace.CountablyGenerated π] (alg algβ : Algorithm π π¨) (n : β) : (β₯(Finset.Iic n) β π Γ π¨) β ENNRealLearning.Algorithm.density.{u_1, u_2} {π : Type u_1} {π¨ : Type u_2} [MeasurableSpace π] [MeasurableSpace π¨] [MeasurableSpace.CountablyGenerated π] (alg algβ : Algorithm π π¨) (n : β) : (β₯(Finset.Iic n) β π Γ π¨) β ENNReal
Code
noncomputable
def density [MeasurableSpace.CountablyGenerated π] (alg algβ : Algorithm π π¨) :
(n : β) β (Iic n β π Γ π¨) β ββ₯0β
| 0, h => (alg.p0.rnDeriv algβ.p0 (h β¨0, by simpβ©).1)
| n + 1, h =>
let p := MeasurableEquiv.IicSuccProd (fun _ β¦ π Γ π¨) n h
alg.density algβ n p.1 * (alg.policy n).rnDeriv (algβ.policy n) p.1 p.2.1Type uses (1)
Body uses (1)
Used by (5)
Actions: Source Β· Open Issue
Dependency graph
Type dependencies (1)
Algorithmπ
Learning.AlgorithmA stochastic, sequential algorithm.
Learning.Algorithm.{u_4, u_5} (π : Type u_4) (π¨ : Type u_5) [MeasurableSpace π] [MeasurableSpace π¨] : Type (max u_4 u_5)Learning.Algorithm.{u_4, u_5} (π : Type u_4) (π¨ : Type u_5) [MeasurableSpace π] [MeasurableSpace π¨] : Type (max u_4 u_5)
Code
structure Algorithm (π π¨ : Type*) [MeasurableSpace π] [MeasurableSpace π¨] where /-- Policy or sampling rule: distribution of the next action. -/ policy : (n : β) β Kernel (Iic n β π Γ π¨) π /-- The policy is a Markov kernel. -/ [h_policy : β n, IsMarkovKernel (policy n)] /-- Distribution of the first action. -/ p0 : Measure π /-- The first action distribution is a probability measure. -/ [hp0 : IsProbabilityMeasure p0]
Used by (216)
Actions: Source Β· Open Issue
All dependencies, transitively (1)
IicSuccProdπ
MeasurableEquiv.IicSuccProd
Measurable equivalence between a product up to n + 1 and the pair of the product up to n and
the space at n + 1.
MeasurableEquiv.IicSuccProd.{u_3} (X : β β Type u_3) [(n : β) β MeasurableSpace (X n)] (n : β) : ((i : β₯(Finset.Iic (n + 1))) β X βi) βα΅ ((i : β₯(Finset.Iic n)) β X βi) Γ X (n + 1)MeasurableEquiv.IicSuccProd.{u_3} (X : β β Type u_3) [(n : β) β MeasurableSpace (X n)] (n : β) : ((i : β₯(Finset.Iic (n + 1))) β X βi) βα΅ ((i : β₯(Finset.Iic n)) β X βi) Γ X (n + 1)
Code
def _root_.MeasurableEquiv.IicSuccProd (X : β β Type*) [β n, MeasurableSpace (X n)] (n : β) :
MeasurableEquiv (Ξ i : Iic (n + 1), X i) ((Ξ i : Iic n, X i) Γ X (n + 1)) :=
(MeasurableEquiv.IicProdIoc (Nat.le_succ n)).symm.trans
(MeasurableEquiv.prodCongr (MeasurableEquiv.refl _) (MeasurableEquiv.piSingleton n).symm)Used by (11)
Actions: Source Β· Open Issue