提交 2d407190 编辑于 作者: olivergy's avatar olivergy
浏览文件

update readme

上级 3de2e9ab
加载中
加载中
加载中
加载中
加载中
+20 −7
原始行号 差异行号 差异行
# DAGMM Tensorflow implementation

数据/代码github地址:https://github.com/tnakae/DAGMM


Deep Autoencoding Gaussian Mixture Model.

This implementation is based on the paper
@@ -8,12 +12,14 @@ This implementation is based on the paper
this is UNOFFICIAL implementation.

# Requirements

- python (3.5-3.6)
- Tensorflow <= 1.15
- Numpy
- sklearn

# Usage instructions

To use DAGMM model, you need to create "DAGMM" object.
At initialize, you have to specify next 4 variables at least.

@@ -39,7 +45,9 @@ Then you fit the training data, and predict to get energies
For more details, please check out [dagmm/dagmm.py](dagmm/dagmm.py) docstrings.

# Example

## Small Example

```python
import tensorflow as tf
from dagmm import DAGMM
@@ -65,7 +73,9 @@ model.restore("./fitted_model")
```

## Jupyter Notebook Example

You can use next jupyter notebook examples using DAGMM model.

- [Simple DAGMM Example notebook](Example_DAGMM.ipynb) :
  This example uses random samples of mixture of gaussian.
  If you want to know simple usage, this notebook is recommended.
@@ -74,7 +84,9 @@ Performance evaluation of anomaly detection for KDDCup99 10% Data
  with the same condition of original paper (need pandas)

# Notes

## GMM Implementation

The equation to calculate "energy" for each sample in the original paper
uses direct expression of multivariate gaussian distribution which
has covariance matrix inversion, but it is impossible sometimes
@@ -92,6 +104,7 @@ elements of covariance matrix for more numerical stability
and [another author of DAGMM](https://github.com/danieltan07/dagmm) also points it out)

## Parameter of GMM Covariance (lambda_2)

Default value of lambda_2 is set to 0.0001 (0.005 in original paper).
When lambda_2 is 0.005, covariances of GMM becomes too large to detect
anomaly points. But perhaps it depends on distribution of data and method of preprocessing