GithubHelp home page GithubHelp logo

hundred06 / coursera-ml Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lukaemon/coursera-ml-andrewng

0.0 2.0 0.0 33.1 MB

use numpy and tensorflow to implement these basic ML model and learning algorithm

License: MIT License

Jupyter Notebook 99.39% Python 0.61%

coursera-ml's Introduction

Coursera ML MOOC

Andrew's class may be the common sense among ML practitioners.

I don't want to fool myself.
Even I have read some api doc of sklearn and know how to call them, I don't know the soul of machine learning. I have to get the basics right. So I implement every exercise of the Coursera ML class using numpy, scipy and tensorflow.

The reason I choose python over matlab is purely practical concern. This cs224d Intro to TensorFlow (video) presents very good explanation of why python may be the right choice to do ML.

All these learning about theories and coding are preparation of real world application. Although the learning itself is it's own reward, I also want to create useful application that solves real world problems and create values to the community. This project is the very tiny step toward the goal. I learned so much.

The more I learn, the more I respect all those great scientific adventures before me that paves the way I have right now. Andrew's class is very good overview of general ML. It's hands on approach encourages new people like me keep moving, even some details are purposefully ignored. On the other hand, I found it very useful to pick up theories while doing these exercises. This book Learning from Data gives me so many aha moment about learning theories. This is my feeble foundation of ML theories.

Generally, Andrew's class shows me mostly what to do, and how to do it. The book shows me why. Theory and practice goes hand in hand. I couldn't express how happy I am when I read something in the book and suddenly understand the reason about what I was coding last night. Eureka!

Project structure

  • Each exercise has it's own folder. In each folder you will find:
    1. pdf that guide you through the project
    2. a series of Jupyter notebook
    3. data
  • each notebook basically follows the logic flow of project pdf. I didn't present all codes in notebook because I personally think it's very messy. So you will only see visualization, project logic flows, simple experiments, equations and results in notebooks.
  • In helper folder, it has modules of different topics. This is where you can find details of model implementation, learning algorithm, and supporting functions.

You can read all Jupyter notebooks here: nbviewer

  • acknowledgement: Thank you John Wittenauer! I shamelessly steal lots of your code and idea. here
  • if you want to run notebooks locally, you could refer to requirement.txt for libraries I've been using.
    tensorflow is a little bit tricky to install. you could find the instructions here.

ex1-linear regression

Special thing I did in this project is I implement the linear regression model in TensorFlow. This is my first tf experience. Looking forward to learn more when I move into Deep Learning. code: linear_regression.py

ex2-logistic regression

ex3-neural network

ex4-NN back propagation

ex5-bias vs variance

ex6-SVM

ex7-kmeans and PCA

ex8-anomaly detection and recommendation

coursera-ml's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.