{"id":2846,"date":"2019-11-22T06:37:27","date_gmt":"2019-11-22T06:37:27","guid":{"rendered":"https:\/\/www.aiproblog.com\/index.php\/2019\/11\/22\/kaggles-rachel-tatman-on-what-to-do-when-applying-deep-learning-is-overkill\/"},"modified":"2019-11-22T06:37:27","modified_gmt":"2019-11-22T06:37:27","slug":"kaggles-rachel-tatman-on-what-to-do-when-applying-deep-learning-is-overkill","status":"publish","type":"post","link":"https:\/\/www.aiproblog.com\/index.php\/2019\/11\/22\/kaggles-rachel-tatman-on-what-to-do-when-applying-deep-learning-is-overkill\/","title":{"rendered":"Kaggle&#8217;s Rachel Tatman on what to do when applying deep learning is overkill"},"content":{"rendered":"<p>Author: Packt Publishing<\/p>\n<div>\n<p><span><a href=\"https:\/\/hub.packtpub.com\/prof-rowel-atienza-discusses-the-intuition-behind-deep-learning-techniques-advances-in-gans\/\">Deep learning<\/a>, an emerging branch of machine learning, has garnered a lot of recognition in the field of technology over the last decade. It is regarded as a game-changer in AI, with distinct progress in computer vision, natural language processing (NLP), speech and other areas of machine learning. This year an Indeed survey found \u2018deep learning engineer\u2019 to be the <a href=\"https:\/\/www.theburnin.com\/thought-leadership\/deep-learning-careers\/\">best job in a tech position<\/a> in the USA.<\/span><\/p>\n<\/p>\n<p><span>Though deep learning has many benefits and a very appealing track record, not everybody can afford deep learning. It has some downsides like large data requirements, being excessively expensive, and has a high computing time. Below is a breakdown of Rachael Tatman\u2019s talk \u201c<a href=\"https:\/\/www.youtube.com\/watch?v=qw5dBdTXLEs\">Put down the deep learning: When not to use neural networks and what to do instead<\/a>\u201d at the <a href=\"https:\/\/hub.packtpub.com\/pycon-2019-highlights-python-steering-council-discusses-the-changes-in-the-current-python-governance-structure\/\">PyCon 2019<\/a> conference that delved into the problems with deep learning. Tatman is a data science advocate at Kaggle.<\/span><\/p>\n<\/p>\n<p><span>Deep learning models require a very large amount of data in order to perform better than other techniques. Also, according to Tatman, just the compute of a simple image generation model in deep learning can cost around $60,000. This cost will increase with the complexity of the data models. It additionally requires expensive GPUs and hundreds of machines which will again deepen the cost to the user. Many less skilled people also find it difficult to adopt deep learning, as there is no standard theory available for learning about deep learning tools. The choice of a deep learning tool depends on the user\u2019s knowledge of topology, training method, and other parameters. Next, deep learning also takes a lot of time for training large models.<\/span><\/p>\n<\/p>\n<p><span>As the talk progresses, Tatman provides a list of three different types of models that can be used instead of deep learning. The three proposed models are regression-based models, tree-based models and distance-based models. Let\u2019s have a brief look at each of them below:<\/span><\/p>\n<\/p>\n<h2><span>The most interpretable: Regression-based models<\/span><\/h2>\n<p><span>The biggest advantage of a regression-based model is that it has a \u201cwell-principled\u201d understanding of problems and provides many kinds of regression models, unlike deep learning. Users can simply work through the flowchart and decide on the best type of regression model for their data.<\/span><\/p>\n<\/p>\n<p><span>Some other advantages of regression models include its \u201cfast to fit\u201d feature. This means that it is much faster to fit when compared to a neural network, especially <em>\u201cif you&#8217;re working with a well-optimized library the Python regression libraries tend to vary wildly so you might want to do a little bit of shopping around\u201d.<\/em> It also works well with small data as Tatman affirmed that she has worked on eight dozen data points. She added that since regression models are easy to interpret, she was able to learn many useful and interesting things from the data.<\/span><\/p>\n<p><span>A few drawbacks of regression models are that a bit more data preparation is needed than for some other methods. They also require validation as regression models are based on strong assumptions about the distribution of the data points or the distribution of the errors.<\/span><\/p>\n<\/p>\n<p><span>Tatman also proclaimed that if she were to use a single machine learning model for the rest of her life, it would be a mixed-effects regression model. Mixed-effects models are extensions of linear regression models for data which are collected and summarized in groups. It is mainly used to determine the expected or mean values of the subject population. She believes, <em>\u201cyou need to do a little bit more hands-on stuff, you need to do your validation, you probably need to do some additional data cleaning,\u201d<\/em> however, it only takes some time to do a lot of computing in less money and data.<\/span><\/p>\n<p><span>\u00a0<\/span><\/p>\n<table width=\"624\">\n<tbody>\n<tr>\n<td width=\"624\">\n<p><strong>Want to know more about Regression?<\/strong><\/p>\n<p><em><span>With so many benefits in regression-based models, you should definitely give Regression models a try. Read our book \u2018<\/span><\/em><span><a href=\"https:\/\/www.packtpub.com\/in\/big-data-and-business-intelligence\/python-machine-learning-example\"><em>Python Machine Learning By Example<\/em><\/a><em>\u2019 written by Yuxi (Hayden) Liu, to learn about regression algorithms and their evaluation.<\/em> You can also master the art of building your own machine learning systems using other models such as Support Vector Machines and Text Analysis Algorithms with this example-based practical guide.<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><span>The user-friendliest: Tree-based models<\/span><\/h2>\n<p><span>Tree based models works similar to a decision tree. It checks each node for a feature and depending on the value of that feature, the user can decide the path to be followed. When going down a particular path, it again checks for nodes with feature. In this way, it works recursively to cut down a decision region into smaller chunks. Tatman also notified that developers generally opt for a forests model, instead of a tree based model. A random forest is an ensemble model which combines many different decision trees together into a single model.<\/span><\/p>\n<\/p>\n<p><span>Per Tatman, <em>\u201cIf you&#8217;re in the machine learning community you might actually associate random forests with kaggle and from 2010 to 2016, about two-thirds of all kaggle competition winners used random forests.\u201d<\/em> On the other hand, <em>\u201cless than half use some form of deep learning, also random forests continue to do very well today.\u201d<\/em><\/span><\/p>\n<\/p>\n<p><span>In case of classification of data, random forests deliver better performance than logistic regression. It also does not need a lot of data cleaning or model validation. Random forests also does not require a user to convert the categorical variables, it simply undertakes the values and provides a corresponding output. It also supports many easy to use packages like <a href=\"https:\/\/xgboost.readthedocs.io\/en\/latest\/\">XG boost<\/a>, <a href=\"https:\/\/lightgbm.readthedocs.io\/en\/latest\/\">LightGBM<\/a>, <a href=\"https:\/\/catboost.ai\/\">CatBoost<\/a>, and others. In short, regression trees are the most user friendly model\u00a0 especially when doing classification.<\/span><\/p>\n<\/p>\n<p><span>The drawbacks of trees\/random forests are that they can easily overfit, it is also more sensitive to differences between datasets. It is less interpretable and requires more compute and training time when compared to regression models. Thus, tree based models require little money, but do need some data and time to train big data sets.<\/span><\/p>\n<\/p>\n<h2><span>The most lightweight: Distance-based models<\/span><\/h2>\n<p><span>In the final type, Tatman has used a common notation to group together a large group of methods like <a href=\"https:\/\/hub.packtpub.com\/implementing-k-nearest-neighbors-algorithm-python\/\">K-nearest neighbors<\/a>, <a href=\"https:\/\/hub.packtpub.com\/how-to-build-a-gaussian-mixture-model\/\">Gaussian Mixture models<\/a>, and <a href=\"https:\/\/hub.packtpub.com\/what-is-a-support-vector-machine\/\">Support Vector machine<\/a>. These models work with the basic idea that <em>\u201cpoints closer together to each other in a particular feature space are more likely to be in the same group.\u201d<\/em><\/span><\/p>\n<\/p>\n<p><span>The K-nearest neighbors model decides the value of a point based on the nearest majority neighbors.The Gaussian mixture models utilizes any distribution of distribution points that are a mixture of different gaussians. The support vector model tries to be as far away from all the data points as possible.<\/span><\/p>\n<\/p>\n<p><span>Distance based models, particularly support vector models works very well with small data sets. They also tend to train 10 times faster than a regression model on the same data. In terms of accuracy, distance based models lags behind other models, but in case of quick and dirty modeling, they perform better. They are good at data classification, but are a little slower when compared to regression based models. Consequently, distance based models takes very little time, requires very little money and are extremely lightweight.<\/span><\/p>\n<\/p>\n<p><span>To conclude, Tatman says that the choice of one\u2019s model should depend on the kind of time and money, the individual or organization possesses. Also, the most vital point to choose a model depends on its performance. Tatman adds, <em>\u201cbased on empirical evidence right now it looks like deep learning will perform the best on a given data set given sufficient time money and compute.\u201d<\/em> Watch Tatman\u2019s <a href=\"https:\/\/www.youtube.com\/watch?v=qw5dBdTXLEs\">full talk<\/a> for a detailed comparison of the three models.<\/span><\/p>\n<\/p>\n<p><span>You can learn more about all the above machine learning models from our book, \u2018<a href=\"https:\/\/www.packtpub.com\/big-data-and-business-intelligence\/python-machine-learning-example?utm_source=DataScienceCentral&#038;utm_medium=referral&#038;utm_campaign=Outreach_9781783553112\" target=\"_blank\" rel=\"noopener noreferrer\">Python Machine Learning By Example<\/a>\u2019 written by Yuxi (Hayden) Liu. The book will help you in implementing machine learning classification and regression algorithms from scratch in Python. Also, learn how to optimize the performance of a machine learning model for your application from our book.<\/span><\/p>\n<\/div>\n<p><a href=\"https:\/\/www.datasciencecentral.com\/xn\/detail\/6448529:BlogPost:908889\">Go to Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Author: Packt Publishing Deep learning, an emerging branch of machine learning, has garnered a lot of recognition in the field of technology over the last [&hellip;] <span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/www.aiproblog.com\/index.php\/2019\/11\/22\/kaggles-rachel-tatman-on-what-to-do-when-applying-deep-learning-is-overkill\/\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":462,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[26],"tags":[],"_links":{"self":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2846"}],"collection":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=2846"}],"version-history":[{"count":0,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2846\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media\/464"}],"wp:attachment":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=2846"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=2846"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=2846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}