deeplearningresearch's People
deeplearningresearch's Issues
Use logistic regression to predict stock change
- Upload all stock related data as input (price, macd, etc)
- Upload stock change as output (up/ down)
- Use logistic regression to predict it, and see how it works
Use multi-thread and queue to increase the speed of upload and download the data.
Use multi-thread and queue to increase the speed of upload and download the data.
- For downloaded data, there should be a queue that keep fetching database to full it self up. This should happen in a separate thread, maybe a separate class
- For upload data, there should be a queue to do this too.
This has lower priority than the model implementation.
Add clipping gradient to replace normal gradient
Use cPickle to speed up serialization
Multi-layer Perceptron
Add a new module to Learning model called MultilayerPerceptron.
- The layer should be able to change as configuration changes
- The number of neural for each layer should be able to change.
Build Online tester
The online tester should be able to load the model and use the model to compute the prediction on fly. So it should take 1. model name, 2. parameter name 3. input from stdin and print prediction to stdout
Build Data Loader and Data Loader's DB
Requirement:
- Have one database that contains the data for training. Each table contains one category of data. Eg. Macd, Mav, etc.
- Have a python module:
a) load_data() Take data set name (table name), data key (version of data), and the number of data entry needed. Return a matrix of data. Each row is one training entry.
b) *get_data_parameter() Get data's metadata, Eg. dimensionality, mean, std and etc.
Understand how scan are used in different models
Understand how scan are used in different models. Including RNN, RBM and etc.
Rewrite logistic regression model to use DataLoader interface to load data.
Rewrite logistic regression model to use DataLoader interface to load data.
Separate training and testing phase
Training the data should be:
./train --model mlp --data macd --key mlp_macd2
- This should automatically read the training data from database and all rows should have key macd.
- The parameters for each layer should also be stored in the database, so we can restore the model later.
- The model should self contain all the parameter we want to tweak, like, alpha, patience, and etc.
Testing the data should be:
./test --model --key mlp_macd2 [--doc test_data]
- If no test_data specified, it should read from stdin
- If test_data specified, it should read the test_data and output a list of prediction
RBM: Why we must not compute the gradient through the gibbs sampling
In RBM: We must not compute the gradient through the gibbs sampling? Why? How does the probability part looks in gradient decent?
Review pylearn2 and add necessary improvement.
Upload standard MNIST data set to database
Upload standard MNIST data set to database.
Build Model Loader and Model Saver
Model Loader should be able to load and existing trained model or a empty model. Requirement:
- Create a Database that store the parameter of models. Eg. If it's mlp, it should store the layer number, the matrix, and the computation formula.
- Each model should have a function called: LoadModel(key). This should be able to load the from database and perform prediction.
- Each model should have a function called: SaveModel(key). This should be able to serialize the parameter to database.
- Each model should have a function called InitModel(key). This should be able to random initialize the parameter and register it on database.
Store data's meta data for each data set
To pre-processing the data, we need to know some meta data, e.g. dimensionality, mean, std and etc.
It will be computational expensive to compute them when training happens. So we need some process to pre-compute meta data and keep consistent as data set updated.
b) *get_data_parameter() Get data's metadata, Eg. dimensionality, mean, std and etc.
Recurrent Neural Network
Add a new Module Called RecurrentNN:
- We should be able to specify the number of unit in the recurrent layer
- We should be able to specify the layer of recurrent layer.
ps. I think we can reuse the multilayer perceptron for this, just link the output and input together
Convolutional Neural Net
Add a model called ConvolutionalNN:
- We should be able to specify how many convolutional layer we want to have
- We should be able to specify how large is each layer.
- We should be able to specify the scan window
Restrict Boltzmann Machine
Build Trainer Class
To train a model, we need to specify a list of parameters, like number of epoch, mini-batch size, patient, L1 L2 regularization. So we want to have a trainer class:
- Have a method called Load(key) that load all parameters like number of epoch, mini-batch size, patient, L1 L2 regularization.
- Have a method called InitTrainer() this will initialize a set of training parameters, it can register it to database or not.
- Have a method called trainModel(modelInstance). This will take the model and train it with necessary steps and call saveModel to save the model after each best approach.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.