Machine Learning -Solution or Problem

The article will be divided into different sections as follows:

  • Introduction to Machine Learning
  • Types of Solutions
  • Classification using Naive Bayes

A brief about Machine Learning


According to the definition by Wikipedia, Machine learning is the subfield of computer science that, according to Arthur Samuel in 1959, gives "computers the ability to learn without being explicitly programmed." 
Machine Learning defines a set of problems that have to be evolved through the data by implying some algorithm.
One factor that has to be kept in mind while defining a solution through ML is accuracy. Accuracy is very critical in case you are developing a solution in medical domain(cancer detection).There should be a threshold set for every solution which can be based on risk %age that is acceptable.

A useful cheatsheet from Microsoft's site to sum up the use of different ML algorithms for the different type of problems.



Types of solution

Machine Learning solutions can be broadly classified into three types 

  • Supervised Learning
  • Unsupervised Learning
  • Reinforcement Learning
Supervised Learning is a category in which a machine is given training on some labelled data and is informed about the problem that is to be solved.The learnt model then uses its knowledge to solve the future similar problems.In this type of learner, a major requirement is the availability of labelled data.An Example of this kind of problems can be an object identification problem.
First, a model is trained and told about the different types of objects, and then it is asked to identify the objects.

Unsupervised Learning, on the other hand, is a category in which a learner is not provided with any input i.e labelled data. They use their algorithm and start working with problem and make some sense out of the problem on their own. Initially they may not provide much accuracy but they will eventually learn to provide accurate results.We can think about this learner as a person who went to some foreign country without any prior knowledge of the language spoken there.He learns from his experience how people greet each other, how to say hi etc.

Reinforcement Learning is a category in which a machine learns by making some predictions and is penalised for making a wrong prediction, due to this penalty machine learns not to make this mistake again.Take an example of a driverless robot that crawls on a road with obstacles, every time it see's an object and bumps into the object, it is penalised for its prediction of not taking appropriate action. Next time robot see's the same kind of obstacle it knows from the past experience and avoids the same mistake again.

Machine Learning for Classification problem

Classification is set of machine learning problems in which an input is classified into different classes which can be either supervised or unsupervised.
Examples of classification problems:
  • Sentiment Analysis
  • Product Categorization
  • Binary Classification on reviews(pos, neg) and much more

Movie Review Classification using Naive Bayes Algorithm

I will be using nltk i.e is Natural Language Processing Toolkit available in python and movie review corpus that has labelled data for movie reviews classified as positive and negative.


import nltk.classify.util
from nltk.classify import NaiveBayesClassifier
from nltk.corpus import movie_reviews
#word_feats will convert the sentence into features
def word_feats(words):
    return dict([(word, True) for word in words])
negids = movie_reviews.fileids('neg')
posids = movie_reviews.fileids('pos')
#training data is converted into features
negfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'neg') for f in negids]
posfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'pos') for f in posids]
#data is divided into training and testing data
negcutoff = len(negfeats)*3/4
poscutoff = len(posfeats)*3/4
trainfeats = negfeats[:negcutoff] + posfeats[:poscutoff]
testfeats = negfeats[negcutoff:] + posfeats[poscutoff:]
print 'train on %d instances, test on %d instances' % (len(trainfeats), len(testfeats))
#naivebayes classifier used for training on training data
classifier = NaiveBayesClassifier.train(trainfeats)
print 'accuracy:', nltk.classify.util.accuracy(classifier, testfeats)
classifier.show_most_informative_features()
print 'classified as:',classifier.classify("The plot was good,but the characters were not compelling")

Comments

  1. That is us; that is our Universe by the best way. No close to infinities want be entered into, which displays the kind of laptop crunch energy models now we have expended. We have not over-taxed our obtainable techniques of laptop crunch energy.This is great blog. If you want to know more about this visit here Machine Learning Model.

    ReplyDelete
    Replies
    1. Truly said.And it feels good to be the part of this Universe. Will surely visit the site.

      Delete
  2. thanks for your informative post.its helpful to understand it.keep blogging.

    cerego

    ReplyDelete
  3. Awesome post. Thanks for sharing this post with us.and tell the system what's within the picture. once thousands and thousands of repetitions, the software package learns that patterns of pixels Machine learning course square measure usually related to horses, dogs, cats, flowers, trees, houses, etc.,

    ReplyDelete
  4. It is very useful post for those who are working on machine learning, thank you for the post .
    python machine learning
    machine learning course
    machine learning with r
    ai and machine learning
    learn machine learning




    https://excelr.com.my/course/machine-learning-using-r/

    ReplyDelete

  5. Great Article. This Blog Contain Good information about ERP Software. Thanks For sharing this blog. Can you please do more articles

    like this blog.

    cloud erp in chennai
    cloud based erp software in chennai
    top erp software solutions in chennai
    Robotic Process Automation Chennai

    ReplyDelete
  6. Amazing, it is really a informative blog about Machine learning. I read many blogs but this one is really amazing. Machine Learning Training in Bangalore

    ReplyDelete
  7. Thank you so much for this nice information. Hope so many people will get aware of this and useful as well. And please keep update like this.

    Big Data Analytics Services

    Data Lake As A Service

    Data Analytics Services

    ReplyDelete
  8. Few people are very much confused to make a clear picture of machine learning in their mind. This is the reason why they have different opinions for machine learning in both good and bad sense. Now it all depends upon machine learning development services and their output.

    ReplyDelete
  9. Great information about Machine learning solutions. Thanks for sharing your article.

    ReplyDelete

  10. Thanks for sharing this post and the efforts you have made in writing this. If you have more info about app store marketing, please share. I looking forward to hearing from you.

    ReplyDelete
  11. Awesome work. Keep going and please provide the update when ever you people update new article.

    data science training in aurangabad
    data science course in aurangabad

    ReplyDelete
  12. Great Information sharing . I am very happy to read this article .. thanks for giving us go through info. Fantastic nice. I appreciate this post. Online Machine learning training

    ReplyDelete
  13. I read your blog. It’s so nice and also provide such a good knowledge for us. I really like it, Thanks to write this blog.

    Machine Learning Development Company

    Mobile App Development

    App Development Companies

    ReplyDelete
  14. Very informative blog! I am glad that I came across your article. I'm learning a lot from here. Keep us updated by sharing more such blogs.
    Oracle DBA Training in Anna Nagar
    Software Testing Training in Anna Nagar
    PHP Training in Anna Nagar

    ReplyDelete
  15. Wonderful blog..!! Reference links are similar to the topic that I’m looking for.
    AngularJS Training in Chennai
    RPA Training in Chennai

    ReplyDelete
  16. This is a good site and a really nice point of view.I learned lots of useful information.
    Social Media Training in Chennai
    Social Media Training Institute in Chennai

    ReplyDelete
  17. Sankey Diagram is the best visualization to improve your SEO. Sankey diagram is a very useful visualization to show the flow of data. ChartExpo provides you a better and easiest way to create Sankey Diagram in no time without coding only on few clicks. Read more here : Visualizing data stories with Sankey Diagram – Definition, History, Examples & How to create & Read it

    ReplyDelete
  18. Make it a success in your profession that involves Machine Learning by getting enrolled in Machine Learning with the help of AI Patasala's advanced Machine Learning Course in Hyderabad.
    Machine Learning Course Hyderabad

    ReplyDelete


  19. Hey friend, it is very well written article, thank you for the valuable and useful information you provide in this post. Keep up the good work! FYI, please check these depression, stress and anxiety related articles.
    How to Build a Portfolio with ETFs, My vision for India in 2047 postcard, Essay on Unsung Heroes of Freedom Struggle

    ReplyDelete
  20. This post is so interactive and informative.keep update more information...
    Web Designing Course in Tambaram
    Web Designing Course in chennai

    ReplyDelete

  21. This post is so interactive and informative.keep update more information...
    Digital Marketing Course in Tambaram
    Digital Marketing Course in Chennai

    ReplyDelete

  22. This post is so interactive and informative.keep update more information...
    DevOps course in Tambaram
    DevOps Training in Chennai

    ReplyDelete
  23. I like your blog. Your concept about machine learning is really amazing. If anybody want to become expert in machine learning so Machine learning course in Greater Noida is the best platform for starting of your career.

    ReplyDelete
  24. Visit Deysphotography for Maternity Photoshoot, Pregnancy Photoshoot, and Best Maternity Photographer in Delhi. For more information about maternity photography visit our website.
    Pregnancy Photoshoot

    ReplyDelete

Post a Comment

Popular posts from this blog

Word Vectorization

Spidering the web with Python