99-ML-Learning-Projects icon indicating copy to clipboard operation
99-ML-Learning-Projects copied to clipboard

Python versions of programming assignments for Andrew Ng's ML Coursera course

Open malwaredllc opened this issue 5 years ago • 13 comments

I'm currently doing Andrew Ng's famous ML course on Coursera (https://www.coursera.org/learn/machine-learning/home/welcome) and found this neat Github repo which provides Juptyer Notebooks for students who prefer to use Python for the programming assignments rather than Octave/MATLAB (since Python is much more applicable these days, but the course is unparalleled in teaching the theory / fundamentals in my opinion). The Juptyer Notebooks also include excellent documentation and notes from the lectures.

https://github.com/dibgerge/ml-coursera-python-assignments

Since this is such a popular course, I was going to suggest including it as a submodule to this repo, and I can contribute my Python solutions to the programming assignments for other students to refer to. What do you guys think?

malwaredllc avatar Jul 14 '20 21:07 malwaredllc

@malwaredllc great idea ! I was thinking instead of just including a bulk bunch of them or just links, we could at various projects use their exercises and solutions (following their license permissions) and incorporate into our set of exercises.

For e.g. if they have a great SGD homework and solution, we could reuse it and give credits and maybe adapt to our format. We should definitely link them in our resource list, see #19.

gimseng avatar Jul 15 '20 06:07 gimseng

I have a repo with a collection of ML, DL projects from several courses by deeplearning.ai. The link :)

Rajwrita avatar Jul 24 '20 07:07 Rajwrita

@Rajwrita great idea ! If you have any particular favorite project there that you want to link to here / submit here, feel free to create an issue/PR. Thanks !

gimseng avatar Jul 24 '20 08:07 gimseng

Sure gimseng. will create a PR.

Rajwrita avatar Jul 24 '20 13:07 Rajwrita

I have just finished Andrew Ng's Neural Network course on CNN https://www.coursera.org/learn/convolutional-neural-networks/home/welcome . And, as a first time participant in Hacktoberfest , I found this repository , so I was wondering if i could contribute to this repository, my solutions of weekly assignments of that particular course for the fellow students who might seek help in that course ?

IPSITA2000 avatar Oct 01 '20 07:10 IPSITA2000

Hi @IPSITA2000 thanks for contributing ! Definitely welcome any new project. @Rajwrita and @IPSITA2000, why don't you comment here on which exercise/note you want to work on so that we can have each person working on 1-2 exercises and not having too much overlap. And again thanks !

gimseng avatar Oct 01 '20 08:10 gimseng

Thank you Mr. @gimseng ! If its ok i would like to work on https://www.coursera.org/learn/convolutional-neural-networks/home/welcome . Week 1's both the programming assignments !

IPSITA2000 avatar Oct 01 '20 08:10 IPSITA2000

@IPSITA2000 Thanks for the message. I am not too familiar with the CNN coursera curriculum. Perhaps its best if you could tell us more what model/techniques week 1's assignment entails and what data it uses, and what learning goals it aims to achieve. Thanks !

gimseng avatar Oct 01 '20 08:10 gimseng

In week 1's first assignment one needs to Implement the convolutional and pooling layers in Numpy, including two important mathematical concepts of forward and backward propagation. By doing this assignment one gets hands on experience in implementing the different building blocks involved in running neural networks learnt in that weeks video lectures .Also it will clear the concept of how neural networks make their predictions! In week 1's second assignment one needs to code the helper functions used in implementing a TensorFlow model and then finally build and train a functioning ConvNet using TensorFlow library . The data set used in training this model consists of 6 images of hand signs. Overall it will teach the student to apply ConvNet in detecting sign languages given as an input image. If you think it's ok , i am willing to contribute my working .ipynb file at the earliest !Thank you!

IPSITA2000 avatar Oct 01 '20 13:10 IPSITA2000

@IPSITA2000 thanks for the detailed explanation. From what you wrote, it might make sense to split this into two parts, part 1 being first assignment and part 2 being second assignment. It seems that:

  • Part 1 teaches conv. and pooling layers (and how to code them from scratch using numpy). Moreover it reviews gradient descend and how to implement them from scratch using numpy. Is there any demonstration on using these on a particular set of data?

  • Part 2 teaches how to use tensor flow to build a convNet, trained on hand signs. Is this a full classification project or a just-to-see-how-things work project? I remember we had some MNIST classification project in this repo, but I think we never had hand-signs ones. If you could develop a full classification project, that'll be cool too.

I'll let you figure out how to code up these. As I suggested, maybe create a PR for part 1, and then another one for part 2.

gimseng avatar Oct 01 '20 13:10 gimseng

Mr. @gimseng , I believe Part 1 has doesn't work on any particular set of data , and Part 2 is not exactly a full classification project , it has been trained on only the hand signs provided in the course's data set.

IPSITA2000 avatar Oct 01 '20 15:10 IPSITA2000

https://github.com/Rajwrita/Tensorflow-in-Practice this is the repo I have with codes for the course: Tensorflow in Practice, let me know if I could contribute this to this project. Thanks

Rajwrita avatar Oct 04 '20 05:10 Rajwrita

@Rajwrita I think either NLP or time series types projects will be good additions to the repo. Feel free to suggest a particular favorite project here.

gimseng avatar Oct 05 '20 10:10 gimseng