I think a good methodology to do independent research in ML/AI without getting yourself into a tutorial loop is to constantly verify conclusive statements from all the external resources out there at some practical level. By verifying those concepts with experiments, you not only stand on a more solid factual ground, but also gained experience in implementing experiments, which is much more valuable and arguably the most important skill in the field of ML/AI research. I dropped a video reacting to Jeffery's learning process and give my own two cents on this methodology/heuristics for AI research here: ruclips.net/video/5FM_0RUJhYo/видео.htmlsi=XC-l45D6A-NlKglg. Feel free to check it out and leave your opinion!
Thanks for posting again! Background here is @ezmonyi made a comment saying basically the same thing as above, it got hundreds of likes and a dozen people asking to see his research methodology. He made a video about it, I asked him to edit his original comment with the link, and then RUclips thought the new comment was spam and deleted it :( Go check out his video!
@@jeffrey_codes I did the same thing as you but in 2021-2022(talk about a frustrating experience) and I learned the hard way what you learnt. I'm 18 now and going into EE. I'm also happy your educating people but not a single unique experience lol.
You can learn math the same way he describes in his video. For example, consider the statement: 'If a matrix is positive semidefinite, then the quadratic form it defines is non-negative.' Instead of accepting it as a given truth, you should try to prove it yourself. In the process, you'll realize that proving this statement requires applying the properties of symmetric matrices. This approach allows you to 'do' the math rather than just memorizing it. Another practice I follow when studying math is expressing concepts in terms of code (python is a great tool for just doing that!)
@@neotokyovid it’s in fact a learning method applied in many subjects in college courses, but somehow people tend to be misled by online tutorials to think ML is somewhat different from everything else, part of intention to make the video is to clear that misinformation.
The best teacher I had in Engineering School used to say at the end of every class: "Did you learn it?" and everybody would say "Yes!" and he would say "You didn't! You understood it! Now go home and do these problems because that's how you learn!".
The point about math is probably backwards. Doing math is not about solving some differential equations. It's about gaining understanding and intuition. Some level of exercises is needed, but unless you are solving those problems on a regular basis, you are going to forget anyway. Intuition and understanding probably is going to stick for longer.
Absolutely. I am one of those codecamp software engineers and though I got ahead in my career, I always saw that people with CS degrees who did a lot of math had much more intuition for solvibg programming problems and they were way faster in getting new concepts and learning new technology stacks. I am now over 30 and thinking to go bto math and probably a CS degree to get my brain in this state and thinking.
I get your general idea, but the point in the video (that I agree with) is that when you merely read a math textbook or watch a course and simply reflect on it a little bit, you might get the "intuition" in the sense of "ah, I see more or less why that could be. Makes enough sense" but you don't get any sort of mastery or confident, deep understanding meaning that as soon as you were to go and try to apply it to a complex problem, you'd be completely stumped. Also "doing math" isn't just calculating things. What really gets you the deepest understanding is writing proofs yourself. Sadly he didn't specify exactly what type of exercises he did.
There's a balance. I agree that gaining understanding is the most important thing, but like @gaspaider said, if you don't ever do problems then it's very easy to trick yourself into thinking you understand when you don't. Of course, I'm sure that people with greater mathematical maturity than me have enough learning tricks/instinct built up that they can verify their understanding through proofs and other methods while avoiding calculations. I'm not there yet.
I've been doing math for sometime now. From contests in high school, to the International Mathematical Olympiad(IMO) and currently machine learning and silicon photonics, which are math intensive. I will say, having intuition is a farce. You never truly gain intuition until you solve a few problems yourself and rederive the formula or statement yourself. You'll be deluded into thinking you know but you actually don't. Yes, after the IMO, I've not been solving problems so I am rusty...but the intuition stayed with me. How do I know? well its so so much easier to pick up very difficult fields. It's almost like cheating. Recently I started learning category theory, a pHD level material...people say it is hard. I don't get why...it is so easy to pick up the propositions, intuition and ideas, and to solve problems and thus refine the knowledge and actually make it MINE, not the textbooks'.
Due to certain circumstances, I have not been able to code for the past six months or so and I could feel for the first time my studying/doing ratio alarm beeping hard after what, 6 books? on coding.
I disagree, the best balance is all doing/coding and doing that you;ll learn the concepts anyway, coming from a heavy learners, lol coursera is scared of me
The hard truth about math is that you still have to learn it the text book way. Visualization videos are nice but at the end they only touch a small corner of each topic
To put it precisely, even if you can imagine what’s going on visually, translating that into clear notation and manipulating it correctly is a separate skill, and then actually making the required logical connections between things in order to solve non-trivial problems is another skill on top of that. Having the intuition is essential though and unfortunately many teachers are not given the time nor the tools to teach students this.
Yeah but it's not hard. If you will learn until Differential(it's not that hard, no one expect it to solve some proofs) and basic of statistics and probability it's enough for most of the jobs including entry level AI Research jobs. STEM should be focus on practical side not math. Real math challenge actually in the math or stat major.
@@TheChefElepthe degrees that are not focused on proofs in their math courses are the ones using practical applience of math. In engineering courses in my country, we don’t dive too deep into proofs. Mostly in analysis courses, but they are just shown on lectures in case. I think we have these hard math courses because it builds problem solving skills and it builds strong students who can handle very difficult situations in their career. There’s a reason that engineering is very hard to get into, because they are made for people who are willing to do what it takes to get the job done. I would not like for engineering to be easier. It’s made so that just not anyone can graduate. Saying that STEM should not be focused on math I don’t agree with. You have a lot of practical courses already. For ML you should atleast have taken advanced linear algebra with necessary statistics classes.
Mathematics is learned by solving thousands of problems. Learning only the theory is like learning the rules of basketball, watching the others play, and think you can play as well.
Thank you! I have the advantage that most of this is outside my day job, so I can be honest about setbacks without putting my family at risk. But still difficult to admit!
I am a uni student currently studying deep learning and computer networks, whenever I stumble upon a math concept that I am not familiar with I actually like to get lost in the rabit hole and explore more, but I kinda get your point, juggling all of this with a job and a family must take a lot of effort, on the contrary it is great that you were able to learn all of this within a year.
Completely Agree. I too, spent a lot of time building math fundamentals by studying alone. But looking back, theres really nothing to put on my resume, and I cant really market myself to prospective employers. As a recent grad, this is a non trivial issue. The resolution I came up with is to make this year the year of project-based learning. Cheers!
Good luck on your project-based learning! As a recent grad you have the advantage of tons of free time; you could move 3-4x as fast as me if you really go after it.
Do you still remember all the things related to math that you studied? I spent like 3 months studying algebra and calculus but after 5 months of not touching it I just forget everything. Like a waste of time. 😢
i am not even joking when i tell you this, i made an entire schedule to study like 60% of these topics by the end of this year (ml, math dsa (theory focus)), instead of data engineering i was going to deep dive haven't watched the video but wow the yt algorithm is good. edit: i hope each one of you reading this achieves your learning goals this year ! lets change the world
lmao same, i started doing the IBM data engineering professional certificate and bought the Fundamentals of Data Engineering Orielly book, my goal was to learn it, master Discrete Math then deep dive into C programming and Operating Systems along with DSA .....all before the end of this year
If you find all of those topics enjoyable to study, and you have the time, then absolutely go for it! I had a good time studying this year. But if you want to get ahead fast then I'd encourage you to start building in the area you're interested in, while studying only the subjects that are most relevant
@@josjos1847 oh no it definitely is! i learned all of these subjects in uni already but i think the data engineering knowledge i got in class suffices (plus its kinda boring for me)
This is what I have been experiencing lately, stuck in this infinite learning loop. I gonna start with hands-on project and go in-depth from there. Thanks for your sharing!
The video connected with my soul. I have so many of these resources in my "roadmap" which will take like 5 years realistically. I'll definitely make sure to do more projects along way
@@jeffrey_codes My experience is still lesser than yours, so take caution with my advice. I followed the same kind of roadmap, like from teachyourselfcs or ossu, and reading books or watching courses. And I have come to the conclusion that I won't be able to complete that, even if I do, it won't be practical enough to apply in the real world. After doing all this, I will from now on read from random youtubers by searching the topic I wanna study and read forums to understand better. I hope this will go better as this is how I studied when I got my laptop the first time. For more information, read my other comment on this video
I had a similar experience starting from 2017 to 2022-even if you did not achieve everything, you still built a base for your next try. Now I can easily study the content of 5 years in just one year, and I work in a similar career, which is heavily technical. You just have to keep trying and modifying your strategy until you reach a certain mental state where acquiring skills is like a flow. it took me three years of trying and failing until i improved my methods There is also a very important aspect: knowledge, especially multidisciplinary knowledge, will converge at some point and will explain itself.
@@jeffrey_codes You are absolutely on the right track. My method starts with choosing a certain project in order to use as a guide for what I need to learn and work into finishing it in the best way possible. In my case, it was a flight controller for a drone, including the hardware, software interface, and of course the flight dynamics. learning new subjects is like sailing; you need to have a guide and be able to see the big picture, then switch your focus/effort back and forth to master the details The second step is to gather the source materials, usually textbooks . I always rely on two textbooks for the same field, one to explain the high-level big picture and the other to teach the low-level details. mixing high-level and low-level material improves your real-world problem-solving skills Imagine the knowledge you have as a tree. Everything should be connected to your logic and understanding of mathematics and domain knowledge, then branch to more specialized applications in a way that explains itself since everything is somehow connected The third step is slowly reading the source materials and applying what you learn in a way that serves your reference project. which is a multibranched problem you need to turn into a real-world solution. When studying, you should focus on intuition and avoid using blunt force if you face problems. Again, it should be like sailing; you should always be immersed in what you are doing; otherwise, you might get lost and forget your purpose. there is no shame in taking a step back to master a few concepts because you need to build internal logic/map My most successful study plan was 3 hours each work day and 6 ours on weekends. I started sequentially with all the mathematics i needed, then used my acquired intuition to explaining the elementary single discipline domain subjects in mechanics, physics and programming skills, then kept building my own logic map until i was able to solve the more advanced multidisciplinary problem i had at the start
@dadasut50 this is excellent advice for deep technical topics 🎯 I especially like the "two textbooks" concept. I've used a variant on that before and it's been really effective
Great reflection on how it’s easy to fall into a rabbit hole when learning new topics. Appreciate your self honesty when it comes to learning without practice you’ll probably forget: but I do believe it’s sometimes necessary to build a base.
i am a final year CS student and this really resonated with me, i really want to get into computer vision and am working on a study plan and this reminded me that project based learning needs to be 80% of the work
This video is so relatable. I was learning towards learning maths and algorithms to become a better developer but you really hammered home the fact that to get better at development, you should practice developing things which are incrementally harder and learning topics you need to complete the project instead of studying peripheral topics. Thanks!
They're still great things to study if you enjoy them, and algorithms can help you with interviews! But yes, if you want to get good at the job the only thing to do is incrementally harder coding projects.
This video is great! I am in a similar situation; I just graduated college and am currently waiting to start my next job, and I have dedicated all of my time to trying to get as good as possible. I also read CODE, am doing the NeetCode roadmap + courses, reading Data-Intensive Applications, and doing side projects. I am only a few months into this process, but your video helps me a lot, so thank you!
Great video jeffrey, I too had a similar realisation some days ago, when I participated in my first hackathon. Even though it was all here and there, I learnt a lot more in those hours than I could in weeks
@@Jack-iy2hk There are a lot of platforms online where your nearby universities/orgs publish about their upcoming hackathons. You can apply from there. For example, here in India, I use devfolio, unstop and the like to know about the upcoming hackathons at other universities in my city.
I also studied a lot of deep learning this year and the only stuff I remember really is the stuff I built projects with. I learnt about CNN's, RNN's transformers, reinforcement learning, recommendation algos. I ended only building projects using CNN's and RNN's (mostly due to data availability and compute). I can tell you a lot about how CNN's and RNN's work and good network architecture depending on what problem you optimising for but nothing about other network architectures.
Congratulations on the two successful projects! By doing those you're way ahead of all of the consumption-only students. What's the issue with data availability/compute for reinforcement learning and recommendation algos? Is synthetic data (for recommendation algos) and self-play data (for RL) out of the question?
@@jeffrey_codes cheers! It’s not that data and compute weren’t available to build projects, but I quickly realized that the projects I had in mind were too ambitious and unfeasible with the resources I had. After learning some theory, I focused on building projects using architectures and algorithms I understood best, like CNNs and RNNs. One of my projects was an OCR CRNN. Initially, I aimed for it to read text from any page and handle any amount of characters, but I realized that processing whole pages and paragraphs required much larger models due to the nature of CTC loss, which wasn’t feasible with my compute. So, I scrapped the part of the pipeline preparing data for larger bodies of text and trained the model to transcribe sentences instead. Additionally, finding labeled English essays and diverse text types was difficult, so I used the IAM database, which was sufficient. Despite these data and compute limitations, I’m still very happy with the project.
Great reflections - really valuable for us to see someone who has gone through it and then reflect back for us others to learn! Wish more experts and practicitioners in all fields did this. Thank you!
Great video! Thank you for your diligence to execute on your plan from the last year, and sharing your insights and learnings. Made the mistakes so we could all learn 💪
@@jeffrey_codes Question! Whats the resource or page that you show on right side that says mathematical foundations? I have seen it a lot on twitter. I am bored of web development too haha
Good stuff, man. First timer here. Congrats on the baby and STICKING to a study regimen last year. More ppl need to produce videos like this as it properly portrays the fault in your original while detailing what you've learned from that and what you'll do to keep that from happening again
Thank you for this video. Why I appreciate this video is because I have dipped my toes into many different topics at once, and often go into "tutorial hell", and sometime I have learn, not necessarily unnecessary things, but it could have save me much more time not learning it and focus my time and energy on other things. And I also like the top down approach learning, where we choose the things we want to learn/implement first, and go accordingly rather than starting from the basics and fundamentals, saves a lot of time!
You build your knowledge from the very ground up. Maybe not the most effienct way to understand ML topics but for sure not the illusion to talk as expert thanks a single all in one course. This is an amazing journey, for me it’s the good way to love and learn, thank u.
The Deep Learning book can be done with an undergrad level of math, although I do have a math minor so I have some small "boost" from that. The problem is a lot of undergrad students don't actually get a firm grip on the math they are meant to learn because everything is so rushed and there just isn't time for yourself. That being said, from what I remember, after the 4th chapter or so it's just a series of techniques that need to be visited outside the book or put into practice. The first 4 chapters or so talk about fundamentals.
Yep, it can absolutely be done without a full undergrad math degree, and I could likely read through it now after just a year of study (4 months of which was math-focused). I also just checked and on the back it says it's suitable for graduate or undergraduate study. But some math background is important! If you read the first 4 chapters and this is your first time seeing the concepts they review, you're going to have a bad time
I like this insight. I recently went from being a medical scribe to a data engineer within 2 years. My learning was focused on modern tooling / practices and building out ML/DE projects that tied all these fragmented things together. As someone without a background in any of this, starting top down, learning what you need along the way, and building concrete projects is 100% the way to go!
Hey, could you provide a bit of guidance? Do you work in ML? What did you focus on to build hirable skills? All I'm seeing online are introductory courses into the various ideas and learning libraries. What are the real world skills that companies are looking for?
Appreciate the detailed overview of your journey, bro. I've popped in and out my own deep dive the past couple years, similar approach (including the job(s) and babies part), so much respect for how deep you were able to dive. One thing I would say, is that now that you've learned you probably would have been best served diving into a project at a sane depth level, is that what you will be able to dive into now is much greater and probably can push past certain obstacles with more ease despite obviously not retaining everything you studied. Also interesting to see what resources and books are the most useful from person to person. I find a lot of overlap, but if I think about it I think the most useful one I read for ML/Deep Learning was Grokking Machine Learning. Something about it just hit the optimal mix of theory, application, practice, etc. that gave me a really good high level understanding to the foundations and practical application from basic machine learning to generative AI. All that said, again hats off to how much you were able to get through with all you had on your plate, that's something to be proud of on its own, and I'll definitely be applying some of your insights as I continue along my own path. Cheers
First time watcher here. This was really inspiring and motivating for me to invest more time into learning. Thanks for sharing your experience. I'll be building a learning regimen for myself based on insights from your experience: - Try to implement what I've learned into some sort of project. This would solidify the knowledge and also you get a few accomplishments along the way. - Invest more time in building mathematical intuition. I've found this challenging whenever I read a new paper, and try to implement it in some sort of prototype. Some of the greatest engineers I look up to had this skill, wherein they could read a research paper, and implement a prototype based on the new findings.
Great video. I've recently decided to double down on programming and have found myself falling into the same patterns of scattered learning. You suggestion to take a top down approach and focus on specific goals is good advice. Good luck to us both in the year to come.
9:32 - I know you meant to say there wasn’t anything you produced, but I would argue what you did still stands as an accomplishment. You should be proud of balancing a job, your family, and making time to learn all this cool stuff - sounds to me you did accomplish something just perhaps not in the most optimised manner. Thank you for sharing!
Thank you so much man! This was exactly what I needed, as I was planning to do the same for quite some time now and for similar reasons (math and stats being foundational pre-req for problem solving especially in the CS domain). They say life is too short to learn from your own mistakes. But here because of an amazingly generous gentleman like yourself. It is possible as you are sharing your experience with us wholeheartedly, Hence the time and effort you spent are very much worth it as you are now impacting the lives of guys like me. Thank you once again. For the immense value you provided.
I was planning to do the same . I need to prepare for FAANG interviews but my logic is so bad that I can’t even solve easy problems at this point . I think it is because of the lack of math knowledge , I forgot everything even basic stuff lol.
With regards to taking all these theoretical knowledge in "ai" further - Kaggle is a really good way to do it. Just like with leetcode, you will most likely be overwhelmed by how much is going on there, but a good start could be to start reading public notebooks, and/or start taking part in monthly playground competitions
Great video and thank you for sharing this experience. It kinda reminds me how john carmack became such a GOAT tier developer, he mainly focused on building project after project, I think this really reinforces the fact that the brain will only use what is useful and store whatever is not and thats why its very important to focus on creating projects and more importantly focus on the field you are trying to specialize at, unless you have some sort of intellectual curiosity in learning other things.
this is exactly the video I needed to see as someone who is starting his career. Thank you so much for sharing your experience! I find it inspiring you managed to do that while having a full time job and a kid!
my experience was similar to yours because there are so many resources available. We are also taught that we need to understand the low level concepts during college but it's very easy to branch away. Then, I started using gpt to get me what I want to do(which can't really do unless it's super simple) and make tutorials about the topic. I also watch the basic concept videos sometimes. It also keeps you going because it's easy to get lost
Using GPT/Claude is a great way to get started! I find it can't do a ton on its own, but it's like having an infinitely patient coworker to bounce ideas off of - and, like you said, to keep from getting lost
i had to pause this video at 1:39 and say THANK YOU. I am feeling such a strong excitement to hear your journey in this video. Now that the video is over - great lessons about lecture vs projects in this space.
If anyone wants to enter ML/AI, and scare about math part, you really do not need to solve multiple questions or memorize the equations etc. If you understand the intuition about the formula, that would 99% be enough
@@unlucky-777 there's multiple types of ML/AI work. Hardcore math skills are necessary for some, a nice-to-have for others, and completely irrelevant for others
This is a very good self reflection. Thank you so much for sharing it with us. I wanted to add some feedback here - I think you're spot on with saying that simply studying books is not ideal for retention and that the best way to learn is to build a project that requires the knowledge. As far as building math projects and algorithm projects. There are many things you can do. Here are some brief examples: - Probability: Build markov chain or stochastic models (by coding them) then using properties of the stochastic processes to solve a real world or toy problem. You can find a basic game or scientific system (weather, manufacturing, etc) that obeys the properties of the model and simulate it by writing code. - Linear Algebra: You can solve Truss problems, data recovery problems, and various engineering problems in physics using simple linear algebra - Algorithms: Try implementing gradient descent with momentum, writing a LU decomposition/Cholesky decomposition solver. Any easy problem would be to write a library that fits a ridge regression to data. By implementing the ridge regression library using one of these algorithms you're showing that you understand machine learning from the ground up.
building projects is the wayyyy!! good luck I'm also on my journey to learn/read blogs or books/dsa/ build stuff along with my full time job(I just started my job a few months back ~6months) Really nice video :D loved it and you gained a sub bud cheers
Ahh the old Theory Vs Practice dilemma, we all know this intuitively but we still cling to the "One more video, One more course, One more book" idea. There has to be a deeper reason why our brains think like this when we know tangible practice is the correct answer 80% of the time
"There has to be a deeper reason why our brains think like this when we know tangible practice is the correct answer 80% of the time" Because it's easier to consume than to create?
You can't fail a project when you watch someone doing it. At the same time we get a dopamine hit after completing a course making it feel like a progress.
@@ukaszszurgot1624 That’s so true. Most of the times I’ve felt reluctant to build something on my own, it stemmed from a fear of failing. I felt like I needed a 'guiding hand' to show me exactly how it’s supposed to be done. But I’ve come to realize that this approach can stunt your growth. In my experience, the best way to build a project is to embrace the fact that it’s okay not to know how to complete it right away. Instead, focus on building what you do know at the moment, and whenever you encounter a hurdle, simply Google your way through it. Then, rinse and repeat.
It was a complete waste of time so now the only thing that needs to be done is to study and research enough to invent a time machine to get the wasted time back
Thanks for sharing this Jeffery. I don't think learning new things is ever a mistake! You are incredibly productive. I am actually in a similar position to you, tired of webdev, new kid, need a change. Maybe my story will be useful to you. I ended up doing a part time masters in computational biology / bioinformatics (ongoing). This is why I don't do OSS or YT anymore, no time, same for you by the looks of things... I DID landing a role in a bioinformatics company (still doing engineering, but exposed to the new field I'm interested in). I also get to some part time projects for the company (unpaid, but that's how you learn - kind of like an internship). The only downside is a massive paycut (75k, this was a hard one to swallow), but I want to do something different where I am are no longer a 10+ years expert, so as expected I am not getting paid that same. This does link back to what you said; I learn 100x more working with other experts and doing **real** projects. Imposter syndrome is real, it's weird to feel like a fresh grad where you are in your mid 30s. 🤷♂ Our careers are likely to be 30-40 years (or at least mine) so IMO if you are bored, now is the time to make a big change! Either way good luck, you are big inspiration, all the best!
That's fantastic that you've been able to successfully go into the new field! Just a year ago you were still doing webdev, right? And now you're full-time bioinformatics! I bet you're going to speedrun the bioinformatics career ladder, since you bring a way of thinking that complements your new field. Congrats on the kid! How old are they now? 100% on it feeling weird to feel like a new grad. Although I wouldn't say impostor syndrome is real, since if I tried to portray myself as a PhD-level AI understander, I _would_ be an impostor 😂 then again, I've been able to keep up in AI meetup discussions, so 🤔🤔🤔 Excited to see how your new career goes, and how you're able to combine the two disciplines!
@@LachlanMiller 2 years, that's awesome! mine is 11 months tomorrow, and just recently started walking The next part of my plan is to get good at integrating AI into software applications, since that's the lowest hanging fruit that goes the direction I want to go. After that it's a little fuzzy
I've been a software engineer student for 2 years, this is exactly what I've noticed. Many times I would learn about Python, C++, CS fundamentals, or cybersecurity basics, just to forget most of it months later. I started focusing myself only in web development for now, and the last 6 months have been very productive for me. It's great to have a project in mind and then learn everything you need to achieve it; this way you can instantly apply new concepts into something you will be using, instead of learning everything at once and not doing much.
You're a lifesaver. I'm going through the same problems. Thanks for the video. TBH, I have only six months for the thing to pan out. If not, well, it's better not to think about what would be the life of a forcibly mobilized soldier sent to certain death.
this video saved me! I began python with Replit's 100 Days of Code after thanksgiving break. Once I finished, I went to Karpathy's Zero to Hero (completed today). Now, I was looking for the 'next' resource. As a freshman in college, I want nothing else but to make something wonderful. Could make a video on how you approach choosing what to work on for your projects? Thank you!
I would agree with all of this, a lot of money was wasted dropping out of college to learn this exact lesson. Grounding the theory in practice is where you actually learn, and where I actually had fun and could motivation to do the abstract stuff. Academia puts you on a course to grind through all the theory often without grounding it in practical skills. If you're in college, making time for a bigger side project or small part time job writing code might help a lot with contextualizing the theory in practice.
The amount of stuff that you read and learned, considering full time job and a kid, is just amazing! I’m curious how much time on average you dedicate for learning in a week for example?
I usually do 1-4 hours/day, depending on my energy levels, what else is going on with the family, and whether it's a gym day. Baby wakes up at 5am, and my work is two timezones over so it doesn't start until 11am.
Dear Jeffrey sir,, My name is MD. Golam Rabbany, and I am from Bangladesh. I aspire to become an AI engineer. Although I currently lack a personal computer, I am actively preparing by practicing mathematics on Khan Academy and improving my English communication skills through RUclips tutorials. I frequently reflect on my future study plans and eagerly anticipate the day I can begin studying Machine Learning (ML) with my own computer. However, through my research, I've realized that mathematics can be a significant challenge for many, including myself. I find your videos, and those of other related channels, incredibly helpful. Your in-depth knowledge of ML and the underlying mathematics is evident. Therefore, I humbly request that you consider creating a video series based on a book like "Mathematics for Machine Learning" by Marc Peter Deisenroth, or any other book you deem suitable. I would particularly appreciate if these videos were "pen and paper friendly," allowing viewers to follow along and learn effectively even without access to advanced software or computational resources. I am eager to embark on my mathematics learning journey with your guidance. Sincerely, MD. Golam Rabbany
The accomplishment is the broad understanding or intuition across a host of issues. If you ESPECIALLY take notes which link to eachother, then you'll have made a vast network of notes across all sorts of fields. So when you deep five into any particular topic, you now have vague memories and intuitions from all over, helping you out. I notice that I have this effect with learning programming languages. I have so much general scattered experience from all over, that I can probably jump into about any project on a brand new language, and figure out a way to very quickly self-learn my way to competence (knowing what to google based on those intuitions.) The added benefit is not an increase of your absolute output, but an increase of your output potential.
I was really JUST about to get into the rabbit hole. I wrote a list of all mathematical concepts that I want to learn. But now I realise, I shouldn't learn everything - that's too hard. I should learn project-based
Project-based for almost everything... except math. If you want to learn math, do a bunch of exercises of steadily increasing difficulty/complexity. With that said, if you're a programmer, you don't need much math. Really only if you're doing ML/AI research (in which case a Math for Machine Learning course should have you covered), Data Science (in which case you'll want statistics), or probably algorithm research
@@jeffrey_codes Well, I am actually interested in creating ML Projects. I thought that I have to know all the details of the math concepts to actually implement the ML models.
@@blacklight8932 it's very easy to use an existing algorithm without knowing any of the math behind it, but knowing the math will help you make better decisions around which algorithms to use and how to set the hyperparameters
Mathematics for machine learning is great. I spent probably over a month reading it, but by the end of it, I felt a lot more confident with everything related to ML.
As someone who try to do the same. I could say that most of it useless if you don't use this on your job. There is only two sets of knowledge you need to archive great results in career 1. How to pass interview 2. How to do your daily job Other things, like deep knowledge of OS, Computer networking, bit/bites and other stuff are useless for 99% of developers who works with backend/frontend/devops parts.
As someone who is set out on a similar journey to escape Web Dev. This is really informational. I also have DDIA book but haven't gone through it yet, started learning Golang, backend and Node.js internals more in depth and just today morning it hit me that all this learning that I am doing I don't have much to show for it, no tangible outcome so far, started doubting myself if I am even learning anything or not. EDIT: Wanted to add also few months ago I was looking into Game Dev using CPP and embedded systems with C and RISC-V CPU architecture to it's ISA to Assembly. Man I have a serious case of extreme curiosity or ADHD :P
If you enjoy it, then keep going with what you're interested in! But yes, doing projects and sticking with one thing will help you escape web dev much faster
Your comment very closely resembles my aspirations as well. I really want to try my hands on making my own compiler and operating system. I also want to explore computer graphics and build a ray tracer and then maybe even build fluid simulations (something like what Sebastian Lague does in his videos). But then I also know that I need to grind leetcode and competitive programming to remain relevant/sharp. And while doing all this I realize my foundation in certain math topics is shaky which then makes me want to read and practice entire math books. All of this together ends up becoming so overwhelming that I end up doing nothing lol T_T. Any suggestions to solve this dilemma are welcome btw!
@@ritwikgarg which math topics do you find that you’re shaky on? As gor beijg overwhelmed, you could focus learning one topic at a time (just choose something) and keep leetcode to a minimum
@joeysung311 Your suggestion does make sense. Guess I just have to stop taking too many things on my plate. As for the topics I feel I'm not very good at: - Number theory, Mathematical Induction, Methods of Proof and Combinatorics (while solving certain types of problems on codeforces, I realize I lack the mathematical intuition required). - Linear Algebra, Probability and Statistics (although I have taken undergraduate level courses in these subjects, I still feel that I haven't been able to develop a strong intuition for these fields and still have a lot left to learn) I also feel I'm not very confident in multivariable calculus but at this point I don't think its very relevant in helping to learn ML
knowledge gained is never time wasted bro it will surely help you when you'll be giving interviews, but you are right to start doing projects this year to help you transition into ML/AI and have proof of work
you should really do a vid on how you manage your time. baby + job + learning is big deal im struggling with time management myself. would love to hear how you do everything
I might do that video soon. The short version is that I get up at 5am when the baby wakes up, feed him and put him back to bed, and then I study. Take some breaks for breakfast with family, maybe go to gym. Then at 11am I start my WFH job. 7pm-9:30pm is family time then bed. I'll also usually work on studying/projects for a good chunk of one of the weekend days.
Thank you so much for sharing your ideas. Several Ideas i had about your year of studying: 1. first of all kudos, you studied a lot of different ideas while working / having a baby so that's not trivial great job for managing your time. 2. second, you are truly right on the lecture series / and videos. You can easily get fooled that you understand the underlying concepts but in reality if you are given a pen and paper you will not be able to solve the problem at hand. Mathematics is this sorts of activity that requires practice and rigor and you will not get that from watching someone do it on a video unless you practice it. I remember studying linear algebra with a colleague who used to compete in IMO; the level of thought required a lot of practice and thinking; and it doesn't happen from just watching how he/she does it. 3. third, project driven ventures i find them tricky for mainly two reasons; first when you are driven to doing a project you tend to be biased about the range of problems / projects you will encounter and this might limit "on what sort of things you should learn"; second you are limited by your ambition and standards of "what" is correct; and you don't know what you don't know. Textbook's and theses are a great way to understand "ML/AI" research; textbooks gives you context and history as to why people think this way or that way. Additionally, they are broader than your cognitive biases a structured and fast way to get knowledge. Finally, theses are great way to pick up on a particular field because they will give you an intro / background and a bunch of quality papers in the field so you will gain so much by reading a theses from a good PHD/master level student. Overall, thank you for sharing your story. I'm thinking about joining the ML course on Math academy could you elaborate more on your experience? (4 months) seems to much but how good is the level of education there?. The thing I like about mathmatics it pops up in different places so "this" universal language is tempting to acknowledge and understand.
Thanks! If you want to learn engineering-focused math, Math Academy is the best way to do it. If you want to go really hard-core in math you'll eventually run out of content, especially when you get to the more abstract/proof-based courses, but for understanding the math used in ML it's fantastic. But it is a large time investment, because they make you actually do the problem sets!
Glad I watched this, Im also working to pivot into data domain and was thinking we need to be 100% in every topic before we move, But learning implement or share then relearn and move on is the best way to solidify the concepts as u mentioned and what I have seen online. need to work on this and thanks for this video Happy 2025
You are a great learner and intelligent. You have to find one project and then proceed by applying them. The good thing about knowledge is its going to be there always at the bck of your mind. And to think that you did all of these while making content, having a baby and with a full time job is absolutely mind blowing. So, keep going. I am learning a lot from these as well. Thank you for sharing this cause these stuff we want to learn as well.
Thank you for sharing this! Your dedication is outstanding! I also wonder if it feels a bit of learning for the sake of learning, which is great, but unless it translates to a bigger paycheck/real results at the job might be a bit "nice-to-have"?
Месяц назад+1
I would like to give you a hand on this. I’ve been working as software engineer for 10 years. And yes definitely the practice is key, the good thing is now you are focus on it.
I dont know why the F the algorithm recommended this to me right now but thank god brother😂 I was already spending my time with some subjects u said on the video and this kind of experience that u had make the video worth of watching
I think a good methodology to do independent research in ML/AI without getting yourself into a tutorial loop is to constantly verify conclusive statements from all the external resources out there at some practical level. By verifying those concepts with experiments, you not only stand on a more solid factual ground, but also gained experience in implementing experiments, which is much more valuable and arguably the most important skill in the field of ML/AI research. I dropped a video reacting to Jeffery's learning process and give my own two cents on this methodology/heuristics for AI research here: ruclips.net/video/5FM_0RUJhYo/видео.htmlsi=XC-l45D6A-NlKglg. Feel free to check it out and leave your opinion!
Thanks for posting again!
Background here is @ezmonyi made a comment saying basically the same thing as above, it got hundreds of likes and a dozen people asking to see his research methodology. He made a video about it, I asked him to edit his original comment with the link, and then RUclips thought the new comment was spam and deleted it :(
Go check out his video!
@@jeffrey_codes I did the same thing as you but in 2021-2022(talk about a frustrating experience) and I learned the hard way what you learnt. I'm 18 now and going into EE. I'm also happy your educating people but not a single unique experience lol.
@@jeffrey_codes couldn't find his channel
You can learn math the same way he describes in his video. For example, consider the statement: 'If a matrix is positive semidefinite, then the quadratic form it defines is non-negative.' Instead of accepting it as a given truth, you should try to prove it yourself. In the process, you'll realize that proving this statement requires applying the properties of symmetric matrices. This approach allows you to 'do' the math rather than just memorizing it. Another practice I follow when studying math is expressing concepts in terms of code (python is a great tool for just doing that!)
@@neotokyovid it’s in fact a learning method applied in many subjects in college courses, but somehow people tend to be misled by online tutorials to think ML is somewhat different from everything else, part of intention to make the video is to clear that misinformation.
The best teacher I had in Engineering School used to say at the end of every class: "Did you learn it?" and everybody would say "Yes!" and he would say "You didn't! You understood it! Now go home and do these problems because that's how you learn!".
@@maxheadrom3088 he sounds like an amazing teacher!
Lol why did everybody keep saying "Yes" every day for the whole semester
I feel like that’s backwards. You can learn something but not really understand it until you take time to study.
Great teacher, I wish I had one of these when I was in School or at the University
what a jerk
The point about math is probably backwards. Doing math is not about solving some differential equations. It's about gaining understanding and intuition. Some level of exercises is needed, but unless you are solving those problems on a regular basis, you are going to forget anyway. Intuition and understanding probably is going to stick for longer.
Absolutely. I am one of those codecamp software engineers and though I got ahead in my career, I always saw that people with CS degrees who did a lot of math had much more intuition for solvibg programming problems and they were way faster in getting new concepts and learning new technology stacks.
I am now over 30 and thinking to go bto math and probably a CS degree to get my brain in this state and thinking.
I get your general idea, but the point in the video (that I agree with) is that when you merely read a math textbook or watch a course and simply reflect on it a little bit, you might get the "intuition" in the sense of "ah, I see more or less why that could be. Makes enough sense" but you don't get any sort of mastery or confident, deep understanding meaning that as soon as you were to go and try to apply it to a complex problem, you'd be completely stumped.
Also "doing math" isn't just calculating things. What really gets you the deepest understanding is writing proofs yourself. Sadly he didn't specify exactly what type of exercises he did.
There's a balance.
I agree that gaining understanding is the most important thing, but like @gaspaider said, if you don't ever do problems then it's very easy to trick yourself into thinking you understand when you don't.
Of course, I'm sure that people with greater mathematical maturity than me have enough learning tricks/instinct built up that they can verify their understanding through proofs and other methods while avoiding calculations. I'm not there yet.
I agree. I think intuition is the foundation, we build our house of knowledge on through rigorous exercise.
I've been doing math for sometime now. From contests in high school, to the International Mathematical Olympiad(IMO) and currently machine learning and silicon photonics, which are math intensive. I will say, having intuition is a farce. You never truly gain intuition until you solve a few problems yourself and rederive the formula or statement yourself. You'll be deluded into thinking you know but you actually don't. Yes, after the IMO, I've not been solving problems so I am rusty...but the intuition stayed with me. How do I know? well its so so much easier to pick up very difficult fields. It's almost like cheating. Recently I started learning category theory, a pHD level material...people say it is hard. I don't get why...it is so easy to pick up the propositions, intuition and ideas, and to solve problems and thus refine the knowledge and actually make it MINE, not the textbooks'.
Recap: shoot for a balance between learning and doing/coding to produce tangible projects
💯
Much appreciated 👍👍👍
Due to certain circumstances, I have not been able to code for the past six months or so and I could feel for the first time my studying/doing ratio alarm beeping hard after what, 6 books? on coding.
I disagree, the best balance is all doing/coding and doing that you;ll learn the concepts anyway,
coming from a heavy learners, lol coursera is scared of me
@@ShadowD2Cso Coursera is not worth it?
The hard truth about math is that you still have to learn it the text book way. Visualization videos are nice but at the end they only touch a small corner of each topic
Very true! I find the visualization videos can help me learn it better/faster, but I still have to spend 80% of my time doing it the textbook way
To put it precisely, even if you can imagine what’s going on visually, translating that into clear notation and manipulating it correctly is a separate skill, and then actually making the required logical connections between things in order to solve non-trivial problems is another skill on top of that. Having the intuition is essential though and unfortunately many teachers are not given the time nor the tools to teach students this.
@@badstylecherry7255 excellent explanation 🎯
Yeah but it's not hard. If you will learn until Differential(it's not that hard, no one expect it to solve some proofs) and basic of statistics and probability it's enough for most of the jobs including entry level AI Research jobs.
STEM should be focus on practical side not math. Real math challenge actually in the math or stat major.
@@TheChefElepthe degrees that are not focused on proofs in their math courses are the ones using practical applience of math.
In engineering courses in my country, we don’t dive too deep into proofs. Mostly in analysis courses, but they are just shown on lectures in case.
I think we have these hard math courses because it builds problem solving skills and it builds strong students who can handle very difficult situations in their career.
There’s a reason that engineering is very hard to get into, because they are made for people who are willing to do what it takes to get the job done.
I would not like for engineering to be easier. It’s made so that just not anyone can graduate.
Saying that STEM should not be focused on math I don’t agree with. You have a lot of practical courses already.
For ML you should atleast have taken advanced linear algebra with necessary statistics classes.
Mathematics is learned by solving thousands of problems. Learning only the theory is like learning the rules of basketball, watching the others play, and think you can play as well.
this was a wonderful video. i don’t feel like this type of honesty is very common on youtube
Thank you! I have the advantage that most of this is outside my day job, so I can be honest about setbacks without putting my family at risk. But still difficult to admit!
@@jeffrey_codes I appreciated your vulnerability! I'm in a similar boat, considering going down the same path. This saved me a lot of time
I am a uni student currently studying deep learning and computer networks, whenever I stumble upon a math concept that I am not familiar with I actually like to get lost in the rabit hole and explore more, but I kinda get your point, juggling all of this with a job and a family must take a lot of effort, on the contrary it is great that you were able to learn all of this within a year.
Math rabbit holes are fun for sure! And useful eventually. There are certainly a lot worse things you could be doing with your time!
Completely Agree. I too, spent a lot of time building math fundamentals by studying alone. But looking back, theres really nothing to put on my resume, and I cant really market myself to prospective employers. As a recent grad, this is a non trivial issue. The resolution I came up with is to make this year the year of project-based learning. Cheers!
Good luck on your project-based learning! As a recent grad you have the advantage of tons of free time; you could move 3-4x as fast as me if you really go after it.
@@jeffrey_codes What are some good project ideas to start doing? Where should I look to see people's sourcecode on their own AI models?
Do you still remember all the things related to math that you studied? I spent like 3 months studying algebra and calculus but after 5 months of not touching it I just forget everything. Like a waste of time. 😢
i am not even joking when i tell you this, i made an entire schedule to study like 60% of these topics by the end of this year (ml, math dsa (theory focus)), instead of data engineering i was going to deep dive haven't watched the video but wow the yt algorithm is good.
edit: i hope each one of you reading this achieves your learning goals this year ! lets change the world
lmao same, i started doing the IBM data engineering professional certificate and bought the Fundamentals of Data Engineering Orielly book, my goal was to learn it, master Discrete Math then deep dive into C programming and Operating Systems along with DSA
.....all before the end of this year
If you find all of those topics enjoyable to study, and you have the time, then absolutely go for it! I had a good time studying this year.
But if you want to get ahead fast then I'd encourage you to start building in the area you're interested in, while studying only the subjects that are most relevant
Why no data engineering? It's not relevant anymore?
@@josjos1847 oh no it definitely is! i learned all of these subjects in uni already but i think the data engineering knowledge i got in class suffices (plus its kinda boring for me)
Same but I'm studying for web dev
This is what I have been experiencing lately, stuck in this infinite learning loop. I gonna start with hands-on project and go in-depth from there. Thanks for your sharing!
The video connected with my soul. I have so many of these resources in my "roadmap" which will take like 5 years realistically. I'll definitely make sure to do more projects along way
My roadmap will last my entire life. There's always another level! Just keep working on it every day and you'll go far
Don't make such roadmaps, honestly please don't. I regret
@@simulation9219 share more?
@@jeffrey_codes My experience is still lesser than yours, so take caution with my advice.
I followed the same kind of roadmap, like from teachyourselfcs or ossu, and reading books or watching courses. And I have come to the conclusion that I won't be able to complete that, even if I do, it won't be practical enough to apply in the real world. After doing all this, I will from now on read from random youtubers by searching the topic I wanna study and read forums to understand better. I hope this will go better as this is how I studied when I got my laptop the first time. For more information, read my other comment on this video
@@jeffrey_codes I commented something, was it deleted?
I had a similar experience starting from 2017 to 2022-even if you did not achieve everything, you still built a base for your next try. Now I can easily study the content of 5 years in just one year, and I work in a similar career, which is heavily technical.
You just have to keep trying and modifying your strategy until you reach a certain mental state where acquiring skills is like a flow. it took me three years of trying and failing until i improved my methods
There is also a very important aspect: knowledge, especially multidisciplinary knowledge, will converge at some point and will explain itself.
You're right, there's definitely benefits to what I did this past year!
What's your method for studying 5 years of content in 1 year?
@@jeffrey_codes You are absolutely on the right track.
My method starts with choosing a certain project in order to use as a guide for what I need to learn and work into finishing it in the best way possible. In my case, it was a flight controller for a drone, including the hardware, software interface, and of course the flight dynamics.
learning new subjects is like sailing; you need to have a guide and be able to see the big picture, then switch your focus/effort back and forth to master the details
The second step is to gather the source materials, usually textbooks . I always rely on two textbooks for the same field, one to explain the high-level big picture and the other to teach the low-level details. mixing high-level and low-level material improves your real-world problem-solving skills
Imagine the knowledge you have as a tree. Everything should be connected to your logic and understanding of mathematics and domain knowledge, then branch to more specialized applications in a way that explains itself since everything is somehow connected
The third step is slowly reading the source materials and applying what you learn in a way that serves your reference project. which is a multibranched problem you need to turn into a real-world solution.
When studying, you should focus on intuition and avoid using blunt force if you face problems. Again, it should be like sailing; you should always be immersed in what you are doing; otherwise, you might get lost and forget your purpose. there is no shame in taking a step back to master a few concepts because you need to build internal logic/map
My most successful study plan was 3 hours each work day and 6 ours on weekends. I started sequentially with all the mathematics i needed, then used my acquired intuition to explaining the elementary single discipline domain subjects in mechanics, physics and programming skills, then kept building my own logic map until i was able to solve the more advanced multidisciplinary problem i had at the start
@dadasut50 this is excellent advice for deep technical topics 🎯
I especially like the "two textbooks" concept. I've used a variant on that before and it's been really effective
Nothing new under the sun huh. I failed half my AP math , physics and Chemistry exams through school because of this mentality
That is solid advice. Learn the basics. Then build projects to connect the dots. In this process, expand your knowledge.
🎯
Great reflection on how it’s easy to fall into a rabbit hole when learning new topics. Appreciate your self honesty when it comes to learning without practice you’ll probably forget: but I do believe it’s sometimes necessary to build a base.
i am a final year CS student and this really resonated with me, i really want to get into computer vision and am working on a study plan and this reminded me that project based learning needs to be 80% of the work
The pinned comment has some great advice on breaking into a subfield of AI. Wishing you the best on your journey!
This video is so relatable. I was learning towards learning maths and algorithms to become a better developer but you really hammered home the fact that to get better at development, you should practice developing things which are incrementally harder and learning topics you need to complete the project instead of studying peripheral topics. Thanks!
They're still great things to study if you enjoy them, and algorithms can help you with interviews! But yes, if you want to get good at the job the only thing to do is incrementally harder coding projects.
This video is great! I am in a similar situation; I just graduated college and am currently waiting to start my next job, and I have dedicated all of my time to trying to get as good as possible. I also read CODE, am doing the NeetCode roadmap + courses, reading Data-Intensive Applications, and doing side projects. I am only a few months into this process, but your video helps me a lot, so thank you!
Great video jeffrey, I too had a similar realisation some days ago, when I participated in my first hackathon. Even though it was all here and there, I learnt a lot more in those hours than I could in weeks
💯, now just keep working like you did in the hackathon and you're good to go!
How did you participate in hackathons?
@@Jack-iy2hk There are a lot of platforms online where your nearby universities/orgs publish about their upcoming hackathons. You can apply from there. For example, here in India, I use devfolio, unstop and the like to know about the upcoming hackathons at other universities in my city.
I also studied a lot of deep learning this year and the only stuff I remember really is the stuff I built projects with. I learnt about CNN's, RNN's transformers, reinforcement learning, recommendation algos. I ended only building projects using CNN's and RNN's (mostly due to data availability and compute). I can tell you a lot about how CNN's and RNN's work and good network architecture depending on what problem you optimising for but nothing about other network architectures.
Congratulations on the two successful projects! By doing those you're way ahead of all of the consumption-only students.
What's the issue with data availability/compute for reinforcement learning and recommendation algos? Is synthetic data (for recommendation algos) and self-play data (for RL) out of the question?
Where do you get your data from?
@@jeffrey_codes cheers! It’s not that data and compute weren’t available to build projects, but I quickly realized that the projects I had in mind were too ambitious and unfeasible with the resources I had. After learning some theory, I focused on building projects using architectures and algorithms I understood best, like CNNs and RNNs.
One of my projects was an OCR CRNN. Initially, I aimed for it to read text from any page and handle any amount of characters, but I realized that processing whole pages and paragraphs required much larger models due to the nature of CTC loss, which wasn’t feasible with my compute. So, I scrapped the part of the pipeline preparing data for larger bodies of text and trained the model to transcribe sentences instead. Additionally, finding labeled English essays and diverse text types was difficult, so I used the IAM database, which was sufficient. Despite these data and compute limitations, I’m still very happy with the project.
@@mymoviemania1 internet. I just search for labaled data on the thing I wanna build and hope I can find it free somewhere.
@@jeffrey_codesmaybe he is talking about rnn, cnn models
Great reflections - really valuable for us to see someone who has gone through it and then reflect back for us others to learn! Wish more experts and practicitioners in all fields did this. Thank you!
Glad it was helpful!
Great video! Thank you for your diligence to execute on your plan from the last year, and sharing your insights and learnings. Made the mistakes so we could all learn 💪
Thank you for sharing your experience.
Please consider adding links to the mentioned learning material in the video description.
Great idea! Added links to my favorites in the description.
Thanks!!!
@@jeffrey_codes Question! Whats the resource or page that you show on right side that says mathematical foundations? I have seen it a lot on twitter. I am bored of web development too haha
@@juanmanuelespina4540 it's MathAcademy
Good stuff, man. First timer here. Congrats on the baby and STICKING to a study regimen last year. More ppl need to produce videos like this as it properly portrays the fault in your original while detailing what you've learned from that and what you'll do to keep that from happening again
Thank you for this video. Why I appreciate this video is because I have dipped my toes into many different topics at once, and often go into "tutorial hell", and sometime I have learn, not necessarily unnecessary things, but it could have save me much more time not learning it and focus my time and energy on other things. And I also like the top down approach learning, where we choose the things we want to learn/implement first, and go accordingly rather than starting from the basics and fundamentals, saves a lot of time!
You build your knowledge from the very ground up.
Maybe not the most effienct way to understand ML topics but for sure not the illusion to talk as expert thanks a single all in one course.
This is an amazing journey, for me it’s the good way to love and learn, thank u.
very thoughtful and reflected approach you are choosing, hyped to follow and learn from your journey!
Kleppmann is straight fire ❤… high level roadmaps plus flowcharts for picking concrete open source tools …
The Deep Learning book can be done with an undergrad level of math, although I do have a math minor so I have some small "boost" from that. The problem is a lot of undergrad students don't actually get a firm grip on the math they are meant to learn because everything is so rushed and there just isn't time for yourself. That being said, from what I remember, after the 4th chapter or so it's just a series of techniques that need to be visited outside the book or put into practice. The first 4 chapters or so talk about fundamentals.
Yep, it can absolutely be done without a full undergrad math degree, and I could likely read through it now after just a year of study (4 months of which was math-focused). I also just checked and on the back it says it's suitable for graduate or undergraduate study.
But some math background is important! If you read the first 4 chapters and this is your first time seeing the concepts they review, you're going to have a bad time
I like this insight. I recently went from being a medical scribe to a data engineer within 2 years.
My learning was focused on modern tooling / practices and building out ML/DE projects that tied all these fragmented things together.
As someone without a background in any of this, starting top down, learning what you need along the way, and building concrete projects is 100% the way to go!
💯, you did it the right way. Congrats on the successful career transition!
Hey, could you provide a bit of guidance? Do you work in ML? What did you focus on to build hirable skills?
All I'm seeing online are introductory courses into the various ideas and learning libraries. What are the real world skills that companies are looking for?
Appreciate the detailed overview of your journey, bro. I've popped in and out my own deep dive the past couple years, similar approach (including the job(s) and babies part), so much respect for how deep you were able to dive. One thing I would say, is that now that you've learned you probably would have been best served diving into a project at a sane depth level, is that what you will be able to dive into now is much greater and probably can push past certain obstacles with more ease despite obviously not retaining everything you studied.
Also interesting to see what resources and books are the most useful from person to person. I find a lot of overlap, but if I think about it I think the most useful one I read for ML/Deep Learning was Grokking Machine Learning. Something about it just hit the optimal mix of theory, application, practice, etc. that gave me a really good high level understanding to the foundations and practical application from basic machine learning to generative AI.
All that said, again hats off to how much you were able to get through with all you had on your plate, that's something to be proud of on its own, and I'll definitely be applying some of your insights as I continue along my own path. Cheers
First time watcher here. This was really inspiring and motivating for me to invest more time into learning. Thanks for sharing your experience. I'll be building a learning regimen for myself based on insights from your experience:
- Try to implement what I've learned into some sort of project. This would solidify the knowledge and also you get a few accomplishments along the way.
- Invest more time in building mathematical intuition. I've found this challenging whenever I read a new paper, and try to implement it in some sort of prototype. Some of the greatest engineers I look up to had this skill, wherein they could read a research paper, and implement a prototype based on the new findings.
Looking forward to seeing your success!
And agreed, implementing a paper is such a great learning hack, especially if you want to go into research!
Very informative and insightful, thank you for making and posting this!
Great video. I've recently decided to double down on programming and have found myself falling into the same patterns of scattered learning. You suggestion to take a top down approach and focus on specific goals is good advice. Good luck to us both in the year to come.
Good luck on your programming journey!
9:32 - I know you meant to say there wasn’t anything you produced, but I would argue what you did still stands as an accomplishment. You should be proud of balancing a job, your family, and making time to learn all this cool stuff - sounds to me you did accomplish something just perhaps not in the most optimised manner. Thank you for sharing!
Thanks for this, was about to embark on getting deeper into topics I don't work with on a day to day.
Hopefully you'll still embark on that journey, but will incorporate some projects into your learning!
Awesome video! Looking forward to your project videos
Thanks for sharing this in a clear way
Thank you so much man! This was exactly what I needed, as I was planning to do the same for quite some time now and for similar reasons (math and stats being foundational pre-req for problem solving especially in the CS domain).
They say life is too short to learn from your own mistakes. But here because of an amazingly generous gentleman like yourself. It is possible as you are sharing your experience with us wholeheartedly, Hence the time and effort you spent are very much worth it as you are now impacting the lives of guys like me. Thank you once again. For the immense value you provided.
I was planning to do the same . I need to prepare for FAANG interviews but my logic is so bad that I can’t even solve easy problems at this point . I think it is because of the lack of math knowledge , I forgot everything even basic stuff lol.
This video is so so so so so so so so so good. Thank you - I needed to watch this.
Great video … a genuine and honest self-assessment is refreshing to see
I'm in my initial phases of (self)learning ML and this video decluttered many thoughts. Thank you so much sir for this!
Thank you for making this - so valuable!
Thanks for the recommendations. I'm going to start working on the neetcode roadmap once my next semester starts.
No need to wait for the next semester!
Great job documenting your effort and experience.
really enjoy your honest in the video
That's an important video! Thank you for sharing, kind sir!
With regards to taking all these theoretical knowledge in "ai" further - Kaggle is a really good way to do it. Just like with leetcode, you will most likely be overwhelmed by how much is going on there, but a good start could be to start reading public notebooks, and/or start taking part in monthly playground competitions
This is a good idea!
Great video and thank you for sharing this experience. It kinda reminds me how john carmack became such a GOAT tier developer, he mainly focused on building project after project, I think this really reinforces the fact that the brain will only use what is useful and store whatever is not and thats why its very important to focus on creating projects and more importantly focus on the field you are trying to specialize at, unless you have some sort of intellectual curiosity in learning other things.
FIRST THING: compliments for having attempted to get better and stretch yourself!
Thanks for sharing mate!
this is exactly the video I needed to see as someone who is starting his career. Thank you so much for sharing your experience! I find it inspiring you managed to do that while having a full time job and a kid!
Thanks, glad it was helpful! I wish you luck on your career and future projects
my experience was similar to yours because there are so many resources available. We are also taught that we need to understand the low level concepts during college but it's very easy to branch away. Then, I started using gpt to get me what I want to do(which can't really do unless it's super simple) and make tutorials about the topic. I also watch the basic concept videos sometimes. It also keeps you going because it's easy to get lost
Using GPT/Claude is a great way to get started! I find it can't do a ton on its own, but it's like having an infinitely patient coworker to bounce ideas off of - and, like you said, to keep from getting lost
i had to pause this video at 1:39 and say THANK YOU. I am feeling such a strong excitement to hear your journey in this video.
Now that the video is over - great lessons about lecture vs projects in this space.
Yeah as soon as I made a heavy study plan this video shows up. Thanks for the great insight.
This is a great video, i love how upfront you are with this and I'm sure this will help many other people like me on the same path as you
If anyone wants to enter ML/AI, and scare about math part, you really do not need to solve multiple questions or memorize the equations etc. If you understand the intuition about the formula, that would 99% be enough
That's what everyone says who doesn't actually have the intuition.
@difficult_aardvark yes thats actually harder than just memorizing the entire formula
@@unlucky-777 memorizing formulas is totally irrelevant.
@@unlucky-777 there's multiple types of ML/AI work. Hardcore math skills are necessary for some, a nice-to-have for others, and completely irrelevant for others
iswtg this just almost summaries what I studied for my 3rd year first semester. ty for the reflection and lesson
I'm curious, what's the 3rd year second semester curriculum look like?
Great video , Thanks for sharing!
This is a very good self reflection. Thank you so much for sharing it with us. I wanted to add some feedback here - I think you're spot on with saying that simply studying books is not ideal for retention and that the best way to learn is to build a project that requires the knowledge. As far as building math projects and algorithm projects. There are many things you can do. Here are some brief examples:
- Probability: Build markov chain or stochastic models (by coding them) then using properties of the stochastic processes to solve a real world or toy problem. You can find a basic game or scientific system (weather, manufacturing, etc) that obeys the properties of the model and simulate it by writing code.
- Linear Algebra: You can solve Truss problems, data recovery problems, and various engineering problems in physics using simple linear algebra
- Algorithms: Try implementing gradient descent with momentum, writing a LU decomposition/Cholesky decomposition solver. Any easy problem would be to write a library that fits a ridge regression to data. By implementing the ridge regression library using one of these algorithms you're showing that you understand machine learning from the ground up.
These are fantastic ideas!
I'm going to bookmark your comment in case I come back to focusing on math
thats the hardest part for me , coming up with projects and problems to solve
Thank you for sharing your honest experience.
building projects is the wayyyy!! good luck I'm also on my journey to learn/read blogs or books/dsa/ build stuff along with my full time job(I just started my job a few months back ~6months)
Really nice video :D loved it and you gained a sub bud
cheers
Ahh the old Theory Vs Practice dilemma, we all know this intuitively but we still cling to the "One more video, One more course, One more book" idea.
There has to be a deeper reason why our brains think like this when we know tangible practice is the correct answer 80% of the time
We see more courses in one minute scrolling youtube than a medieval peasant would see in his lifetime. It makes sense to want to hoard the knowledge!
That's so empathetic to your brain, love this framing. We must learn to tame the knowledge-greedy peasant @@jeffrey_codes
"There has to be a deeper reason why our brains think like this when we know tangible practice is the correct answer 80% of the time"
Because it's easier to consume than to create?
You can't fail a project when you watch someone doing it. At the same time we get a dopamine hit after completing a course making it feel like a progress.
@@ukaszszurgot1624 That’s so true. Most of the times I’ve felt reluctant to build something on my own, it stemmed from a fear of failing. I felt like I needed a 'guiding hand' to show me exactly how it’s supposed to be done. But I’ve come to realize that this approach can stunt your growth. In my experience, the best way to build a project is to embrace the fact that it’s okay not to know how to complete it right away. Instead, focus on building what you do know at the moment, and whenever you encounter a hurdle, simply Google your way through it. Then, rinse and repeat.
Love this. Still stuck in and loving webdev for me!
This was not a waste of time, you have figured out a lot by going through these.
True! Suboptimal, but definitely not a waste
It was a complete waste of time so now the only thing that needs to be done is to study and research enough to invent a time machine to get the wasted time back
Loved this, thank you @Jeffrey Codes
Just seeing the image on the begining is enough
Man you're absolutly a legend BIIIG respect to you
Respect
Thank you brother, definitely some valuable informations you shared there.
Thanks! Think you saved me a world of pain. I’m trying to do this while spending most of my time raising 4 children, and every second I spend counts.
Thanks for sharing this Jeffery. I don't think learning new things is ever a mistake! You are incredibly productive.
I am actually in a similar position to you, tired of webdev, new kid, need a change. Maybe my story will be useful to you. I ended up doing a part time masters in computational biology / bioinformatics (ongoing). This is why I don't do OSS or YT anymore, no time, same for you by the looks of things...
I DID landing a role in a bioinformatics company (still doing engineering, but exposed to the new field I'm interested in). I also get to some part time projects for the company (unpaid, but that's how you learn - kind of like an internship). The only downside is a massive paycut (75k, this was a hard one to swallow), but I want to do something different where I am are no longer a 10+ years expert, so as expected I am not getting paid that same. This does link back to what you said; I learn 100x more working with other experts and doing **real** projects. Imposter syndrome is real, it's weird to feel like a fresh grad where you are in your mid 30s. 🤷♂
Our careers are likely to be 30-40 years (or at least mine) so IMO if you are bored, now is the time to make a big change!
Either way good luck, you are big inspiration, all the best!
Amazingly this is your most viewed video!
That's fantastic that you've been able to successfully go into the new field! Just a year ago you were still doing webdev, right? And now you're full-time bioinformatics! I bet you're going to speedrun the bioinformatics career ladder, since you bring a way of thinking that complements your new field.
Congrats on the kid! How old are they now?
100% on it feeling weird to feel like a new grad. Although I wouldn't say impostor syndrome is real, since if I tried to portray myself as a PhD-level AI understander, I _would_ be an impostor 😂 then again, I've been able to keep up in AI meetup discussions, so 🤔🤔🤔
Excited to see how your new career goes, and how you're able to combine the two disciplines!
@ just over 2, how about yours?
So anyway, what **is** your plan now? are you going to try pivot to ML, analytics, something else?
@@LachlanMiller 2 years, that's awesome! mine is 11 months tomorrow, and just recently started walking
The next part of my plan is to get good at integrating AI into software applications, since that's the lowest hanging fruit that goes the direction I want to go. After that it's a little fuzzy
I spent last year studying these exact same books! Good luck on your journey
I've been a software engineer student for 2 years, this is exactly what I've noticed. Many times I would learn about Python, C++, CS fundamentals, or cybersecurity basics, just to forget most of it months later. I started focusing myself only in web development for now, and the last 6 months have been very productive for me. It's great to have a project in mind and then learn everything you need to achieve it; this way you can instantly apply new concepts into something you will be using, instead of learning everything at once and not doing much.
Thank you for your honesty. New subscriber here!
You're a lifesaver. I'm going through the same problems. Thanks for the video. TBH, I have only six months for the thing to pan out. If not, well, it's better not to think about what would be the life of a forcibly mobilized soldier sent to certain death.
this video saved me! I began python with Replit's 100 Days of Code after thanksgiving break. Once I finished, I went to Karpathy's Zero to Hero (completed today). Now, I was looking for the 'next' resource.
As a freshman in college, I want nothing else but to make something wonderful.
Could make a video on how you approach choosing what to work on for your projects?
Thank you!
final thoughts were on point
good luck mate, you seem very self motivated
I would agree with all of this, a lot of money was wasted dropping out of college to learn this exact lesson. Grounding the theory in practice is where you actually learn, and where I actually had fun and could motivation to do the abstract stuff. Academia puts you on a course to grind through all the theory often without grounding it in practical skills. If you're in college, making time for a bigger side project or small part time job writing code might help a lot with contextualizing the theory in practice.
thought the title was clickbait, video was awesome, loved the honesty. great video, thanks for sharing!
That's my goal... Clickbait that makes you glad you clicked!
Thanks for sharing your experience.
really insightful video, I think that this is a must watch for any student
The amount of stuff that you read and learned, considering full time job and a kid, is just amazing! I’m curious how much time on average you dedicate for learning in a week for example?
I usually do 1-4 hours/day, depending on my energy levels, what else is going on with the family, and whether it's a gym day. Baby wakes up at 5am, and my work is two timezones over so it doesn't start until 11am.
@ So you learn before the job, very smart, 1-4 hours sounds reasonable, thanks for the answer!
Dear Jeffrey sir,,
My name is MD. Golam Rabbany, and I am from Bangladesh. I aspire to become an AI engineer. Although I currently lack a personal computer, I am actively preparing by practicing mathematics on Khan Academy and improving my English communication skills through RUclips tutorials.
I frequently reflect on my future study plans and eagerly anticipate the day I can begin studying Machine Learning (ML) with my own computer. However, through my research, I've realized that mathematics can be a significant challenge for many, including myself.
I find your videos, and those of other related channels, incredibly helpful. Your in-depth knowledge of ML and the underlying mathematics is evident.
Therefore, I humbly request that you consider creating a video series based on a book like "Mathematics for Machine Learning" by Marc Peter Deisenroth, or any other book you deem suitable. I would particularly appreciate if these videos were "pen and paper friendly," allowing viewers to follow along and learn effectively even without access to advanced software or computational resources. I am eager to embark on my mathematics learning journey with your guidance.
Sincerely,
MD. Golam Rabbany
The accomplishment is the broad understanding or intuition across a host of issues. If you ESPECIALLY take notes which link to eachother, then you'll have made a vast network of notes across all sorts of fields. So when you deep five into any particular topic, you now have vague memories and intuitions from all over, helping you out.
I notice that I have this effect with learning programming languages. I have so much general scattered experience from all over, that I can probably jump into about any project on a brand new language, and figure out a way to very quickly self-learn my way to competence (knowing what to google based on those intuitions.)
The added benefit is not an increase of your absolute output, but an increase of your output potential.
I was really JUST about to get into the rabbit hole. I wrote a list of all mathematical concepts that I want to learn. But now I realise, I shouldn't learn everything - that's too hard. I should learn project-based
Project-based for almost everything... except math. If you want to learn math, do a bunch of exercises of steadily increasing difficulty/complexity.
With that said, if you're a programmer, you don't need much math. Really only if you're doing ML/AI research (in which case a Math for Machine Learning course should have you covered), Data Science (in which case you'll want statistics), or probably algorithm research
@@jeffrey_codes Well, I am actually interested in creating ML Projects. I thought that I have to know all the details of the math concepts to actually implement the ML models.
@@blacklight8932 it's very easy to use an existing algorithm without knowing any of the math behind it, but knowing the math will help you make better decisions around which algorithms to use and how to set the hyperparameters
Thanks this was great. I''m on a similar learning path - perhaps 6 months behind.
Hopefully I've saved you some of those months by helping prioritize!
Mathematics for machine learning is great. I spent probably over a month reading it, but by the end of it, I felt a lot more confident with everything related to ML.
As someone who try to do the same. I could say that most of it useless if you don't use this on your job. There is only two sets of knowledge you need to archive great results in career
1. How to pass interview
2. How to do your daily job
Other things, like deep knowledge of OS, Computer networking, bit/bites and other stuff are useless for 99% of developers who works with backend/frontend/devops parts.
Very true. Unless you want to switch to a more interesting field, or you find it enjoyable to study!
As someone who is set out on a similar journey to escape Web Dev.
This is really informational.
I also have DDIA book but haven't gone through it yet, started learning Golang, backend and Node.js internals more in depth and just today morning it hit me that all this learning that I am doing I don't have much to show for it, no tangible outcome so far, started doubting myself if I am even learning anything or not.
EDIT: Wanted to add also few months ago I was looking into Game Dev using CPP and embedded systems with C and RISC-V CPU architecture to it's ISA to Assembly. Man I have a serious case of extreme curiosity or ADHD :P
are you wanting to escape web dev for job security reasons or something else?
If you enjoy it, then keep going with what you're interested in! But yes, doing projects and sticking with one thing will help you escape web dev much faster
Your comment very closely resembles my aspirations as well. I really want to try my hands on making my own compiler and operating system. I also want to explore computer graphics and build a ray tracer and then maybe even build fluid simulations (something like what Sebastian Lague does in his videos). But then I also know that I need to grind leetcode and competitive programming to remain relevant/sharp. And while doing all this I realize my foundation in certain math topics is shaky which then makes me want to read and practice entire math books. All of this together ends up becoming so overwhelming that I end up doing nothing lol T_T. Any suggestions to solve this dilemma are welcome btw!
@@ritwikgarg which math topics do you find that you’re shaky on? As gor beijg overwhelmed, you could focus learning one topic at a time (just choose something) and keep leetcode to a minimum
@joeysung311 Your suggestion does make sense. Guess I just have to stop taking too many things on my plate.
As for the topics I feel I'm not very good at:
- Number theory, Mathematical Induction, Methods of Proof and Combinatorics (while solving certain types of problems on codeforces, I realize I lack the mathematical intuition required).
- Linear Algebra, Probability and Statistics (although I have taken undergraduate level courses in these subjects, I still feel that I haven't been able to develop a strong intuition for these fields and still have a lot left to learn)
I also feel I'm not very confident in multivariable calculus but at this point I don't think its very relevant in helping to learn ML
super useful video. thanks Jeffrey!
knowledge gained is never time wasted bro it will surely help you when you'll be giving interviews, but you are right to start doing projects this year to help you transition into ML/AI and have proof of work
you should really do a vid on how you manage your time. baby + job + learning is big deal
im struggling with time management myself. would love to hear how you do everything
I might do that video soon.
The short version is that I get up at 5am when the baby wakes up, feed him and put him back to bed, and then I study. Take some breaks for breakfast with family, maybe go to gym. Then at 11am I start my WFH job. 7pm-9:30pm is family time then bed. I'll also usually work on studying/projects for a good chunk of one of the weekend days.
Thank you so much for sharing your ideas.
Several Ideas i had about your year of studying:
1. first of all kudos, you studied a lot of different ideas while working / having a baby so that's not trivial great job for managing your time.
2. second, you are truly right on the lecture series / and videos. You can easily get fooled that you understand the underlying concepts but in reality if you are given a pen and paper you will not be able to solve the problem at hand. Mathematics is this sorts of activity that requires practice and rigor and you will not get that from watching someone do it on a video unless you practice it. I remember studying linear algebra with a colleague who used to compete in IMO; the level of thought required a lot of practice and thinking; and it doesn't happen from just watching how he/she does it.
3. third, project driven ventures i find them tricky for mainly two reasons; first when you are driven to doing a project you tend to be biased about the range of problems / projects you will encounter and this might limit "on what sort of things you should learn"; second you are limited by your ambition and standards of "what" is correct; and you don't know what you don't know. Textbook's and theses are a great way to understand "ML/AI" research; textbooks gives you context and history as to why people think this way or that way. Additionally, they are broader than your cognitive biases a structured and fast way to get knowledge. Finally, theses are great way to pick up on a particular field because they will give you an intro / background and a bunch of quality papers in the field so you will gain so much by reading a theses from a good PHD/master level student.
Overall, thank you for sharing your story.
I'm thinking about joining the ML course on Math academy could you elaborate more on your experience? (4 months) seems to much but how good is the level of education there?.
The thing I like about mathmatics it pops up in different places so "this" universal language is tempting to acknowledge and understand.
Thanks!
If you want to learn engineering-focused math, Math Academy is the best way to do it. If you want to go really hard-core in math you'll eventually run out of content, especially when you get to the more abstract/proof-based courses, but for understanding the math used in ML it's fantastic. But it is a large time investment, because they make you actually do the problem sets!
@ thank you Jeffery! Will check it out!
Glad I watched this, Im also working to pivot into data domain and was thinking we need to be 100% in every topic before we move,
But learning implement or share then relearn and move on is the best way to solidify the concepts as u mentioned and what I have seen online.
need to work on this and thanks for this video
Happy 2025
💯, no one will pay you for knowing everything - but they will pay you for solving their problem
You are a great learner and intelligent. You have to find one project and then proceed by applying them. The good thing about knowledge is its going to be there always at the bck of your mind. And to think that you did all of these while making content, having a baby and with a full time job is absolutely mind blowing. So, keep going. I am learning a lot from these as well. Thank you for sharing this cause these stuff we want to learn as well.
Thanks I really needed this video now
Thank you for sharing this! Your dedication is outstanding! I also wonder if it feels a bit of learning for the sake of learning, which is great, but unless it translates to a bigger paycheck/real results at the job might be a bit "nice-to-have"?
I would like to give you a hand on this. I’ve been working as software engineer for 10 years. And yes definitely the practice is key, the good thing is now you are focus on it.
I dont know why the F the algorithm recommended this to me right now but thank god brother😂
I was already spending my time with some subjects u said on the video and this kind of experience that u had make the video worth of watching
Each of these books costs more than the monthly subscription for O’Reily where you can read almost all them online. Plus tens of thousands more.