1. 程式人生 > >The Best Machine Learning Algorithm

The Best Machine Learning Algorithm

What is the best machine learning algorithm? I get this question a lot. Maybe even daily.

Sometimes it’s a general question. I figure people want to make sure they are learning the one true machine learning algorithm and not wasting their time on anything less.

Most other times it is with regard to a specific problem.

I think it’s a very good question, a very telling question. It tells me straight away that a required shift in thinking has not occurred.

I can yell from the roof tops all day long: “there is no best algorithm“, but that is not helpful.

In this post I want to provide you some tools to help you start to make the required shift in thinking away from a single best solution.

fear of loss

Fear of Loss.
Photo by Jimee, Jackie, Tom & Asha, some rights reserved

The Best Solution

You are probably a programmer or engineer. When you encounter a specific problem, there is an algorithm you can grab and use to address it.

For example, you need an ordered list of items, you use a sort algorithm built into your standard library. There is no ambiguity. You need a sorted list, you use the algorithm, now you have a sorted list.

Why can’t machine learning be like that?

There is ambiguity in the sort example, it’s just hidden from you.

That sort algorithm you’re using is one of many and was selected for use in the library based on a trade-off of constraints such as language features, space and time complexity, and perhaps ease of implementation and other biases. It may not be the best sorting algorithm for your specific problem (on some dimension of concern), but it is good enough. Your list gets sorted.

Get your FREE Algorithms Mind Map

Machine Learning Algorithms Mind Map

Sample of the handy machine learning algorithms mind map.

I've created a handy mind map of 60+ algorithms organized by type.

Download it, print it and use it. 

Download For Free


Also get exclusive access to the machine learning algorithms email mini-course.

Another example.

You have to implement a moderately complex feature in a software product. What is the best way to implement the feature?

There are enumerable ways to design software and to present features in an interface. We use guides to help us make these decisions (style guides, design guides, design patterns, language features, etc.), but there is no one true way to get the job done. It is a decision problem of selecting a suitable balance of trade-offs.

The idea of a best solution is a fallacy, but I’m sure you knew that already.

No Free Lunch

It’s also worse than you think.

It is provable that there is no best algorithm.

The no free lunch theorem tells that in a matrix of all problems and all algorithms that the average performance of all algorithms is equivalent.

Now, this is a theoretical result and assumes no prior knowledge about our problem or algorithm. But it is a useful framing for the transition in thinking we have to make.

no free lunch

There is no free lunch.
Photo by ..matt.., some rights reserved

Fear Of Loss

What is really going on is fear of loss.

  • What if you use the wrong algorithm?
  • What if you could be getting better results with another algorithm?
  • What if you spend your time learning about the wrong algorithm?

It is so bad that you may not even pick an algorithm. You may not even try to address your problem or start studying machine learning.

If you asking me: “what is the best machine learning algorithm for a problem?“, all I see loss aversion.

You need the tools to address this problem.

It’s a Search Problem

You need to start with a productive framing of the meta problem that you are solving.

This problem is search. You are searching for an algorithm or algorithm configuration (what’s the real difference?) that you judge best.

The data that you select to make available to your models only has so-much structured information in it for algorithms to exploit. Like the sort example above, there is a idealized solution (model of the underlying structured data) and many algorithms that can be used to realize instances of that idealized solution.

What is the best search algorithm? I have no idea. Spot check some algorithms, then select the better performing and look into further improving their results.

Now that might sound trite, but if you are just starting out in machine learning, that is the best advice I can give.

Practicing the process of applied machine learning a lot will build up your intuitions for how algorithms behave in different situations. These anecdotes you collect can inform the selection of algorithms you try.

Reading the theory of why algorithms work is harder but is also valuable information you will want to use to inform the selection of algorithms you try.

machine learning as search

Machine learning as a search problem.
Photo by taylar, some rights reserved.

Empirical Inquiry

Addressing a problem using machine learning is an empirical scientific inquiry.

If you had a perfect model of the problem, you would use that. But you don’t, you have data and you are using that to model the problem.

Structuring the meta problem as search means that you need a very strong idea of how to objectively evaluate a finding (a model). That is why defining your problem upfront is absolutely critically important.

You need to be methodical and systematic.

The algorithms you try are not inconsequential, but they may be secondary to the way you define the problem and the test harness you use to evaluate the models you prepare.

This is a hard lesson and it may take some time to sink in. After a decade, it’s still seeping into my marrow.


Frustrated With Machine Learning Math?

Mater Machine Learning Algorithms

See How Algorithms Work in Minutes

…with just arithmetic and simple examples

It covers explanations and examples of 10 top algorithms, like:
Linear Regression, k-Nearest Neighbors, Support Vector Machines and much more…

Finally, Pull Back the Curtain on
Machine Learning Algorithms

Skip the Academics. Just Results.


相關推薦

Step Methodology To The Best Machine Learning Algorithm

Tweet Share Share Google Plus How do you choose the best algorithm for your dataset? Machine lea

The Best Machine Learning Algorithm

Tweet Share Share Google Plus What is the best machine learning algorithm? I get this question a

[Machine Learning & Algorithm] 隨機森林(Random Forest)

閱讀目錄 回到頂部 1 什麼是隨機森林?   作為新興起的、高度靈活的一種機器學習演算法,隨機森林(Random Forest,簡稱RF)擁有廣泛的應用前景,從市場營銷到醫療保健保險,既可以用來做市場營銷模擬的建模,統計客戶來源,保留和流失,也可用來預測疾病的風險和病患

6 Steps To Write Any Machine Learning Algorithm From Scratch: Perceptron Case Study

This goes back to what I originally stated. If you don't understand the basics, don't tackle an algorithm from scratch. For the Perceptron, let's go ahead

Hire the Right Machine Learning Talent

When your enterprise sets out to build an artificial intelligence and machine learning team, are you targeting the right people to hire? Or is it possible

Artificial intelligence helps track down mysterious cosmic radio bursts: Machine learning algorithm also helps search for new ki

Researchers at Breakthrough Listen, a SETI project led by the University of California, Berkeley, have now used machine learning to discover 72 new fast r

and that Makes all the Difference | Machine Learning Blog

Based on a recent conversation between Joseph Sirosh, CTO for AI at Microsoft, and Roger Magoulas, VP of Radar at O’Reilly Media. Link to video recordi

Deep Learning: New kid on the supervised machine learning block

In the second instalment of this blog, we introduced machine learning as a subfield of artificial intelligence (AI) that is concerned with methods and algo

How to Implement a Machine Learning Algorithm

Tweet Share Share Google Plus Implementing a machine learning algorithm in code can teach you a

A Tour of the Weka Machine Learning Workbench

Tweet Share Share Google Plus Weka is an easy to use and powerful machine learning platform. It

What is the Weka Machine Learning Workbench

Tweet Share Share Google Plus Machine learning is an iterative process rather than a linear proc

How to Learn a Machine Learning Algorithm

Tweet Share Share Google Plus The question of how to learn a machine learning algorithm has come

Best Machine Learning Resources for Getting Started

Tweet Share Share Google Plus This was a really hard post to write because I want it to be reall

Machine Learning Algorithm Recipes in scikit

Tweet Share Share Google Plus You have to get your hands dirty. You can read all of the blog pos

6 Questions To Understand Any Machine Learning Algorithm

Tweet Share Share Google Plus There are a lot of machine learning algorithms and each algorithm

How to Tune a Machine Learning Algorithm in Weka

Tweet Share Share Google Plus Weka is the perfect platform for learning machine learning. It pro

How To Investigate Machine Learning Algorithm Behavior

Tweet Share Share Google Plus Machine learning algorithms are complex systems that require study

[Infographic] The Best Tools for Machine Learning Gengo AI

Machine learning projects can range from small datasets and standard algorithms, to much larger projects that use neural networks engines with massive data

The 50 Best Public Datasets for Machine Learning

The 50 Best Public Datasets for Machine LearningWhat are some open datasets for machine learning? After scrapping the web for hours after hours, we have cr