dsngd

Reproduce dsngd experiments

https://github.com/kissyfur/dsngd

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Reproduce dsngd experiments

Basic Info
  • Host: GitHub
  • Owner: Kissyfur
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 108 KB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 4 years ago · Last pushed 8 months ago
Metadata Files
Readme Citation

README.md

Natural gradient based DSNGD in large dimension manifold

This project implements a model for the classification problem where a variable Y is desired to be predicted after a variable X, by optimizing the log likelihhood function or the conditional Kullback-Leibler divergence. Implementation of optimization algorithm dsngd added as well as sgd, adagrad and sngd (adding more algorithms in the future). The code found in this project is used to create the graphs appearing in my Ph.D Thesis with title: Efficient and convergent natural gradient based optimization algorithms for machine learning and the research paper named Dual Stockastic Natural Gradient Descent.

Running the default experiment

Clone the project and access the directory. Install packages appearing in requirements.txt. Finally, execute experiment.py coding file: bash python3 bin/experiment.py

Set up a new experiment

For a custom experiment with different settings open the experiemnt.py file and fill the variables with the desired values. Modifiable variables are:

```python

Manifold related variables

yvalues = 10 # Classes of discrete variable Y xdvalues = [7,6,7,2,7] # Values of discrete variables xi in X assuming Naive Bayes xgvalues = 0 # Amount of x_i gaussian variables in X assuming Naive Bayes

Algorithm related variables

algs = [sgd, adagrad, dsngd, sngd] # A list of the algorithms to test batch = 250 # Batch of sample fed to algorithm per iteration

Sample related variables

sample_length = 100000 # Length of the sample epochs = 1 # Repetitions of the sample ```

alt text

Owner

  • Login: Kissyfur
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Sanchez-Lopez"
  given-names: "Borja"
- family-names: " Cerquides"
  given-names: "Jesus"
title: "dsngd"
version: 1.0.0
doi: 10.5281/zenodo.1234
date-released: 2022-09-29
url: "https://github.com/Kissyfur/dsngd"

GitHub Events

Total
  • Push event: 9
Last Year
  • Push event: 9

Dependencies

requirements.txt pypi
  • jupyter *
  • matplotlib *
  • numpy *
  • scipy *
  • tqdm *