Showing posts with label machine learning. Show all posts
Showing posts with label machine learning. Show all posts

Saturday, October 19, 2013

Machine Learning API challenges ahead

Here is a summary of the ML challenges to reach mass market with APIs:
  1. Simplify the preprocessing (data cleaning, features extraction & selection-> 90% work) & integration into a mining or ML (10%) & http://scikit-learn.org (opensource project supported by google &  INRIA research group)
  2. Simplification of data visualization
  3. Simplification of semi supervised tagging (reduce the tagging/labelling effort) 
  4. Simplification of parameter selection (model included): Hyperopt: A Python library for optimizing machine learning algorithms; SciPy 2013 - YouTube
  5. For services in the cloud, the biggest show stopper is data transfer (way to slow) & confidentiality

Players to watch: 
PredictionIO : open source machine learning server 
Apache Mahout: Scalable Machine Learning and data-mining

Friday, November 23, 2012

Real-time face recognition experiment packages


In Autumn 2009, I have been lecturer at ETS for a Machine Learning introduction class. In order to ensure the class could get a real feeling about machine learning, I have repackaged the digipy demo used for my presentation "Machine Learning Empowered by Python" for their final project. The latest code is here: https://bitbucket.org/fraka6/digiface
The digiface package was their recommended starting point. It is a real-time face recognition package so they could focus on extracting the best features, train easily a single neural net and experiment live or on the dataset picture.
The idea was simple, they will compete on the best real-time live face recognitions of the student faces themselves. Every student had to sit in front of each other face recognition system. The best system had to be quite robust in order to consider light, background et hair changes.
We had to make a pictures sessions and build the dataset.
One team built their own package called digijava. Here is a snapshot.

It was quite an interesting teaching experiment. I am glad to see that some of my student have followed my path and join Yoshua Bengio lisa great lab.

If you are looking for a great talk about the latest state of the art in machine learning, look at that Hinton "Brains, Sex, and Machine Learning" youtube video and Yoshua Bengio slides "DeepLearning of Representations"(Google talk).

Monday, March 15, 2010

Opportunities ahead to reduce impact of doctor shortage an money constraint: Machine Learning

The "Collège des médecins du Québec" is hammering us with advertisement to give Québec Government solution to find new founding to pay more our doctors and specialists. In the industry, we make more money by been more efficient, not increasing prices. It is the easy solution when others are paying. "Collège des médecins du Québec" should promote efficiency to reduce their cost, deliver better service and generate more margin to increase nurses and doctors.
As an example, radiologist are earning on average around 700 K/year and Ophthalmologist 600K/year. Yes our generalist doctor could earn more, the average is around 150K/year. As a heavy tax payer, I am suggesting using optician approach in BC, replace heavy paid optometrist by machines to do the exams. Basically, automate what need to automate and use doctor efficiently which could reduce/eliminate the shortage.
When people go to far with their salary expectation, it is time to bring them back on earth. No one accept fees increase for poorer service.
Public system and doctors studies are founded by our taxes and Health System spending represents close to 50% of Québec spending, money doesn't grow in trees. Yes, they are getting less if they were in the states, but US doesn't have a public systems, only wealthy people have access to it and it can't happen in Canada because it is publicly founded.
I have tried to help happy clinic by contacting doctors to offer smart waiting time system to make people wait less but most of them didn't care much: we are busy, people have to way, its a natural filter. They can make us waiting hours even with appointments, treat us like shit because the service offer is low. When most of us are waiting, we aren't earning money to pay them. Shame on you. Everyone is loosing at this game.
Doctor are getting greedy and are starting to see them as untouchable and are forgetting who are paying their salary.
If well packaged, Machine Learning can be use by anyone to do high level screening and provide valuable information. In 2010, doctors remain one of the only profession who doesn't use much machine to make them more efficient and are fighting to stay the bottleneck. With this crisis ahead, it might be a good opportunity for the machine learning community to get into this shielded area in the benefit of everyone, them too.

Wednesday, September 2, 2009

What's the relationship between Machine Learning and Data-Mining

Machine Learning and Data-Mining are extremely related but it isn't clear for most people. I'll try to clarify the link in this short blog.

Let's start with definitions:
  • Data-Mining (DM) is the process of extracting patterns from data. The main goal is to understand relationships, validate models or identify unexpected relationships.
  • Machine Learing (ML) algorithms allows computer to learn from data. The learning process consist of extracting the patterns but the end goal is to use the knowledge to do prediction on new data.
Both, in ML and DM, we start by extracting patterns. In DM, the process ends there by looking a the patterns. In ML, we reuse learned patterns to do prediction.

One important difference about patterns extraction is that machine learning algorithms don't need to understand the representation of the patterns but data-miners do. As an example, it is hard to understand exactly what a neural network has learned but decisions tree are easy to understand and compare. On the other hand, comprehensive patterns allows machine learning practitionner to identify data problems and by fixing them, improve the prediction accurary of their model.

So basically, the data-mined patterns learned by any machine learning algos are used to do prediction on new data.

Some people might simply say that they are the same, the only difference is how you use the learned patterns: to understand or to predict.

note:
Unsupervised learning can be considered has data-mining because it doesn't involve prediction. In order to understand discovered clusters difference, we can simply use supervised learning on discovered patterns tagged datasets.