Skip to main content

So what is Machine Learning?

It’s mentioned all the time in the news and companies are constantly touting how enhanced their applications are with learning machines. But what does that really mean?

To put it simply, its teaching a machine how to do something. There’s more than one way to do this but most models follow the same method of “Practice makes perfect”.

For example, if I wanted to learn how to draw, I would start with the basics and do simple things. I would practice the motions and gestures that I wanted to get the desired effect. The more I practice, the better (in most cases) I would get. My skill would improve over time. However I could be learning the wrong way and actually be making my drawing ability worse.

Teaching machines is the same way. A machine is given a data set (ex. a series of images it wants to learn how to draw) and it runs a loop that practices its skill at finding patterns amongst the data set (ex. a flower petal is more curves than straight lines, while a sidewalk is mostly straight lines). The way that computers do this falls under two main categories (supervised and unsupervised).

Supervised machine learning is when a machine is given feedback based on how they are functioning, and makes amendments accordingly. These are usually found in 

Unsupervised machine learning is when a machine solves a problem of looks for a pattern without any assistance. It determines what it should be looking for on its own. These are commonly used in cases such as spam filtering and searching for anomalies in data.

The uses and benefits of Machine Learning extend far beyond the examples that I have listed above. The applications range from healthcare to music composition to determining movies that a user might like. Machine learning is becoming a growing part of the future and is advancing with each passing day.

Popular posts from this blog

Compiled vs Interpreted

Do you program? Do you write code? Depending on what you're programming or trying to create, you'll need a programming language and depending on the task at hand the decision will need to be made of using an interpreted or compiled language.

What's the difference?

Think about it like this, when you read a book, you read it line by line. An interpreted language does the same kind of thing. It reads the code in a file line by line. Immediately after that line is read, the program reading the code (the interpreter) runs that line of code then moves on to the next one. This is typically done for platforms such as the web.

A compiled language is slightly different. A compiled language would read the entire file of code, and translate it to another format (ex. machine code or another language). This is done by a compiler. Once the code is in another format it can be run. These types of languages are usually used for native desktop or mobile applications.

There is a mix of interprete…

Comment your code (well)

From basic beginners to experienced experts, everyone is either a poor commenter or knows someone who is a poor commenter. If you need a hair cut, try understanding an open source uncommented project. You will tear out all of your hair from frustration. 
Not writing comments is bad, but so is writing bad comments. If your comment is so vague that if I'm reading through your code and it seems completely random, or makes me have to remind myself what kind of project that I'm looking at, maybe it shouldn't be there.
There are 5 types of comments that I've seen: No comment - There's nothing there (Bad)Vague comment - It just doesn't make sense in the context (Bad)//This counts Unnecessary comment - It just doesn't need to be there (Bad)//this line adds 1 and 2 together Funny commentHelpful/Descriptive comment - Brief yet descriptive about the method/function. Placed at a point in the program that could be potentially confusing. A helpful comment might also describe …