What I Wish I Knew Before I Started Machine Learning
A lot of people that I talk to ask me about how I got started with AI/Machine Learning. I love to talk about it but at the same time, trying to share the same thing over and over again doesn’t seem like the best way.
Instead, I want to write down some things that worked for me when trying to learn about AI. But one important thing you should keep in mind is everyone learns in a different way. While you’ve probably heard that for your entire life, it’s true.
Some people do really well with courses because they like the structure. Other people prefer having a much more free way of learning(aka, me). I think all ways are valid but I do also think certain ways work for certain people.
So how would you figure that out? Well, chances are, AI isn’t the first thing you’re trying to learn so think about what worked the best when trying to learn something like Math or Science.
If you still don’t know, just try different methods. For something like productivity, people try a lot of different systems to see what works the best for them, long term. The same logic applies to AI.
With that out of the way, let’s start talking about a couple of things that helped me learn AI.
#1 - Understand the basics.
This article is a way for me to think back and think about what I would have told myself before starting. The first thing that I personally didn’t do the best was to learn the fundamentals of what you need to know before starting AI.
If there’s an algorithm on the internet that uses Machine Learning, chances are it uses Python. Like I was saying, for me specifically, I got caught up in the hype of the buzzwords without fully understanding the basics.
As time went on, that issue showed up more and more. Ask anyone who knows a lot about AI, learning basic programming is such an important thing. Basic things like loops, lists, functions, and even arithmetic are used so much throughout the field.
If you want to maximize your success with AI, be patient, and don’t just get straight into it because of some type of pressure. Learning something new should be thought of as an investment. You want to make sure that it will work for a long period of time.
I often hear the next question would be, “well, how am I supposed to learn python?” That brings me to my next point.
#2 - Know how you learn.
I talked about this earlier but I want to talk about how it specifically applies to AI. As I said, there are two main ways to go about learning something like Machine Learning.
The first is following a course like this. The benefit of something like this is, first of all, the information is coming from a professional like Andrew Ng. But also, because these people are so knowledgeable about the topic, they order what you should know in a way that makes sense.
For example, you would definitely want to learn what supervised/unsupervised learning is before you dive into something like Latent Dirichlet Allocation or Semantic Segmentation. The reason is, you need to understand supervised/unsupervised learning before going into the other two. In general, supervised/unsupervised learning is the foundation for almost all machine learning/AI concepts.
If you take a course, that order is made for you and there are other benefits you can probably think of.
The other way to learn, and is personally what I did is to just know what you need to learn and use the internet to do it. Courses would seem to have a lot more pros than doing something this way but I think the best part of doing something like this is being able to connect the dots.
This won’t make too much sense unless you’ve gone through a process similar to this. But what I mean is, when you can connect the dots and have the moments of “Ohhhhhhhhh, that’s how it works” you have a much deeper understanding compared to courses.
I find that for me personally, courses were like me copying and pasting information(sometimes quite literally). But that doesn’t help with anything because no matter how hard you try to “understand the code” it won’t be effective at all.
The other method gets that depth of information so you can apply it to your own projects. What I specifically did, was after doing research, I made a document of around 60 terms that were all super important to AI.
To structure them I put them in tier levels of importance. I started at the top and continued to go through all of them, making sure that I understood everything about each term.
In a way, it was like combining both methods of learning into something that worked the best for me.
As soon as I realized, this was the best learning style for me, I saw a drastic increase in both how interested I was in the subject but also how much I learned.
#3 - Understand why you’re doing it.
I want to avoid talking about motivational/mindset things but this specific aspect of it is really important to realize.
You need to have a reason for doing what you do. Obviously the same logic applies to everything else. I think that a lot of people's motivation isn’t long term enough.
The motivation you have will determine how much you will push through the hard times. And if you’ve programmed before, you know those hard times occur 90% of the time.
That’s exactly why it’s so important to have a better motivation than getting a job or impressing people with how smart you are. A motivation like building projects that are legit is much better and doesn’t depend on a lot of things.
If you’re trying to get a job, what happens when you do? That means there’s no reason for you to continue learning. Whereas you can always build better, cooler and more useful projects.
The one risk with this is when it doesn’t work you feel really unmotivated. I’ve been there and that’s why I know how you can deal with it…
#4. Progress Slowly
Like I said, too many people set this crazy ambitious goal and keep trying to pursue it. When it doesn’t work out for them, they quit because of how much that can shake a person.
The best way to deal with this is to goals for your goal. If you’re trying to work on a really big project, set small goals like finishing preprocessing, the model, storyboarding how it’s going to work, etc.
Think of it as if you were running. By thinking you have 5 km to do while you’re tired will just make it harder. But by visualizing specific goals, you keep motivating and pushing to achieve the goal. In the end, you would have run the same distance but by setting small goals, you have a much better mindset.
#5. Be Patient With Results
A lot of times in coding, things don’t go our way. Not just for a minute or hour or day, but weeks and weeks.
One thing I’ve learned with coding is that eventually if you keep trying, something will happen. It’s not 100% guaranteed but then again, a lot of things aren’t.
Regardless, you shouldn’t expect results. Let them be a product of your hard work, determination, and skill with coding. It’s just the idea that slow progression is ok if it’s going in the right direction.
#6. Understand what’s happening in the world of AI
Being educated about what’s happening in the industry is huge. It’s definitely something I lacked in the beginning because I didn’t understand how important it was.
I think it’s important for two main reasons. First of all, you have a much higher chance of building something that matters when you identify inefficient/broken systems that could be much better.
Finding that opportunity for a better way is much easier to do when you know all the new advancements and issues with the technology.
The second reason is because of conversations. When you’re talking to a leading expert in AI or any developer in general, it’s unlikely it will be about a bug in your code.
Knowing everything that’s going on in the field of AI makes you look much more interesting but you also become much more knowledgable which is always good.
#7. You don’t need to know everything.
The last big thing I would tell my past self was not to go for perfection. It’s perfectly fine if there are knowledge gaps for really complicated things. Especially when you’re starting, it’s not a big deal to not know how an LSTM knows what long-term information to store.
Even after a while, you still don’t need to have a 100% understanding of everything. Depending on what you’re learning and how much that matters, you spend time accordingly, you don’t need to overcomplicate it.
All the research papers you are going to read took months and even years to make. The author didn’t sit in the chair and finish it in a week. No matter what level you are, it takes months and months to master a certain topic.
Note that my personal definition of mastery is different than perfection. To me, perfection is about getting everything right, even the things that don’t matter. Mastery is about having an extremely in-depth understanding of a certain topic and being able to adapt to new ones.
The truth is that no matter how hard you try you will never achieve total perfection of a really big topic in AI. So don’t. Instead, focus on developing your fundamentals, build your skill set from there, and fill the required knowledge gaps throughout your journey.
If you’re starting Machine Learning or anything in the field of AI, I hope these 7 tips on what I wish I knew when starting is going to help you. If there’s anything you have questions or clarifications you want, definitely message me on LinkedIn.
I’ll see you all next time!