Skip to content

Commit

Permalink
remove infer.net package. Its license does not allow redistribution.
Browse files Browse the repository at this point in the history
  • Loading branch information
wittawatj committed Apr 6, 2015
1 parent 0579107 commit f37bca2
Show file tree
Hide file tree
Showing 613 changed files with 875 additions and 252,910 deletions.
433 changes: 433 additions & 0 deletions InferNetLicense.rtf

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2014 Wittawat Jitkrittum
Copyright (c) 2014-2015 Wittawat Jitkrittum

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
52 changes: 34 additions & 18 deletions README.md
@@ -1,20 +1,23 @@
kernel-ep
=========
This project is an attempt to learn a kernel-based operator which takes as
input all incoming messages to a factor and produces a projected outgoing EP
message. The projected outgoing message is constrained to be a certain
parametric form e.g., Gaussian. In ordinary expectation propagation, computing
an outgoing message may involve solving a difficult (potentially
multdimensional) integral for minimizing the KL divergence between the tilted
distribution and the approximate posterior. Such operator allows one to bypass
the computation of the integral by directly mapping all incoming messages into
an outgoing message. Learning of such mapping is done offline with the aid of
importance sampling for computing ground truth projected output messages. A
learned operator is useful in an application such as tracking where inference
has to be done in real time and numerically computing the integral is
infeasible due to time constraint.

This project extends the following work
# KJIT

The goal of this project is to learn a kernel-based message operator which
takes as input all incoming messages to a factor and produces a projected
outgoing expectation propagation (EP) message. In ordinary EP, computing an
outgoing message may involve solving a difficult integral for minimizing the KL
divergence between the tilted distribution and the approximate posterior. Such
operator allows one to bypass the computation of the integral by directly
mapping all incoming messages into an outgoing message. Learning of such an
operator is done online during EP. The operator is termed **KJIT** for
Kernel-based Just-In-Time learning to pass EP messages.

Paper:

Wittawat Jitkrittum, Arthur Gretton, Nicolas Heess, S. M. Ali Eslami, Balaji Lakshminarayanan, Dino Sejdinovic, and Zoltán Szabó
Kernel-Based Just-In-Time Learning for Passing Expectation Propagation Messages
[arXiv:1503.02551](http://arxiv.org/abs/1503.02551), 2015


This project extends

Heess, Nicolas, Daniel Tarlow, and John Winn.
“Learning to Pass Expectation Propagation Messages.”
Expand All @@ -23,12 +26,25 @@ This project extends the following work
3219–27, 2013.
http://media.nips.cc/nipsbooks/nipspapers/paper_files/nips26/1493.pdf.

and

Eslami, S. M. A.; Tarlow, D.; Kohli, P. & Winn,
"Just-In-Time Learning for Fast and Flexible Inference."
In Advances in Neural Information Processing Systems 27, 2014, 154-162
http://papers.nips.cc/paper/5595-just-in-time-learning-for-fast-and-flexible-inference.pdf

### Useful Functions
## License
MIT license.

The KJIT software relies on
[Infer.NET](http://research.microsoft.com/en-us/um/cambridge/projects/infernet/download.aspx)
which is not distributed here. Even though license of KJIT software is permissive,
Infer.NET is not. Please refer to [its
license](http://research.microsoft.com/en-us/downloads/710cd61f-3587-44f4-b12d-a2c75722c4f6/InferNetLicense.rtf)
for details.


## Useful components

In the development of the code for learning an EP message operator, some commonly
used functions are reimplemented to better suit the need of this project.
Expand Down
4 changes: 2 additions & 2 deletions code/KernelEP.NET/KernelEP.NET/KernelEP.csproj
Expand Up @@ -42,10 +42,10 @@
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="Infer.Compiler">
<HintPath>..\lib\Infer.NET 2.6\Bin\Infer.Compiler.dll</HintPath>
<HintPath>..\lib\Infer.NET\Bin\Infer.Compiler.dll</HintPath>
</Reference>
<Reference Include="Infer.Runtime">
<HintPath>..\lib\Infer.NET 2.6\Bin\Infer.Runtime.dll</HintPath>
<HintPath>..\lib\Infer.NET\Bin\Infer.Runtime.dll</HintPath>
</Reference>
<Reference Include="System.Core" />
<Reference Include="MathNet.Numerics">
Expand Down
21 changes: 0 additions & 21 deletions code/KernelEP.NET/LICENSE.md

This file was deleted.

6 changes: 0 additions & 6 deletions code/KernelEP.NET/README.md

This file was deleted.

Binary file not shown.
Binary file not shown.

0 comments on commit f37bca2

Please sign in to comment.