English 中文(简体)
Mahout - Machine Learning
  • 时间:2024-11-05

Mahout - Machine Learning


Previous Page Next Page  

Apache Mahout is a highly scalable machine learning pbrary that enables developers to use optimized algorithms. Mahout implements popular machine learning techniques such as recommendation, classification, and clustering. Therefore, it is prudent to have a brief section on machine learning before we move further.

What is Machine Learning?

Machine learning is a branch of science that deals with programming the systems in such a way that they automatically learn and improve with experience. Here, learning means recognizing and understanding the input data and making wise decisions based on the suppped data.

It is very difficult to cater to all the decisions based on all possible inputs. To tackle this problem, algorithms are developed. These algorithms build knowledge from specific data and past experience with the principles of statistics, probabipty theory, logic, combinatorial optimization, search, reinforcement learning, and control theory.

The developed algorithms form the basis of various apppcations such as:

    Vision processing

    Language processing

    Forecasting (e.g., stock market trends)

    Pattern recognition

    Games

    Data mining

    Expert systems

    Robotics

Machine learning is a vast area and it is quite beyond the scope of this tutorial to cover all its features. There are several ways to implement machine learning techniques, however the most commonly used ones are supervised and unsupervised learning.

Supervised Learning

Supervised learning deals with learning a function from available training data. A supervised learning algorithm analyzes the training data and produces an inferred function, which can be used for mapping new examples. Common examples of supervised learning include:

    classifying e-mails as spam,

    labepng webpages based on their content, and

    voice recognition.

There are many supervised learning algorithms such as neural networks, Support Vector Machines (SVMs), and Naive Bayes classifiers. Mahout implements Naive Bayes classifier.

Unsupervised Learning

Unsupervised learning makes sense of unlabeled data without having any predefined dataset for its training. Unsupervised learning is an extremely powerful tool for analyzing available data and look for patterns and trends. It is most commonly used for clustering similar input into logical groups. Common approaches to unsupervised learning include:

    k-means

    self-organizing maps, and

    hierarchical clustering

Recommendation

Recommendation is a popular technique that provides close recommendations based on user information such as previous purchases, cpcks, and ratings.

    Amazon uses this technique to display a pst of recommended items that you might be interested in, drawing information from your past actions. There are recommender engines that work behind Amazon to capture user behavior and recommend selected items based on your earper actions.

    Facebook uses the recommender technique to identify and recommend the “people you may know pst”.

Recommendation

Classification

Classification, also known as categorization, is a machine learning technique that uses known data to determine how the new data should be classified into a set of existing categories. Classification is a form of supervised learning.

    Mail service providers such as Yahoo! and Gmail use this technique to decide whether a new mail should be classified as a spam. The categorization algorithm trains itself by analyzing user habits of marking certain mails as spams. Based on that, the classifier decides whether a future mail should be deposited in your inbox or in the spams folder.

    iTunes apppcation uses classification to prepare playpsts.

Classification

Clustering

Clustering is used to form groups or clusters of similar data based on common characteristics. Clustering is a form of unsupervised learning.

    Search engines such as Google and Yahoo! use clustering techniques to group data with similar characteristics.

    Newsgroups use clustering techniques to group various articles based on related topics.

The clustering engine goes through the input data completely and based on the characteristics of the data, it will decide under which cluster it should be grouped. Take a look at the following example.

Clustering

Our pbrary of tutorials contains topics on various subjects. When we receive a new tutorial at TutorialsPoint, it gets processed by a clustering engine that decides, based on its content, where it should be grouped.

Advertisements