This will be a compilation of the past 4 weeks, from November 25 to December 22.
Week 1
So for the first week, I started learning the mathematics behind machine learning and data science. I also attended an event, Generative AI in Action Roadshow, which also was very helpful.
ML Mathematics
I'm taking this course on Coursera by Imperial College London. At first it was easy since I learnt vectors in school, but then it got a bit harder to grasp the concept and how it applies to machine learning. It's only the first week so I'll probably understand further on. To be specific I learnt about the dot product of vectors, vector projection, linear dependency and how to change basis vectors. To oversimplify it, I guess data can be structured into vectors which then can be used to predict how to get the desired outcome using vector operations?
Generative AI Roadshow
During the GenAI event, I learnt what is generative AI and how it works. From what I understand, it's a newer form of AI that takes a prompt and generates (hence "generative") new things such as images, video, code, etc. Then I learnt that LLMs just have weights, and AI agents are needed ( which are basically the model(s) (the brain), the tools (arms & legs) and how it's connected with goals, reasoning, etc. ) to do things
There's a no code/low code solution to making generative AI on Google Cloud which has multiple services, one of them being Vertex AI which has an agent builder as well. Even though uploading data there took quite a long time, it's actually good for businesses that want to implement generative AI in their websites or other things.
For a full code method of making generative AI, we learnt function calling which is a way for AI to retrieve more relevant or real-time information instead of using RAG to give set data. How I think of it, is that functions are used to retrieve data from an API, then create a more human response from the data. Something interesting that I learnt was a syntax that implies calling a function without hard coding it to make it more flexible. Something about a double pointer, I'm going to have to research more about that.
# assign function name and arguments as provided in the function call response
func_name = response.candidates[0].content.parts[0].function_call.name
func_args = response.candidates[0].content.parts[0].function_call.args
# call the function to get the exchange rate information
fx_rate_json = globals()[func_name](**func_args)
fx_rate_json
There was also some things about Crew AI about using multiple agents to achieve a certain goal.
Additional Stuff
I also did more research and started reading some books. Now I know some basics of neural networks, such as how it "learns" using costs and weights to create a gradient descent. These videos by 3Blue1Brown was very helpful.
Wrap Up
That's all for this week, for those reading, please let me know if I got anything wrong! I might have left some things out but it's probably enough for future me to review.
Week 2
Another week goes by and I feel like I didn't progress that much, but there are things that I did. I continued the course on Machine Learning Mathematics, started learning on how Git works and I'm halfway through The Linux Command Line (a book by William Shotts).
ML Mathematics
For this week, I learnt about how matrices are used to make transformations and solve linear equations. Basically if you arrange all the data in columns and rows, you can divide or multiply each row, and substitute each row with each other (row A is 2 times of row B). After that you can solve linear equations or get things like the identity matrix or inverse matrix. Still not quite sure on how this applies to machine learning but there's two weeks left on the course so I'll know soon enough.
The Linux Command Line
So actually I started learning Linux a long time ago (I think when I got a raspberry pi), and I'm sure it's a good skill to learn since most of the best technologies are made with Linux. Servers are also made with Linux so I assumed that I'll probably be working with them when becoming a machine learning engineer. A few things I learnt this week were Networking and Storage Management. Linux works very differently from Windows, but that doesn't mean it's hard. When I was learning about Networking, Linux is very secure, and if you understand the command line, is also very easy to use. I also learnt about mounting and unmounting a removable storage device to put it on the file system tree. These are some basic things but I'm still learning.
Git
Speaking of Linux, I learnt that Git was also made by the same person that made Linux, Linus Torvalds, which is really cool. Git is basically a VCS, a version control system, that helps store and note about all the changes you made to a project. I learnt some basic commands like staging the files and committing them. I always thought Github was like a website that just does everything a VCS does, but Github is just an online service that uses Git to store your repositories on their servers.
Wrap-up
That's all for this week. Please correct any things that I might have said wrong. For every post, I make sure not to use any form of AI since I want to reflect what I understand about everything I learnt in a more efficient way. Thanks for reading!
Week 3
This week, I continued on Machine Learning Mathematics and I learnt more about Git.
ML Mathematics
I feel like the course actually gets easier as you progress through it. I learnt that turning any matrix into an orthogonal (90 degrees to each other) matrix is always a good idea. It's basically to make it possible to use dot product with it and changing basis vectors, etc. It's also simple to turn any matrices into orthogonal matrices, using a process called the Gram Schmidt process.
Git
Learnt some more basic concepts such as branching, merging and using remote repositories like Github. I also learnt about rebasing a branch that is off the master branch to make the commit history more linear.
Wrap-up
To be honest, this week isn't impressive and I feel like I should've accomplished more. Next week, I'll finish both the introduction to Git and the first course in ML Mathematics, and I'm going to start learning data visualization with Python as well as starting a machine learning course. Thanks for reading.
Week 4
This week, unfortunately I couldn't start the data visualization course just yet, as well as the machine learning course. I did finish the course on Machine Learning Mathematics, 1 of 3 courses of the specialization. The next course is on multivariate calculus.
ML Mathematics
For the last part of the course, I learnt about eigenvectors which are basically a vector that changes in value (eigenvalue) but stays on the same path. Other than that, I learnt diagnolisation which makes finding the power of a vector easier by using a formula. After that, the course explains how Page Rank works, made by Larry Page, it's a smart way to rank webpages. A webpage is ranked by the probability of one webpage goes to another. The probability of randomly going to a webpage is also added. The probabilities are added to a matrix which is used to rank each webpage.
Wrap-up
That's been a month of learning machine learning. Human learning machine learning. Sounds weird. Anyway I can tell that I'm going too slow. I should start learning more simultaneously. Oh, I forgot to include that I finished the course on learning Git. Next week I'm starting these 3 courses, as well as the book on The Linux Command Line (a book by William Shotts);
Data Analysis with Python
Multivariate Calculus
Exploratory Data Analysis for Machine Learning
Top comments (0)