Finished python course but still confused about a little things


#1

i finished the course of python here from like some days and i opening python library and sites to learn but i to ask what i have to do next not after learning python i am sayin' to be a python pro and i want to make a program i was wondering i want to learn machine learning is there is an advice for it


#2

To be a python pro you first need to be a programmer. Programmer is not a person who knows how to write a loop or a simple class. Programmer is a person who is able to program things. Come up with an interesting idea for an application and simply code it. If you want to become a pro you can't rely on step by step instructions.

Unfold your project into small pieces. Use OOP to transform these pieces into classes and methods. Code them. You know the syntax, that's all you need to know. You just need to add a very strong motivation and just don't give up. Programming is about solving problems, not about following instructions. Don't use tutorials, use documentation. The result might not be the best, but you will be able to call yourself a programmer. That's a win, right?

Machine learning, yupi, my field. I am highly interested in artificial neural networks and support vector machines. Machine learning is a really broad term. I would start from reading about applications for machine learning. I use ML mostly in IR (information retrieval) and NLU (natural language understanding). I can apply my knowledge in other fields, and you will be also, but it is easier to start with a single, specific application.

If you have an idea for the project where you want to apply machine learning, but you don't know to which category this project belongs... simply ask someone more experienced for a hint. Computer scientists are usually very eager to share their knowledge.


Extra note. I am a little biassed because I come from a mathematical background. But from my experience linear algebra and discrete math can help you a lot. I am not sure if I would be able to understand any research paper about ML without mathematical knowledge.


Now you have to find a suitable tool for your project. In some problems bayesian network is the best choice, in others, it's better to use SVM. Is there any list of all the concepts? I don't really think so, but getting through articles listed here -> https://en.wikipedia.org/wiki/List_of_machine_learning_concepts might be a good start.

To truly understood the concepts you have to read, read and read some more. It's usually good to be up to date with interesting research papers about machine learning. It's easy to find them, it's a little bit harder to read them.

And now, with all the knowledge you should be able to bring your idea to life. If you want to use Python that's ok. I usually use C and C++ for ANN's just to have a greater elasticity in optimisation. Everything depends on the specific project.


Ok, I kept this for the last paragraph. There is a easier way. You can just take a course. I heard very good things about udacity nanodegree -> https://www.udacity.com/course/machine-learning-engineer-nanodegree-by-google--nd009 and about coursera course -> https://www.coursera.org/learn/machine-learning. I would probably choose coursera because of the more academic approach.

Academic approach... but I want to code things!... ok, sure, but machine learning is still a very active field, academic approach gives you a cutting edge knowledge. And you can use it to code things, trust me.

That is why I think you should not take a course. I believe that they are really great, but... being focused on your own idea, on your own project where you want to apply machine learning will create a ton of problems for you. Is that a good thing? Yes! Failure gives you a great experience. Overcoming failure gives you a really great confidence in your knowledge. Don't follow instructions, don't follow tutorials, don't follow courses. Learn what you want, learn at your own pace, code what you want, become as good as you want to be.


#3

iam really happy that you have old me this and thanks and now iam thinking about alot o f things to do because of you thanks i hope you have a great day


#4

You're very welcome :slight_smile:

And thank you for interesting question!


#5

Hey factoradic, I'm thinking about diving into A.I.

But, I'm afraid before doing that, I need to upgrade my mathematical skills, any idea how to improve my mathematical background, so I can start to read research papers and take courses and code some cool things :slight_smile:


#6

Hello @okala :slight_smile:

This is a very difficult question for me. Let me explain why:

  1. I have studied mathematics before diving into AI;
  2. I have never taught anyone about AI (I teach programming and that is why I can always advise something in this field);
  3. I live and study in Poland, my point of view might be a completely different than yours;
  4. I don't know much about you.

But I like challenging myself so let's start.


But, I'm afraid before doing that, I need to upgrade my mathematical skills, any idea how to improve my mathematical background, so I can start to read research papers and take courses and code some cool things :slight_smile:

Don't worry about that and just start learning everything that you find interesting.


Oh, that was easier than I thought :smiley: Let me elaborate a bit, just for my own pleasure.

In last 3 months, I had read 8 interesting research papers about AI (not only about machine learning), only one was written by computer science researcher, and two others were focused on math. What about the rest? They were philosophical.

My great friend, who is just a beast in the AI world does not know anything about programming. He probably knows how to add 2 to 2, but that's a limit of his mathematical knowledge. And still, he is more valuable when it comes to AI than I am, how is this possible? He studied philosophy, he is interested in epistemology, he knows so much about intelligence, knowledge and learning processes... We (programmers) are applying our technical skills to concepts created by people like him.

Don't think about AI as a CS related field, it's so much bigger.


But I think that it is safe to assume that you are more interested in programming AI based systems, just like me :slight_smile: In this case... still, don't worry about mathematical skills.

Sometimes I stumble upon the lemma that I never heard about before. It does not mean that I can not understand the whole paper, no, I just need to google one more term :slight_smile: Seriously, Internet is such a great place, you can probably find here everything that you need to understand every research paper.

What I meant in my previous post is that you have to be prepared to stumble upon mathematical terms. People are afraid of math, don't be. Just remember that it's completely ok to not understand something. It's not ok to give up when this happens.


Let me emphasise thi one more time - don't be afraid. Your mathematical skills are probably just fine to start learning about AI. You might even not need them at all, it depends on your specific approach to the AI. But if you are really afraid, I can recommend these books to give you a solid ground (they cover a lot of topics, but it's really hard to predict what will be handy for you):

  1. Noble, Daniel: Applied Linear Algebra (if somebody thinks that I should recommend here Strang... that's completely ok, but I think that theoretical approach of Stang might be simply cumbersome in this specific case);
  2. Graham, Knuth, Patashnik: Concrete mathematics - this book might be a bit hard for you, but it is so great! in case of emergency wikipedia articles will explain everything that is assumed that you already know by the authors;
  3. Schrodinger: What is life - probably the best book to give you a good point of view on the (artificial) intelligence.

I really hope that this post dispelled your fears. I never wanted to state that mathematical skills are required, they are only helpful (sometimes) :slight_smile:


#7

Thank you a million!

For such a detailed and encouraging answer!

I'm currently taking BerkeleyX: CS188x_1 Artificial Intelligence.
We creating an smart agent pacman :slight_smile:

Will get right into it now! Thank you so much!


#8

You're very welcome :slight_smile:

Pacman, great starting project! Good luck and let me know in few weeks how do you like the course! :slight_smile: