Eric Yuan's Blog

Perstando et Praestando

  • About Me

Machine Learning

C++ Code For Reading CIFAR-10 Dataset

May 6, 2014 / 5 Comments

The CIFAR-10 dataset can be found HERE. It is a very popular multi-channel image dataset for classifier training, as a simplify version of CIFAR-100, it is easier to use for newbies. Here’s a C++ version code for reading this dataset from .bin files into OpenCV matrices.

Posted in: Machine Learning, OpenCV Tagged: C++, Machine Learning

Convolutional Neural Networks II

April 12, 2014 / 66 Comments

Since the last CNN post, I was working on a new version of CNN, which support multi-layers Conv and Pooling process, I’d like to share some experience here. VECTOR VS HASH TABLE You can see in the last post, I used vector of Mat in convolution steps, it works well when we only have one … [Read more…]

Posted in: Algorithm, Machine Learning, OpenCV Tagged: CNN, Convolutional Neural Networks, Deep Learning, OpenCV

Convolutional Neural Networks

March 30, 2014 / 43 Comments

WHAT IS CNN A Convolutional Neural Network (CNN) is comprised of one or more convolutional layers, pooling layers and then followed by one or more fully connected layers as in a standard neural network. The architecture of a CNN is designed to take advantage of the 2D structure of an input image (or other 2D input … [Read more…]

Posted in: Algorithm, Machine Learning, OpenCV Tagged: CNN, Deep Learning, Machine Learning, OpenCV, Pooling

A Fake Convolutional Neural Network

March 30, 2014 / 4 Comments

This is the early version of my CNN, at that time, I incorrectly thought that I can just use some randomly chosen Gabor filters to do the convolution, so I wrote this.  Actually, the test result is not bad for simple datasets such as MNIST, I think it’s just a fake CNN, but a nice … [Read more…]

Posted in: Algorithm, Machine Learning Tagged: Deep Learning, deep network

A Simple Deep Network

March 21, 2014 / 37 Comments

During this spring break, I worked on building a simple deep network, which has two parts, sparse autoencoder and softmax regression. The method is exactly the same as the “Building Deep Networks for Classification” part in UFLDL tutorial. For better understanding it, I re-implemented it using C++ and OpenCV.  GENERAL OUTLINE Read dataset (including training data … [Read more…]

Posted in: Algorithm, Machine Learning, OpenCV Tagged: C++, Deep Learning, fine-tune, Machine Learning, MNIST, OpenCV, Softmax, Sparse Autoencoder, UFLDL

[UFLDL Exercise] Convolution and Pooling

March 18, 2014 / 1 Comment

I’m learning Prof. Andrew Ng’s Unsupervised Feature Learning and Deep Learning tutorial, This is the 8th exercise, which is a simple ConvNet with Pooling process. I’ll not go through the detail of the material. More details about this exercise can be found HERE. I’ll try to implement it using C++ and OpenCV if I have time next week.

Posted in: Algorithm, Machine Learning Tagged: ConvNet, Deep Learning, Machine Learning, Pooling, STL-10, UFLDL

Softmax Regression (with OpenCV)

March 7, 2014 / 3 Comments

This is the same algorithm with the previous SOFTMAX REGRESSION post. Because I’m going to try to build deeper neural networks for images, so as a review of OpenCV programming, I rewrote the Softmax regression code using OpenCV mat, instead of Armadillo. I used Matlab, Octave, Armadillo a lot these days, it is kind of … [Read more…]

Posted in: Algorithm, Machine Learning, OpenCV Tagged: C++, Deep Learning, Machine Learning, OpenCV, Softmax

[UFLDL Exercise] Implement deep networks for digit classification

March 5, 2014 / 6 Comments

I’m learning Prof. Andrew Ng’s Unsupervised Feature Learning and Deep Learning tutorial, This is the 6th exercise, which is a combination of Sparse Autoencoder and Softmax regression algorithm, and fine-tuning algorithm. It builds a 2-hidden layers sparse autoencoder net and one layer Softmax regression, we first train this network layer by layer, from left to right, then … [Read more…]

Posted in: Algorithm, Machine Learning Tagged: Deep Learning, deep network, Machine Learning, Matlab, MNIST, Softmax, Sparse Autoencoder, UFLDL

C++ code for reading MNIST dataset

March 1, 2014 / 8 Comments

Here’s a code for reading MNIST dataset in C++, the dataset can be found HERE, and the file format is as well. Using this code, you can read MNIST dataset into a double vector, or an OpenCV Mat, or Armadillo mat. Feel free to use it for any purpose. (part of this code is stolen from … [Read more…]

Posted in: Machine Learning, OpenCV Tagged: Armadillo, C++, Machine Learning, MNIST, OpenCV

[UFLDL Exercise] Self-Taught Learning

March 1, 2014 / 3 Comments

I’m learning Prof. Andrew Ng’s Unsupervised Feature Learning and Deep Learning tutorial, This is the 5th exercise, which is a combination of Sparse Autoencoder and Softmax regression algorithm. It uses the features trained by sparse autoencoder as training input of Softmax regression, and builds a classifier which have more accuracy than regular softmax regression. I’ll not go through … [Read more…]

Posted in: Algorithm, Machine Learning Tagged: Machine Learning, Matlab, Softmax, Sparse Autoencoder, UFLDL
« Previous 1 2 3 Next »

Pages

  • About Me

Categories

  • Algorithm
  • Deep Learning
  • Dynamic Programming
  • Graphics
  • LeetCode
  • Machine Learning
  • Machine Reading Comprehension
  • Maths
  • NLP
  • OpenCV
  • Something else
  • Twaddle
  • Uncategorized
  • Vision

Archives

  • July 2016
  • August 2015
  • June 2015
  • April 2015
  • March 2015
  • October 2014
  • September 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • November 2013
  • October 2013
  • September 2013

Copyright © 2018 Eric Yuan's Blog.

Me WordPress Theme by themehall.com