About Machine Learning Pages

About the Blog:

Machine Learning Pages is a blog where I can keep track of what I’m learning about “doing machine learning”. My goal is to organize my notes in a way that makes it easy to refer back to any given topic when needed. I’m using the category and tag features of WordPress, while keeping the posts short and to the point to do this.

I been programming since 1976 where my dad brought home a Commodore PET. One of the first programs I encountered was an Eliza clone that usually ended with “have fun studenting.” This sparked my interest in AI/Machine Learning, especially NLP… although at the time I just said, “I want to teach it to talk better.”

While I have been interested in artificial intelligence and machine learning for a very long time, it has been a passive interest.

I thought it would be “to hard” to learn. (It wasn’t actually…not nearly as difficult as I expected.)

I also thought it was not likely to qualify for a job in machine learning.

But…

I did it!

In spring of 2018 I landed a position as a regular “Java Developer” on a team that was looking into implementing machine learning. Working on this project gave me the excuse I needed to  spent most of my free time learning how to program a machine learning application using online sources including: DataCamp, PluralSight, LinkedIn Learning, and Safari Books Online.

And you can too…

I have been contacted fairly regularly since then about other machine learning jobs. They are a growing number of positions available, and not enough people to fill the open positions. It is becoming a more important tool for programmers in general. It is also an area that new developers can use to break into the field.

My hope is that these notes will help others as well as myself.

Topics Covered in Machine Learning Pages:

There are generally three things a business will need in order to implement AI or Machine Learning in their organization:

  1. Data – Machine Learning is based on existing data. Your programs will not be any better than the data you have to train them with. This is often a roadblock when managers misunderstand the need for data. This blog will explore public data sets from time to time, but is not primarily focused on finding datasets.
  2. Software – The primary focus of this blog is how to write Machine Learning software from end to end. We will look at:
    • Basic programming concepts.
    • Collecting data (web scraping, importing files, database access, etc).
    • Cleaning and manipulating data (SQL/NumPy/Pandas DataFrames).
    • Using statistical methods for EDA (Exploratory Data Analysis).
    • Creating data visualizations with popular libraries (matplotlib, seaborn, bokeh).
    • Training and using models with Supervised and Unsupervised Learning.
    • How to implement Reinforcement Learning.
    • Using Neural Networks for Deep Learning.
    • How to integrate models into software applications.
    • How to deploy these software applications online.
  3. Hardware – Training models is a very resource intensive process and for real-world applications will probably require special, dedicated hardware. Hardware issues are generally out of the scope of this blog. Our own experiments will rely on various cloud based MLaaS (Machine Learning as a Service) platforms.

About the Author:

Karen Freeman-Smith lives near Portland, OR with her partner, two grown children (in and out of the basement), and a cat named Shiva. Karen maintains a personal website as well as several topical websites about: Programming, Machine LearningForeign Languages, Fiction Writing, and Typing.