Back to Posts

My Machine Learning Adventure

Posted in Machine-Learning, Deep-Learning, Google-Developers

What is Machine Learning?

Arthur Samuel, who coined the term “Machine Learning”, defined it as the ability of computers to learn new instructions without being programmed explicitly. Thirty-eight years after, Tom M. Mitchell provided a definition that is more formal and now widely quoted. An expert of artificial intelligence (AI), Machine Learning, and cognitive neuroscience, he proposed a definition to this algorithm:

“a computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.”

Machine Learning, now being widely used in services with respect to technology, analysis, and data, has already manifested its presence and use in the products we’re using, it may be in web, mobile, infrastructure, or IoT. As this technology has continued to flourish, I became interested in developing an application myself. I joined in developer summits, two of which are GDG DevFest and TensorFlow Dev Summit Extended both held in Cagayan de Oro. After listening to the keynotes and breakout sessions, I almost had a sour grape in starting to learn about this technology because it is difficult (really difficult). Though I have prior knowledge in statistics, big data, analytics, and mathematical algorithms, this field for me is hard to learn. I started to browse over the internet for books and publications related to Machine Learning and also consulted to Data Science experts to help me introduce into this field. Thanks to Nelson Mandela’s quote, “it always seems impossible until it’s done”, I was inspired to really begin and push through this journey.

There were a lot of free online courses in Machine Learning and I had a hard time finding the “perfect” site to start my learning. I searched for books for additional learning materials to start my coding. I started in-depth coding in Python though I have an experience in this language but I still had to do more practice. I enrolled in a free online course at DataCamp to study numpy, scipy, matplotlib, and other packages for Data Science. It took me months to learn the fundamentals of big data processing and it was all worth it.

DataCamp

I enjoyed late night coding together with a bunch of school requirements and projects just to learn Machine Learning. It was difficult for me at first but I had a timeframe (please consider it as a timeframe) in hopes of balancing my time in finishing school requirements and studying Machine Learning.

My Machine Learning Study Frame

After months of learning data processing by using Data Science packages in Python, I have found a curated list of resources made by Kaggle which can be found here.

Kaggle

And then the real adventure began. The lessons are expecting me to have a knowledge in data processing with Python, probability and statistics, and linear algebra. I learned about supervised and unsupervised learning and where to specifically use them, Machine Learning algorithms, linear regression, converting a 2-D data model to 3-D or 4-D or any of them, linear spaces, convolution models, normalization, Gaussian and Gabor kernels, and of course TensorFlow, Google’s open-source software library for machine intelligence.

TensorFlow

I found dataset suitable for my learning named Large-scale CelebFaces Attributes (CelebA) Dataset by researchers at The Chinese University of Hong Kong. It is composed of images of various celebrities around the globe and I what I want to do after learning is that I want to develop a “hallucination” of images from the dataset which is really cool.

Large-scale CelebFaces Attributes (CelebA) Dataset

I also learned about processing image datasets which includes turning them into a batch dimension and normalizing the values of datasets. Images are arrays of numbers and they have a dimension of H x W x C where H is the height, W is the width, and C are the channels (red, green, and blue). For example, if I have an image with a dimension of 213px by 156px, the shape of the dimension is (213, 156, 3).

Gabor Kernel

I want to share more of my Machine Learning adventure but I believe I’m still starting and I will hopefully will post about my progress, soon. I want to share what I learned and to also inspire others to start developing and to overcome the fear because you think that topic or field is difficult. This will be really fun, I promise.

Image Normalization


Guys, I need your help. If anyone of you have Machine Learning books and other resources, as well as datasets to play with, feel free to send e-mail me at info@marcreyes.ph. Thanks everyone for reading my blog.

Hi! My name is Marc and I'm a student developer from Cagayan de Oro, Philippines, and building interfaces and developing Machine Learning and AI applications for various causes are some of my skills as an up-and-coming developer. I'm also occasionally invited to speak at tech conferences to share my knowledge and experiences as a budding front end web developer-turned-data scientist.

Read Next

Service Workers