{"id":778,"date":"2018-07-05T02:35:00","date_gmt":"2018-07-05T02:35:00","guid":{"rendered":"http:\/\/kusuaks7\/?p=383"},"modified":"2021-05-17T18:20:10","modified_gmt":"2021-05-17T18:20:10","slug":"user-experience-with-machine-learning","status":"publish","type":"post","link":"https:\/\/www.experfy.com\/blog\/ai-ml\/user-experience-with-machine-learning\/","title":{"rendered":"User Experience with Machine Learning"},"content":{"rendered":"<p><strong><em>Ready to learn Machine Learning? <a href=\"https:\/\/www.experfy.com\/training\/courses\">Browse courses<\/a>&nbsp;like&nbsp;<a href=\"https:\/\/www.experfy.com\/training\/courses\/machine-learning-foundations-supervised-learning\">Machine Learning Foundations: Supervised Learning<\/a> developed by industry thought leaders and Experfy in Harvard Innovation Lab.<\/em><\/strong><\/p>\n<p id=\"ad9a\" name=\"ad9a\">Machine learning is known for its difficulties with interpretability, or rather its absence. Which is an issue if your users have to work with the numeric output, like in the systems used in sales, trading or marketing. If the user\u2019s interpretation of the ML output is wrong the actual metrics won\u2019t matter and you end up with the bad user experience. The problem is even bigger if you try switching users from an old transparent algorithm to ML \u2014 dissatisfied users may try pushing back against switching to ML. Also, as counter-intuitive as it sounds, the mathematical competence of the users might play against you as the most experienced users will give the hardest push-back.<\/p>\n<p id=\"ea02\" name=\"ea02\">Here I outline the recipes for overcoming the user\u2019s push-back once you start switching your system to ML. Frankly, most of these ideas can be applied to any black-box system and not just ML. Some of it is linked to&nbsp;<a data-href=\"https:\/\/en.wikipedia.org\/wiki\/Prospect_theory\" href=\"https:\/\/en.wikipedia.org\/wiki\/Prospect_theory\" rel=\"noopener noreferrer\" target=\"_blank\">the prospect theory<\/a>&nbsp;described in an awesome book \u201c<a data-href=\"https:\/\/www.amazon.com\/Thinking-Fast-Slow-Daniel-Kahneman\/dp\/0374533555\/\" href=\"https:\/\/www.amazon.com\/Thinking-Fast-Slow-Daniel-Kahneman\/dp\/0374533555\/\" rel=\"noopener noreferrer\" target=\"_blank\">Thinking, Fast and Slow<\/a>\u201d.<\/p>\n<h3 id=\"e8f4\" name=\"e8f4\"><strong>Stick Shifters<\/strong><\/h3>\n<p id=\"f5db\" name=\"f5db\"><em>Some drivers prefer stick shift over automatic transmission simply because they like the feeling of control.<\/em><\/p>\n<p id=\"748d\" name=\"748d\">Assuming the old system implements a simple well-understood algorithm, the users might choose to keep it forever only because they like the feeling of clarity and control. Your ML model will lack interpretability of how it arrived at specific results and even the simplest algorithm like a threshold-based if-condition might beat ML in the eyes of the users.<\/p>\n<figure id=\"e730\" name=\"e730\"><canvas height=\"35\" width=\"75\"><\/canvas><img decoding=\"async\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*zqYr5K3btriHBKRU4B7yxg.png\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*zqYr5K3btriHBKRU4B7yxg.png\" style=\"width: 700px; height: 331px;\"><\/figure>\n<p id=\"ed34\" name=\"ed34\">The push-back is even stronger from the experienced users because they have mastered multiple ad-hock workarounds that compensate for the low complexity of the simplistic algorithm. An example of a workaround: \u201cIf price&lt;$100, but the weekly difference is less 2% then do not buy stock\u201d. The more experienced they are the less they see the added value of ML.<\/p>\n<p id=\"c351\" name=\"c351\">There are two approaches that you might try with the stick shifters. Highlight the scenarios when these ad-hock workarounds terribly fail. And, if nothing else, try launching your new ML model side-by-side with the old algorithm to appeal to both audiences \u2014 the users who prefer the stick shift and the users who like the automatic transmission.<\/p>\n<h3 id=\"63cc\" name=\"63cc\"><strong>Probability is not Intuitive<\/strong><\/h3>\n<p id=\"e51d\" name=\"e51d\">You might think that adding the degree of confidence to the output will make it more interpretable. For instance, instead of having an ML output that says \u201cBuy APPL stock\u201d you can have \u201cBuy APPL stock with 80% confidence\u201d. Unfortunately, probability is not intuitive. For instance, how much 65% is better than 60% compared to 5% vs 0%? Everyone agrees that increasing someone\u2019s chances of winning from 0% to 5% is more impressive than 60%\u219265%.<\/p>\n<p id=\"bc2d\" name=\"bc2d\">Our tendency to assign a disproportionally large significance to 0%\u21925% increase is called&nbsp;<em>the possibility effect<\/em>. Similarly, we tend to assign a disproportionally large significance to 95%\u2192100% increase \u2014 <em>the certainty effect.<\/em><\/p>\n<h4 id=\"a520\" name=\"a520\"><strong>Example<\/strong><\/h4>\n<p id=\"0bab\" name=\"0bab\">Let us say we have an ML system that makes recommendations on whether you should buy stock options. It comes up with two recommendations:<\/p>\n<blockquote id=\"baec\" name=\"baec\"><p>Buy stock option A and with 95% chance get $1,000,000<br \/>\nBuy stock option B and with 100% chance get $910,000<\/p><\/blockquote>\n<p id=\"fc27\" name=\"fc27\">Most people would be risk-averse and choose B because of&nbsp;<em>the certainty effect<\/em>, despite the fact that the math expectation of the first deal is better.<\/p>\n<p id=\"f584\" name=\"f584\">Now suppose your ML system outputs another pair of recommendations:<\/p>\n<blockquote id=\"6c93\" name=\"6c93\"><p>Buy stock option C and with 5% chance get $100,000<br \/>\nBuy stock option D and with 100% chance get $5,100<\/p><\/blockquote>\n<p id=\"8515\" name=\"8515\">Most people would be risk-seeking and choose C, disregarding the math expectation again. User\u2019s bias will also drastically change depending on whether they consider themselves currently in the winning or in the losing situation and it is described by&nbsp;<a data-href=\"https:\/\/en.wikipedia.org\/wiki\/Prospect_theory\" href=\"https:\/\/en.wikipedia.org\/wiki\/Prospect_theory\" rel=\"noopener noreferrer\" target=\"_blank\">the fourfold pattern<\/a>.<\/p>\n<p id=\"e070\" name=\"e070\">If you include the probability in the output of your system you may end up with the users that re-interpret the output of your ML system in their own way which will depend on their personal factors.<\/p>\n<p id=\"cb5c\" name=\"cb5c\">One of the solutions would be to avoid outputting probability altogether. For example suppose your system predicts that buying a stock option A would make a $1,000,000\u00b1$100,000 return, where $100,000 is the standard deviation. You could drop the confidence and present the user with a recommendation \u201cBuy stock option A to get $800,000\u201d, where you omit the fact that this recommendation has a 95% confidence \u2014 2 standard deviations. In a way, instead of delegating the assessment of the probability to the user you are making the decision yourself. The benefit is that the interpretation of the output will not vary that much between the users. The obvious drawback is that you are taking a responsibility for making a call yourself.<\/p>\n<figure id=\"f9bc\" name=\"f9bc\"><canvas height=\"27\" width=\"75\"><\/canvas><img decoding=\"async\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*gaXw5aclEL1Xr40cAW0akg.png\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*gaXw5aclEL1Xr40cAW0akg.png\" style=\"width: 700px; height: 258px;\"><\/figure>\n<h3 id=\"e7bb\" name=\"e7bb\"><strong>Reference Point<\/strong><\/h3>\n<p id=\"ee80\" name=\"ee80\">If the users take time to think on the output of the system then&nbsp;<a data-href=\"https:\/\/en.wikipedia.org\/wiki\/Prospect_theory\" href=\"https:\/\/en.wikipedia.org\/wiki\/Prospect_theory\" rel=\"noopener noreferrer\" target=\"_blank\">the reference point<\/a>&nbsp;might come in your way. The reference point is what your users compare the output of the system to. It might be some previous historical data, some memorable case that occurred in the past, or some simple measurement that they use to initially gauge the output.<\/p>\n<p id=\"73b6\" name=\"73b6\">Suppose your old simplistic algorithm gives recommendations based on the daily change of the stock price, e.g. if the daily change is greater than 5% then it recommends buying. If your users have been using this old algorithm for a long time then they might have developed a reference point \u2014 the daily change in price. Every time they see a stock recommendation the first thing they do is check the daily change in price.<\/p>\n<p id=\"8894\" name=\"8894\">Your new machine learning model might be more sophisticated than the old algorithm as it might be able to pick on other signals that do not correlate with the daily change in price. Once you present the users with the recommendations that do not have significant daily change the users may discard them as glitchy, and your system will lose the credibility points.<\/p>\n<figure data-scroll=\"native\" id=\"f282\" name=\"f282\"><canvas height=\"40\" width=\"75\"><\/canvas><img decoding=\"async\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1000\/1*KdziM1gH06c12TQYZolUGg.jpeg\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1000\/1*KdziM1gH06c12TQYZolUGg.jpeg\" style=\"width: 700px; height: 393px;\"><\/figure>\n<p id=\"fb2e\" name=\"fb2e\">It is important to understand whether the users have a reference point and what it is. The best way to find out is to sit next to a user and ask them to work with your system as they would do normally. Then ask the key question: \u201cWhat is the first thing you do when you start looking at the output of the system?\u201d. The answer most likely will be the reference point.<\/p>\n<h3 id=\"0640\" name=\"0640\"><strong>A Three-Step Program<\/strong><\/h3>\n<p id=\"80f7\" name=\"80f7\">Identifying and dealing with the stick shifters would allow you to take care of the users who are categorically against switching to ML, independently on its quality. Avoiding probability in the user interface will allow you to get rid of the wide range of human biases. Sometimes it is better to make a call yourself and hide the confidence estimate. The reference point might be biased against your ML model, identifying it will help you make sure the users have a fair evaluation of your ML system.<\/p>\n<p id=\"715a\" name=\"715a\">Taking care of all three will greatly reduce your chances of having the users who push back against the machine learning.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Machine learning is known for its difficulties with interpretability, or rather its absence. This is an issue if your users have to work with the numeric output, like in the systems used in sales, trading or marketing. If the user&rsquo;s interpretation of the ML output is wrong the actual metrics won&rsquo;t matter and you end up with the bad user experience. The problem is even bigger if you try switching users from an old transparent algorithm to ML. Here I outline the recipes for overcoming the user&rsquo;s push-back once you start switching your system to ML.<\/p>\n","protected":false},"author":306,"featured_media":14483,"comment_status":"open","ping_status":"open","sticky":false,"template":"single-post-2.php","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[183],"tags":[97],"ppma_author":[1943],"class_list":["post-778","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-ml","tag-artificial-intelligence"],"authors":[{"term_id":1943,"user_id":306,"is_guest":0,"slug":"maksym-zavershynskyi","display_name":"Maksym Zavershynskyi","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","user_url":"","last_name":"Zavershynskyi","first_name":"Maksym","job_title":"","description":"Maksym Zavershynskyi is Software Engineer at Google"}],"_links":{"self":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/users\/306"}],"replies":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/comments?post=778"}],"version-history":[{"count":2,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/778\/revisions"}],"predecessor-version":[{"id":14485,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/posts\/778\/revisions\/14485"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media\/14483"}],"wp:attachment":[{"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/media?parent=778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/categories?post=778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/tags?post=778"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.experfy.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}