<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Davide Giordano on Medium]]></title>
        <description><![CDATA[Stories by Davide Giordano on Medium]]></description>
        <link>https://medium.com/@davidegiordano?source=rss-25b62fff1eb0------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*YuumsdSiVP8YX7jyw9jHcg.png</url>
            <title>Stories by Davide Giordano on Medium</title>
            <link>https://medium.com/@davidegiordano?source=rss-25b62fff1eb0------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 21:29:00 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@davidegiordano/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Part #2: a statistical analysis on Serie A]]></title>
            <link>https://medium.com/data-science/part-2-a-statistical-analysis-on-serie-a-a2f11c4f9bff?source=rss-25b62fff1eb0------2</link>
            <guid isPermaLink="false">https://medium.com/p/a2f11c4f9bff</guid>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[data]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[football]]></category>
            <category><![CDATA[sports]]></category>
            <dc:creator><![CDATA[Davide Giordano]]></dc:creator>
            <pubDate>Sun, 29 Nov 2020 13:27:01 GMT</pubDate>
            <atom:updated>2020-11-29T13:27:01.291Z</atom:updated>
            <content:encoded><![CDATA[<h4>Road to UEFA Champions League</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*eoCoFxwwYh_K12qx" /><figcaption>Photo by <a href="https://unsplash.com/@focusmitch?utm_source=medium&amp;utm_medium=referral">Mitch Rosen</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Football. The most popular sport in the world. A concentrate of passion, hope and romanticism. Every year thousands and thousands of teams compete in their leagues with different purposes. Some of them are built to win the title. Others just want to not be relegated.</p><p>But the answer to their hopes always relies on the same thing: numbers.</p><p>One point more and you succeed. One point less and it’s a failure. One goal more and you are the champion. One goal less and you throw away the all season. It’s a matter of details. Every football fan knows that. <strong>But can we quantify these ‘’details’’?</strong></p><p>In this series of articles, I’ll try to extrapolate these magical numbers looking at the history of the Italian league: Serie A.</p><h4>Navigation</h4><ul><li><strong>Recap</strong></li><li><strong>Intro</strong></li><li><strong>Results</strong></li></ul><h4>Recap</h4><p>In this article, I’m going to continue my discussion on Serie A stats, particularly focusing my attention on the positions of the table which guarantee the qualification to the European Cups: Champions League and Europa League.</p><p>In the previous article — <a href="https://towardsdatascience.com/part-1-a-statistical-analysis-on-serie-a-8097ece54eb8">Part #1: a statistical analysis on Serie A</a> — I analyzed the history of relegation. The presented SVM approach, found out that the 40 points threshold — set by the media as the required number of points to survive in the league — is a relatively large approximation of the resulting one, which is about 3 points lower. In other words, teams tend to survive in the league with less than 40 points in most cases.</p><p>We also noticed that a relationship between the number of points and other metrics exist. The most effective one is certainly represented by the combination: number of points and goal difference.</p><p>We then recalled the history of Crotone, survived at the very last game in the season 2016/17, after a memorable run-up. Exploiting the obtained results, we noticed that Crotone had just 23.26% of probability of remaining in the league, considering the final table.</p><p>Just to recall the positions of the table that we will cover in this series of articles, a recap of the table division is reported here:</p><ul><li><em>Champion</em> → 1st position</li><li><em>Champions League</em> → 2nd, 3rd, 4th positions</li><li><em>Europa League</em> → 5th, 6th positions</li><li><em>Relegated</em> → last three positions</li><li><em>Survived</em> → all the others</li></ul><p><strong><em>Note</em></strong><em>: Champions League and Europa League positions, have changed over the years. The number of available positions for these competitions depends on the coefficient set by UEFA for each European country, which changes every year considering the results obtained in the last 5 years. This coefficient depends on the number of victories and good placings of teams belonging to that country in any European competition. Anyway, I decided to apply this division because — in most of the cases — Italy competed with 4 teams in Champions League. The champion is obviously included in the 4.</em></p><p>The question we will try to answer this time is: <strong>how many points does a team need to qualify for Europa League/Champions League?</strong></p><p>We will use the same data normalization techniques used in the previous article. So, to solve the fact that there is a difference in the number of points assigned to a victory from 1994/95, I supposed that each victory always had 3 points assigned:</p><pre>total_points = number_of_victories * 3</pre><p>Then, in order to compare the number of points obtained in leagues with a different number of participants, a coefficient is applied to the total number of points.</p><pre><em># seasons with 16 teams<br></em>coeff = 1.27<br><em># seasons with 18 teams<br></em>coeff = 1.12<br><em># seasons with 20 teams<br></em>coeff = 1.0</pre><p>SVM is the model used to separate the data clusters. In particular, we used a linear kernel with a high penalization factor <em>c</em>.</p><pre>clf = svm.SVC(kernel=&#39;linear&#39;, C=1000, probability=True)<br>clf.fit(np.transpose([x1,x2]), y)</pre><p>If you’d like to have more details either on the data normalization procedures or on the model used, I invite you to read the <a href="https://towardsdatascience.com/part-1-a-statistical-analysis-on-serie-a-8097ece54eb8">first part</a> of this series of articles.</p><h4>Intro</h4><p>Last time, when we discussed relegation, we were able to find some guidelines to understand if our results were in some sense valid or not. One of these guidelines was certainly the “40 points” threshold. For what concerns the European qualifications, there is no threshold set by the experts. So we have to make some premises first.</p><p>Giving the fact that the results obtained on relegation reflected the expected ones, I will suppose that the same will happen to the other parts of the table. Obviously there is no guarantee that this supposition is right. Anyway, I believe the values that will come out from our analysis, are not too much far from the real ones.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*P-rHQTrzXJ9aDZks" /><figcaption>Photo by <a href="https://unsplash.com/@fikrirasyid?utm_source=medium&amp;utm_medium=referral">Fikri Rasyid</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><h4>Results</h4><p>This section will be divided into two parts: Europa League and Champions League. In the first part, I will focus on the number of points required to access Europa League competition with respect to a simple survival. In the second part, there will be a direct comparison between the two European cups, to establish the required number of points to access the most important and fascinating competition in Europe.</p><p><strong>1. Europa League</strong></p><p>Europa League is the second most important European competition and every year involves a lot of teams that have made the history of football. Moreover, it embraces also all third-placed teams of each Champions League group which fail to move forward in the competition.</p><p>Qualifying to Europa League is the minimum accepted result for teams that started the league with the goal of reaching Champions League placings — actually in the worst cases, it is still insufficient to save the season.</p><p>At the same time, Europa League is a fantastic achievement for those who were hoping only for survival.</p><p>We start our analysis by looking at the number of points compared to the number of goals scored by a team.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2n4RftiIvK3ITsiizqsnkw.png" /></figure><p>In blue we can see the survived teams; in green we have the teams qualified for Europa League.</p><p>The first thing that we notice is that a reasonable threshold can be found between 59 and 62 points.</p><p>Actually, this trend is varied in the last 5 years. As you can see from the graph below, the EL threshold is significantly increased.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/1*rVtm46ap0311jWQKcY0vng.png" /></figure><p>In other words, in the last 5 years, a team needs 63 points to avoid problems. And a more significant metric that comes out, is that the number of goals scored is pretty irrelevant. This is likely due to the fact that the number of goals scored has generally increased a lot in recent years.</p><p>I will compare these two graphs by recalling the history of Napoli in 2019/20. Napoli ended the season with 62 points and 61 goals scored. If we consider the entire history of Serie A, the probability of a good placing for EL with these numbers is 63.2%. But, if we only look at the last 5 years, the probability drops to 30.12%!</p><p>I think that the reason of such a drastic change is in the level of the league which is increased with respect to the last decade. The fact that more than a team competes for the title, inevitably makes harder to reach the same goals, raising the bar accordingly. Anyway, in my opinion this is just a short-term cycle that eventually will finish, so considering the entire history of the league is still a better choice.</p><p>But, as recent years suggest, goals scored don’t give us a good metric for understanding the whole situation. As already happened for relegation, we also use goal difference.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vMNbUINsrwfXGmYNOyWaLA.png" /></figure><p>First of all, we notice that there is an inverse proportionality between the number of points and the goal difference. To reach EL, you need more points as your goal difference decreases, which is absolutely reasonable.</p><p>In particular, a team needs about 58 points with a goal difference equal to 10, in order to get the qualification with a probability of 62.55%. So, using the previous example, Napoli in 2018/19 had the 85.33% of probability of success with a goal difference of 10. Again, if we consider only recent years, this drops to 38.58%, which is much worse than before in terms of dropping factor.</p><p>Summing up, we can state that the threshold of qualification to EL must take into account the relationship between number of points and goal difference. Moreover, the required number of points to reach this goal, goes from 58 to 62 with a goal difference that respectively goes from 15 to 0. These combinations lead to an average probability of success of about 70%.</p><p>Considering the short-term cycle that we are living in, the right combination becomes 63 points with a goal difference equal to 10, which leads to the same probability of success.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*tvqvT4zyD619xkka" /><figcaption>Photo by <a href="https://unsplash.com/@danielnorin?utm_source=medium&amp;utm_medium=referral">Daniel Norin</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p><strong>2. Champions League</strong></p><blockquote>The <strong>Champions League</strong> is the competition everyone wants to be in. — Steven Gerrard</blockquote><p>Champions League is the most important European competition. It is considered the most valuable trophy by any European football club. Even more than the national titles. Qualifying for the Champions League means a lot in terms of appeal and earnings. Building a technical project to ensure the club constant participation in this competition, requires lots of efforts and organization.</p><p>Although the name suggests that it is a cup reserved for national leagues champions only, the most important European leagues are allowed to participate with more teams. In particular, Italy participates with the champion plus the next 3 teams in the table.</p><p>In this section, I’d like to set another threshold between the Europa League teams and the Champions League ones. In other words, I will try to answer to the question: how many points does a team need to qualify for UEFA Champions League?</p><p>For this analysis, I will directly take into account the relationship between number of points and goal difference only, as it turned out to be the best in the previous scenarios.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*W54AdtORrbg1ihoLJhShJw.png" /></figure><p>As always, blue dots represent EL qualified teams and green dots represent CL qualified teams.</p><p>Looking at the graph, we soon notice that the answer to our question must be around 67 points with a goal difference that again is inversely proportional to the number of points. To better explain the situation, I will use Atalanta in 2018/19.</p><p>Atalanta ended the season with 69 points and a goal difference of 31. According to our model, such a combination leads to success the 94.29% of the times. That’s a high success rate!</p><p>But, if we only look at the last 5 years, the probability of such a goal is 46.85%. Indeed — in 2018/19 — Atalanta managed to qualify for the Champions League thanks to only one point more than Milan, who finished at 68 with a goal difference of 19. Not so reassuring anymore, is it?</p><p>This is just a confirmation that we are going through a short-term cycle where both European bars have been raised due to a moment of high uncertainty in the league.</p><p>The reason why I am not considering this short-term cycle in my analysis is only because it is subject to high volatility. It’s not that different from a stock market trend when you think about it.</p><p>So, concluding, the right combination in this case could be a number of points in the range 67–70 with a goal difference at least greater than or equal to 10. This will lead to probabilities of success that go from 63.24% to 76.45%, respectively.</p><h4>Links</h4><p>If you missed the first article of this series, you can find it here:</p><ul><li><a href="https://towardsdatascience.com/part-1-a-statistical-analysis-on-serie-a-8097ece54eb8">Part #1: a statistical analysis on Serie A</a></li></ul><p>Thanks so much for taking the time to check out this post!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a2f11c4f9bff" width="1" height="1" alt=""><hr><p><a href="https://medium.com/data-science/part-2-a-statistical-analysis-on-serie-a-a2f11c4f9bff">Part #2: a statistical analysis on Serie A</a> was originally published in <a href="https://medium.com/data-science">TDS Archive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Part #1: A statistical analysis on Serie A]]></title>
            <link>https://medium.com/data-science/part-1-a-statistical-analysis-on-serie-a-8097ece54eb8?source=rss-25b62fff1eb0------2</link>
            <guid isPermaLink="false">https://medium.com/p/8097ece54eb8</guid>
            <category><![CDATA[sports]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[data]]></category>
            <category><![CDATA[statistics]]></category>
            <category><![CDATA[football]]></category>
            <dc:creator><![CDATA[Davide Giordano]]></dc:creator>
            <pubDate>Thu, 19 Nov 2020 01:14:33 GMT</pubDate>
            <atom:updated>2020-11-19T01:14:33.828Z</atom:updated>
            <content:encoded><![CDATA[<h4>How many points do you need to survive in the Italian league?</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*CwOZLH58pJAI1DC7" /><figcaption>Photo by <a href="https://unsplash.com/@liammckay?utm_source=medium&amp;utm_medium=referral">Liam McKay</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p><em>Football</em>. The most popular sport in the world. A concentrate of passion, hope and romanticism. Every year thousands and thousands of teams compete in their leagues with different purposes. Some of them are built to win the title. Others just want to not be relegated.</p><p>But the answer to their hopes always relies on the same thing: numbers.</p><p>One point more and you succeed. One point less and it’s a failure. One goal more and you are the champion. One goal less and you throw away the all season. It’s a matter of details. Every football fan knows that. <strong>But can we quantify these ‘’details’’?</strong></p><p>In this series of articles, I’ll try to extrapolate these <em>magical </em>numbers looking at the history of the Italian league: Serie A.</p><h4>Navigation</h4><ul><li><strong>Intro</strong></li><li><strong>Data Explanation</strong></li><li><strong>Data Normalization</strong></li><li><strong>SVM</strong></li><li><strong>Results</strong></li></ul><h4>Intro</h4><blockquote>Individual performance is not that important. We win and lose as a team.</blockquote><p>This sentence was pronounced by Zinedine Zidane, current manager of Real Madrid. The reason why I added this sentence to the article is simple: let’s put ourselves in Zidane’s shoes for a moment.</p><p>We are 48. In 5 years of career as a manager, we collected 2 LaLiga’s championships, 2 Supercopa de España, 3 Champions Leagues, 2 UEFA Super Cups and 2 FIFA Club World Cups. We are the manager of the best players in the world. We can admire in every game the plays of Ramos, Benzema and Hazard. <strong>But still we believe that a single player is not important. </strong>In other words, if these players don’t compete as a team, leaving off the pitch their personal interests, they will be doomed to failure.</p><p>This sentence is particularly strong if we think that one of these players is literally capable of winning a match in any moment with a single play. A long-distance shot, a tremendous header. In a matter of seconds, the match is settled.</p><p>So, why did Zidane say that?</p><p>Because — in football — results are achieved with a broader vision. Winning by taking your only chance of the entire match, can’t be the normality. <br>You can’t always rely on a single player’s invention. You need the whole team to work as a well-oiled system in which every single gear contributes to the common goal. And the goal is not to win the single match but to reach a precise threshold that guarantees the final victory.</p><p>That’s why we use numbers. <strong>We want to know the value of that threshold</strong>.</p><h4>Data Explanation</h4><p>Historically speaking, experts tend to set the relegation threshold at 40 points. But where does this number come from?</p><p>To answer this question, I collected Serie A final tables from 1955 to 2020. Tables are collected in excel files like the following:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/674/1*5Vk3NZveAvGFN74hcSfYwA.png" /><figcaption>Final table — Season 1963/64</figcaption></figure><p>Columns represent: final position (<strong>Pos.</strong>), team name (<strong>Squadra</strong>), number of points (<strong>Pt</strong>), number of played games (<strong>G</strong>), number of victories (<strong>V</strong>), number of draws (<strong>N</strong>), number of defeats (<strong>P</strong>), number of goals scored (<strong>GF</strong>) and number of goals against (<strong>GS</strong>). To these attributes, I also added the difference between number of goals scored and against, called goal difference (<strong>DR</strong>).</p><p>I also divided the tables in 5 groups: relegated teams, survived teams, Europa League qualified teams, Champions League qualified teams and champions. In particular:</p><ul><li><em>Champion</em> → 1st position</li><li><em>Champions League</em> → 2nd, 3rd, 4th positions</li><li><em>Europa League</em> → 5th, 6th positions</li><li><em>Relegated</em> → last three positions</li><li><em>Survived</em> → all the others</li></ul><p><strong><em>Note</em></strong><em>: Champions League and Europa League positions, have changed over the years. The number of available positions for these competitions depends on the coefficient set by UEFA for each European country, which changes every year considering the results obtained in the last 5 years. This coefficient depends on the number of victories and good placings of teams belonging to that country in any European competition. Anyway, I decided to apply this division because — in most of the cases — Italy competed with 4 teams in Champions League. The champion is obviously included in the 4.</em></p><p><strong>Data Normalization</strong></p><p>Over the years, the number of points assigned to the victory has changed. In particular, from season 1994/95 the winner takes 3 points for each victory. Before that year, it was used to take just 2 points. So, I normalized data in order to reflect this change by simply considering the following equation in every season:</p><pre>total_points = number_of_victories * 3</pre><p>so, basically ignoring the reported number of points in the tables.</p><p>A trickier normalization was required due to the fact that not all Serie A seasons were composed by the same number of participants. Actually, they varied from 16 to 20 teams.</p><p>To solve this discrepancy, I proportionally fixed the number of total points by multiplying them by a coefficient based on the number of teams:</p><pre><em># seasons with 16 teams<br></em>coeff = 1.27<br><em># seasons with 18 teams<br></em>coeff = 1.12<br><em># seasons with 20 teams<br></em>coeff = 1.0</pre><p>With these two normalization’s procedures, we can think about the 54 points of Bologna in 1963/64 as 85.12 points.</p><h4>SVM</h4><p>SVM is a supervised machine learning algorithm which is very reliable for regression problems. It uses a technique called the kernel trick to transform data and then based on these transformations it finds an optimal boundary between the possible outputs.</p><pre>inputs = pd.DataFrame({<br>&#39;Pt&#39; : x1,<br>&#39;Dr&#39; : x2,<br>&#39;Rel&#39; : y<br>})</pre><pre>clf = svm.SVC(kernel=&#39;linear&#39;, C=1000, probability=True)<br>clf.fit(np.transpose([x1,x2]), y)</pre><p>I decided to use a high penalization factor <em>c</em> in order to shrink the support vectors margin. Moreover, I used a linear kernel: this means that I will get a straight line separating my clusters.</p><h4>Results</h4><p>In this first article, I will focus on the lowest positions in the tables: the <strong>relegation </strong>area.</p><p>The question that I will try to answer is: <em>how many points does a team need to not relegate?</em></p><p>Let’s choose two parameters to compare first: number of points and goals scored.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*j2W8gJX827YywZCGCyNU5g.png" /></figure><p>I used the blue color to identify the relegated teams and the green one to identify the survived teams. In magenta we have the decision boundaries computed by the SVM.</p><p>First of all, we can soon notice that the threshold of 40 points is a relatively large approximation of the threshold set by our SVM which is slightly lower — 35/36 points. But such a threshold actually diminishes as the number of goals scored grows.</p><p>Looking at the scattered plot above we can see that it is not rare that a team with a good number of scored goals, didn’t succeed in not relegating.</p><p>Considering that the average relegated team scores 28.49 goals per season, with 31.72 points on average, the probability of such a team to remain in the league is just 15.97%. According to the parameters found by our analysis, a combination of 37 points and 38 goals scored, brings the same probability to 54.25%.</p><p>Just to give you an idea of these numbers, I will take as example <em>Crotone</em> in 2016/17 season. After a memorable run-up, Crotone successfully avoided relegation at the very last game, with 34 points and 34 goals scored. Absolutely something unlikely. The probability of such a combination? 25.02%. Therefore, our prediction is coherent with the reality.</p><p>But the number of goals scored alone, can’t be considered a good metric. Indeed, most of the times the causes of relegation are on the defensive side. So, I compared the number of points with the goal difference (DR). Results are shown below:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PDbpAkrgwmgRC_737sFwTQ.png" /></figure><p>As we can see, the number of total points required to not relegate is higher than before. This reflects the greater weight the defense have on the team’s results. As we are considering the average performance of the team — both on the defensive and offensive side — the goal difference is inversely proportional to the number of points.</p><p>Remembering the history of Crotone, we can re-calculate the probability of remaining in the league: with a total of 34 points and a goal difference of -24, Crotone actually had a 23.26% of chance of doing what they did. This is slightly lower than the 25.02% computed above and better underlines the fantastic result obtained by the team.</p><p>Generally speaking, a team can reach the survival area with a combination of 36 points and a goal difference of -15 in 53.37% of the times. Again, the threshold of 40 points it is a large approximation of what the reality suggests us. It obviously guarantees a 90% of success but in most cases, less is required.</p><p><em>How many points does a team need to qualify for the Champions League? And to win the title?</em></p><p>In the next articles, we will focus on the other groups of the table. In particular, I’ll analyze the European Cup stats. Thank you for reading!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8097ece54eb8" width="1" height="1" alt=""><hr><p><a href="https://medium.com/data-science/part-1-a-statistical-analysis-on-serie-a-8097ece54eb8">Part #1: A statistical analysis on Serie A</a> was originally published in <a href="https://medium.com/data-science">TDS Archive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why terrain classification is so important for space exploration?]]></title>
            <link>https://medium.com/@davidegiordano/why-terrain-classification-is-so-important-for-space-exploration-78c663eed5d2?source=rss-25b62fff1eb0------2</link>
            <guid isPermaLink="false">https://medium.com/p/78c663eed5d2</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[nasa]]></category>
            <category><![CDATA[exploration]]></category>
            <category><![CDATA[space]]></category>
            <category><![CDATA[future]]></category>
            <dc:creator><![CDATA[Davide Giordano]]></dc:creator>
            <pubDate>Sun, 23 Aug 2020 18:23:58 GMT</pubDate>
            <atom:updated>2020-08-23T18:33:52.968Z</atom:updated>
            <content:encoded><![CDATA[<h4>Hint #1: to not burn billions of dollars.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*pmELqItUgCU719Yx" /><figcaption>Photo by <a href="https://unsplash.com/@jeremythomasphoto?utm_source=medium&amp;utm_medium=referral">Jeremy Thomas</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Space exploration is more than just a curiosity with respect to unknown places and worlds in the universe. Research in this field brings a number of benefits which cover every aspect of the technology and helps us to create increasingly sophisticated solutions to be applied in the industry that will help humans simplify their jobs.</p><p>Since it is not a new research field, we have a precise idea of how the space is, at least in the part closest to the Earth.</p><p>But this represents just an infinitesimal part of the entire universe, so we need to go further. As we move away from Earth, new problems come out.<strong> </strong>The biggest one is certainly that of communication.</p><p><strong>The longer the distance is, the longer it takes to send a message.</strong></p><p>This problem, which barely exists on Earth, is crucial in space where distances are giant.</p><p>To understand this aspect, it is useful to think that a message sent by Earth to Mars will take <strong>about 21 minutes to arrive</strong>.</p><p>This immediately excludes any possibility of controlling spacecrafts directly from Earth. It is unthinkable that in the presence of an obstacle, a human tells the robot to change direction in a reasonable time, because the robot itself is likely to crash even before the human sees the obstacle.</p><p>So, we need autonomous driving spacecrafts which are able to detect the different types of terrains and obstacles on their path.</p><p>The reason is simple: too many rovers get stuck during their explorations on the surface of a planet. Sand, stones and swamps are the most problematic terrains to walk on. The risk of getting stuck on any of them is high and this cannot be allowed when billions of dollars are spent.</p><p>Understanding the terrain properties can make the difference between a successful mission and a total disaster.</p><p>For example, with the analysis of the path, a robot can decide to take a longer path in order to avoid quicksand or a ravine.</p><p>For this purpose, terrain classification is one of the modules that must be developed in order to better plan the next moves of the robot once it has landed.</p><p>In this way, it will be possible to avoid situation like the one happened to <em>Spirit</em> rover [1] in late 2009 which got stuck in a sand trap at an angle that hampered recharging of its batteries, actually condamning it to a slow agony that ended on March 22, 2010, date of its last communication.</p><p>[1] <a href="https://www.space.com/author/natalie-wolchover">Natalie Wolchover</a>. (May 24, 2011). <em>NASA Gives Up On Stuck Mars Rover Spirit, </em><a href="https://www.space.com/11773-nasa-mars-rover-spirit-mission-ends.html">https://www.space.com/11773-nasa-mars-rover-spirit-mission-ends.html</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=78c663eed5d2" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Are you affected by biases?]]></title>
            <link>https://ai.plainenglish.io/are-you-affected-by-biases-f6b5d0c70b93?source=rss-25b62fff1eb0------2</link>
            <guid isPermaLink="false">https://medium.com/p/f6b5d0c70b93</guid>
            <category><![CDATA[chatbots]]></category>
            <category><![CDATA[society]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[bias]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Davide Giordano]]></dc:creator>
            <pubDate>Thu, 30 Jul 2020 11:51:56 GMT</pubDate>
            <atom:updated>2020-08-02T20:41:52.803Z</atom:updated>
            <content:encoded><![CDATA[<h4>Probably yes. And you don’t even know it.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*iH-c83ZFrwQ0a2OK" /><figcaption>Photo by <a href="https://unsplash.com/@sushilnash?utm_source=medium&amp;utm_medium=referral">Sushil Nash</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p>Let’s do a simple test.</p><p>Search for these keywords on Google: how many inhabitants does Berlin have?</p><p>Answer: 3.5 million.</p><p>Incontrovertible data, even proposed by Google itself without you having to click on any link. And just to be even more unassailable, the relative date is also provided. 2016.</p><p>Another question: who’s the US president?</p><p>Answer: Donald J. Trump.</p><p>Again, no link to click. Google knows the answer and provides it immediately.</p><p>Since you are curious, you don’t stop and keep looking, this time something more demanding: why are riots taking place in the United States?</p><p>And here the first alarm bell goes off. Note that the answer is not as immediate as before.</p><p>Google does not have the answer to this question and therefore it is your job to look for it among the various results that the search engine offers you. <strong>And here the problems begin.</strong></p><p>So, you start reading articles that tell conflicting versions of the story, perhaps resulting from different ideologies of the authors, more or less credible truths and judgments by the author on the story that do not denote impartiality.</p><p>Result? In most of the cases you will not have increased your knowledge on that specific topic.</p><p>Note that everything went smoothly until you looked for objective information. The problems arose when you asked Google to provide you with an answer to a more complicated question.</p><p>Why is this happening?</p><p>Because in the most complex case, <strong>a human factor came into play</strong>, the bias. Or prejudice, if you prefer.</p><p>Scientifically there are several types of bias. Basically, they all have the effect of creating subjective visions of reality, and therefore more or less distant from the truth. We are all affected by prejudices, of any kind. And often they are also unconscious.</p><p><strong>We think and do things guided by distorted ideas of reality without even realizing it.</strong></p><p>The only way to avoid bias is obviously to be impartial and objective. But it is not easy and in some cases it is even impossible. The most serious problem is that the bias is also reflected in the statistics. There are many examples in which entire research was trashed because it was noticed that the results were subject to bias.</p><p>Now imagine what can happen to a machine if it is trained to perform a task with distorted information. I will just give you two examples.</p><ul><li>In Florida a system equipped with artificial intelligence has been used to define the degree of possible recidivism in some offenders. In 2016 it was discovered that the machine had developed a prejudice towards African ethnic groups and was therefore decommissioned.</li><li>Once again in 2016, Microsoft launched Tay, a chatbot, which aimed to learn how to imitate the language patterns of a 19-year-old American girl, interacting with other people on Twitter. Just 16 hours after its launch, Tay was silenced by Microsoft because she started posting violent and offensive content.</li></ul><p>In both cases, the machine learned a distorted reality due to incorrect data which in turn was affected by bias.</p><p>In particular, in the first case the number of crimes committed by black people was higher than the ones committed by whites, so the research was conducted on an unbalanced dataset, which is known to produce models with less ability to generalize.</p><p>On the other hand, the second case is a perfect example of social biases that an artificial intelligence must be able to face when interacting with humans. Again, if the only way to interact is mostly through violent and impolite words, an artificial intelligence will be led to think that humans are used to this type of language and therefore it will shape its reality on this assumption.</p><p>This should make us reflect on the quality of the information we provide to artificial intelligence. Because once you get into what is the brain of the machine, everything the machine will do from then on is in no way predictable. The brain of a machine is in fact a black box.</p><p>The only way we have to generate the desired results is therefore to provide the right information. But this represents another big problem that I already faced in this <a href="https://medium.com/@davidegiordano/ai-and-ambiguity-a-dangerous-duo-a31be4020716">article</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f6b5d0c70b93" width="1" height="1" alt=""><hr><p><a href="https://ai.plainenglish.io/are-you-affected-by-biases-f6b5d0c70b93">Are you affected by biases?</a> was originally published in <a href="https://ai.plainenglish.io/">Artificial Intelligence in Plain English</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[7 tips to choose the best optimizer]]></title>
            <link>https://medium.com/data-science/7-tips-to-choose-the-best-optimizer-47bb9c1219e?source=rss-25b62fff1eb0------2</link>
            <guid isPermaLink="false">https://medium.com/p/47bb9c1219e</guid>
            <category><![CDATA[deep-learning]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[machine-learning]]></category>
            <dc:creator><![CDATA[Davide Giordano]]></dc:creator>
            <pubDate>Sat, 25 Jul 2020 18:04:38 GMT</pubDate>
            <atom:updated>2020-07-26T17:13:56.892Z</atom:updated>
            <content:encoded><![CDATA[<h4>Based on my experience.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*A_j6HyHskjnrSJgr" /><figcaption>Photo by <a href="https://unsplash.com/@markuswinkler?utm_source=medium&amp;utm_medium=referral">Markus Winkler</a> on <a href="https://unsplash.com/?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><h3>Introduction</h3><p>In machine learning when we need to compute the distance between a predicted value and an actual value, we use the so-called loss function.</p><p>Contrary to what many believe,<strong> the loss function is not the same thing as the cost function</strong>. While the loss function computes the distance of a single prediction from its actual value, the cost function is usually more general. Indeed, the cost function can be, for example, the sum of loss functions over the training set plus some regularization.</p><p>Another term often incorrectly used as a synonym of the first two is represented by the objective function, that is the most general term for any function optimized during training.</p><p>Once clarified the right terminology, we can give the definition of optimizer.</p><p>Optimizers in machine learning are used to tune the parameters of a neural network in order to <strong>minimize the cost function.</strong></p><p>The choice of the optimizer is, therefore, an important aspect that can make the difference between a good training and bad training.</p><p>Actually, there are many optimizers and so the choice is not straightforward. In this article, I’ll briefly describe the most used ones and then I’ll give you some guidelines that helped me in different projects and that I hope will help you when it comes to choosing the most suitable optimizer for your task.</p><p>For further information about how the specific optimizers work, you can give a look to this <a href="https://ruder.io/optimizing-gradient-descent/index.html">website</a>.</p><h3>How many optimizers?</h3><p>As just said, there are many optimizers. Each of them has advantages and disadvantages often related to the specific task.</p><p>I like to divide optimizers into two families: gradient descent optimizers and <em>adaptive</em> optimizers. This division is exclusively based on an operational aspect which forces you to manually tune the <strong>learning rate</strong> in the case of Gradient Descent algorithms while it is automatically adapted<em> </em>in adaptive algorithms — that’s why we have this name.</p><p><strong>Gradient Descent:</strong></p><ul><li>Batch gradient descent</li><li>Stochastic gradient descent</li><li>Mini-batch gradient descent</li></ul><p><strong>Adaptive:</strong></p><ul><li>Adagrad</li><li>Adadelta</li><li>RMSprop</li><li>Adam</li></ul><h3>Gradient descent optimizers</h3><p>There are three types of gradient descent optimizers, which differ in how much data we use to compute the gradient of the objective function.</p><h4>Batch gradient descent</h4><p>Also known as vanilla gradient descent, it’s the most basic algorithm among the three. It computes the gradients of the objective function <em>J </em>with respect to the parameters <em>θ </em>for the entire training set.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/291/0*vlKJxSNXnpfWPw0v" /><figcaption>Formula to update weights in batch gradient descent. The gradients are multiplied by the learning rate η and then used to update the parameters of the network.</figcaption></figure><p>As we use the entire dataset to perform <strong>just one step, </strong>batch gradient descent can be very slow. Moreover, it is not suitable for datasets that don’t fit in memory.</p><h4>Stochastic gradient descent</h4><p>It is an improved version of batch gradient descent. Instead of computing the gradients over the entire dataset, it performs a parameter update<strong> for each example</strong> in the dataset.</p><p>So the formula now depends also on the values of the input <em>x</em> and output <em>y</em>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/385/0*4v19i2QuYBna62Q8" /><figcaption>Formula to update weights in SGD</figcaption></figure><p>The problem of SGD is that the updates are frequent and with a high variance, so the objective function heavily fluctuates during training.</p><p>This fluctuation can be an advantage with respect to batch gradient descent because it allows the function to jump to better local minima, but at the same time it can represent a disadvantage with respect to the convergence in a specific local minima.</p><p>A solution to this problem is to slowly decrease the learning rate value in order to make the updates smaller and smaller, so avoiding high oscillations.</p><h4>Mini batch gradient descent</h4><p>The intuition behind this algorithm is to exploit the advantages of both gradient descent’s methods that we have seen so far.</p><p>It basically computes the gradients on small batches of data in order to reduce the variance of the updates.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/549/0*dEorRmc_Btu6n4O1" /><figcaption>Formula to update weights in mini batch gradient descent</figcaption></figure><h3><strong>Takeaways #1</strong></h3><ul><li><strong>Mini batch gradient descent is the best choice</strong> among the three in most of the cases.</li><li><strong>Learning rate tuning problem: </strong>all of them are subjected to the choice of a good learning rate. Unfortunately, this choice is not straighforward.</li><li><strong>Not good for sparse data: </strong>there is no mechanism to put in evidence rarely occurring features. All parameters are updated equally.</li><li>High possibility of getting stuck into a <strong>suboptimal local minima</strong>.</li></ul><h3>Adaptive optimizers</h3><p>This family of optimizers has been introduced to solve the issues of the gradient descent’s algorithms. Their most important feature is that they don’t require a tuning of the learning rate value. Actually some libraries — i.e. Keras — still let you the possibility to manually tune it for more advanced trials.</p><h4>Adagrad</h4><p>It adapts the learning rate to the parameters performing small updates for frequently occurring features and large updates for the rarest ones.</p><p>In this way, the network is able to capture information belonging to features that are not frequent, putting them in evidence and giving them the right weight.</p><p>The problem of Adagrad is that it adjusts the learning rate for each parameter according to all the past gradients. So, the possibility of having a very small learning rate after a high number of steps — resulting from the accumulation of all the past gradients — is relevant.</p><p>If the learning rate is too much small, we simply can’t update weights and the consequence is that the network doesn’t learn anymore.</p><h4>Adadelta</h4><p>It improves the previous algorithm by introducing a history window which sets a fixed number of past gradients to take in consideration during the training.</p><p>In this way, we don’t have the problem of the vanishing learning rate.</p><h4>RMSprop</h4><p>It is very similar to Adadelta. The only difference is in the way they manage the past gradients.</p><h4>Adam</h4><p>It adds to the advantages of Adadelta and RMSprop, the storing of an exponentially decaying average of past gradients similar to momentum.</p><h3>Takeaways #2</h3><ul><li><strong>Adam is the best</strong> <strong>among the adaptive optimizers</strong> in most of the cases.</li><li><strong>Good with sparse data</strong>: the adaptive learning rate is perfect for this type of datasets.</li><li>There is <strong>no need to focus on the learning rate</strong> value</li></ul><h3>Gradient descent vs Adaptive</h3><p>Adam is the best choice in general. Anyway, many recent papers state that SGD can bring to better results if combined with a good learning rate annealing schedule which aims to manage its value during the training.</p><p>My suggestion is to <strong>first try Adam in any case</strong>, because it is more likely to return good results without an advanced fine tuning.</p><p>Then, if Adam achieves good results, it could be a good idea to switch on SGD to see what happens.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=47bb9c1219e" width="1" height="1" alt=""><hr><p><a href="https://medium.com/data-science/7-tips-to-choose-the-best-optimizer-47bb9c1219e">7 tips to choose the best optimizer</a> was originally published in <a href="https://medium.com/data-science">TDS Archive</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Should you trust a robot?]]></title>
            <link>https://medium.com/@davidegiordano/should-you-trust-a-robot-505cdce0b662?source=rss-25b62fff1eb0------2</link>
            <guid isPermaLink="false">https://medium.com/p/505cdce0b662</guid>
            <category><![CDATA[bias]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[robotics]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Davide Giordano]]></dc:creator>
            <pubDate>Thu, 23 Jul 2020 13:14:37 GMT</pubDate>
            <atom:updated>2020-07-24T17:51:43.526Z</atom:updated>
            <content:encoded><![CDATA[<h4>Maybe. Maybe not.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/754/1*FyoRNom23_HVMUW6MFke0A.jpeg" /></figure><p>Imagine having to undergo a delicate surgical operation and having two possibilities. On the one hand, you can be operated by a robot that has a 90% success rate. On the other hand, you can get a doctor who has an 80% success rate. What would you choose?</p><p>Obviously, there are those who would choose the first option, just as there would be those who would choose the second one. <strong>The problem is not answering this question</strong>.</p><p>The problem is: in which circumstances does the robot reach a 90%? On which patients has it been tested? Were they men? Or women? Were they white? Or black?</p><p>You see, these questions that I am provocatively asking you, are not random.</p><p>Those who work with Artificial Intelligence know these kind of questions very well. But they don’t always know the answers. Indeed, either the color of the skin or the gender could hardly influence the probability of an operation of being successful, at least for a doctor. This concept, which seems particularly intuitive for a human, is not intuitive at all for a robot.</p><p>In fact, the robot is trained to perform certain tasks and <strong>the quality of the training makes the difference between a good AI and a bad AI</strong>.</p><p>Going back to the initial question, if the machine was trained to operate only on white men, most likely in front of a woman it could encounter many difficulties given the different physicality. So yes, maybe the success rate on white men really will be 90%, but for women it may not be so.</p><p>To make you understand better, it’s as if I taught you to recognize what an apple is — suppose that you have never seen one.</p><p>If for years I only show you a red apple, you will be led to think that there is no object in the world that is an apple and that is not red.</p><p>Then, one day I ask you to recognize an object that looks like an apple but that is green. What do you do? Well the only way that you have to give me an answer is to produce an estimate. You can tell me, for example, that what I have in my hands is an apple with a 70% of certainty. There is no way to be 100% sure.</p><p>This is the typical situation an intelligent machine constantly faces. It bases its interpretations of the reality on continuous estimates. Exactly as we would do in front of something that we do not know and that we have never seen before.</p><p>It is useful to understand a fundamental concept, which must guide us every time we talk about artificial intelligence: the machine does not need to explain why a man can be operated and a woman cannot. It simply bases its decisions on mathematical calculations and needs nothing else.</p><p>Instead, from a human point of view, this explanation is fundamental to avoid generating questions like the ones I asked you at the beginning. To allow everyone to undergo surgery without the fear of belonging to an ethnic minority or another gender.</p><p>This is currently the main limit of Artificial Intelligence. And this is also the reason that forced many scientists to go into the direction of an <em>explainable AI</em>. Overcoming this limit would represent an epoch-making turning point, exponentially bigger than what we think we have achieved with the first intelligent systems.</p><p>Will we be able to do it? We do not know. It certainly requires time. Although artificial intelligence is not a young discipline, unlike what many could believe, these limits have only been understood in the last few years. We’ll see.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=505cdce0b662" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[AI and ambiguity: a dangerous duo]]></title>
            <link>https://medium.com/@davidegiordano/ai-and-ambiguity-a-dangerous-duo-a31be4020716?source=rss-25b62fff1eb0------2</link>
            <guid isPermaLink="false">https://medium.com/p/a31be4020716</guid>
            <category><![CDATA[research]]></category>
            <category><![CDATA[nlp]]></category>
            <category><![CDATA[language]]></category>
            <category><![CDATA[writing]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Davide Giordano]]></dc:creator>
            <pubDate>Wed, 22 Jul 2020 14:16:52 GMT</pubDate>
            <atom:updated>2020-07-22T14:16:52.442Z</atom:updated>
            <content:encoded><![CDATA[<h4>An introduction to the problems that may arise when it comes to use AI.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ODaANcwHZQEwqA76b78IjQ.jpeg" /><figcaption>Source: <a href="https://unsplash.com/@markuswinkler">Markus Winkler</a> | <a href="https://unsplash.com/photos/7EwWeNyzSwQ">Unsplash</a></figcaption></figure><p>The biggest mistake that can be made when talking about artificial intelligence is to think that once asked the machine to perform a certain task, it is only a matter of time before it is actually carried out. A belief which is maybe the result of an extreme trust placed in the machine’s ability to understand the world and our requests.</p><p>There are at least two great reasons why this belief is dangerous:</p><ul><li>A machine is absolutely not aware of the reality that surrounds it. In other words, even if it is terrific in recognizing a pedestrian crossing the road, it has no idea what a pedestrian is. And this makes it vulnerable to many unexpected situations.</li><li>A machine is not explained how to do a thing. It is instructed only on the result to be achieved but, everything that must be understood to achieve that result, is defined by the machine in complete autonomy after countless failures and attempts.</li></ul><p>So, if it is true that there is no way to access this machine learning process, we have to be sure that all the problems, deriving from a possible misunderstanding between question and answer, are somehow resolved before reaching this step.</p><p>But what is the last thing we do before leaving the machine to <em>reason</em> about the problem to be solved? We simply ask it to perform a task. So we make a request.</p><p>Therefore, in principle, to avoid any kind of problem, just ask the right questions to the machine. Unfortunately for us, this seems to be a really complicated thing to do.</p><p>The biggest obstacle is certainly that of language. In fact, any language in the world is mostly ambiguous. The fact that there are words that assume different meanings depending on the context, is enough to confuse a machine that makes determinism its prerogative.</p><p>Most of the times, we don’t even notice this ambiguity because our brain is so accustomed to instantly contextualizing sentences and words, that we take this ability for granted. Yet, even in our case, there may be situations in which this well-run-in mechanism fails. If you don’t believe it, I propose you some sentences to let you understand what I mean.</p><blockquote>Peter saw a man in the park with a telescope.</blockquote><p>It’s clear that in this sentence there is an ambiguity. We don’t understand either if Peter saw a man through the telescope or saw a man who was using a telescope.</p><blockquote>I have never tasted a cake quite like that one before!</blockquote><p>This case is even more complex. Apparently, there is no ambiguity in this sentence, but there is! We simply don’t understand if the cake is good or bad. A human will probably understand its meaning by listening either to the voice tone or to the facial expression of the speaker, but it’s not the same for a machine. Suppose that the machine takes as input just these words. No voice tone, no facial expression. How can it get the correct meaning?</p><p>The nice thing is we can strive to try to create a sentence as clear as possible, but there is always something we don’t define.</p><p>When I talk about this aspect I always remember one of the first programming exercises in my computer science book. The exercise consisted of writing a code to replicate the recipe for a cake.</p><p>To be honest, I have never seen such a detailed recipe. Any passage was written down to the smallest detail. Still, I didn’t even get to read it all that I got stuck on the ingredients. It is easy to guess what the hitch was: the classic salt and oil <em>to taste</em>.</p><p>How could I put something indefinite in my code? So, necessarily, I had to define that “to taste”<em>.</em></p><p>Now, imagine a cooking robot that must autonomously replicate a similar recipe. Maybe half the bottle of oil is enough for the robot. Who can say that? Assuming the robot still does something without crashing, I challenge anyone to taste a piece of that cake. :)</p><p>So, as you can see, reasoning in unequivocal terms is a really difficult thing. Even when we think we have built a clear and precise sentence, there is always room for some misunderstanding.</p><p>But the mere fact of knowing that this ambiguity exists, could make us reflect a bit longer on the sentences we wrote. And maybe, in addition to avoiding unpleasant surprises, it could make us change a “to taste” with a “3 grams”.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a31be4020716" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How far are we from Westworld?]]></title>
            <link>https://medium.com/@davidegiordano/how-far-are-we-from-westworld-7f4e1762ef6c?source=rss-25b62fff1eb0------2</link>
            <guid isPermaLink="false">https://medium.com/p/7f4e1762ef6c</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[future]]></category>
            <category><![CDATA[tv-series]]></category>
            <category><![CDATA[robotics]]></category>
            <category><![CDATA[westworld]]></category>
            <dc:creator><![CDATA[Davide Giordano]]></dc:creator>
            <pubDate>Tue, 21 Jul 2020 11:16:26 GMT</pubDate>
            <atom:updated>2020-07-21T17:18:32.170Z</atom:updated>
            <content:encoded><![CDATA[<h4>A brief consideration after watching the TV series.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pv1cdxu4vlsY_TZBZ-d_UA.jpeg" /><figcaption>Inspired by the Westworld Season 3 poster. Source: Wikipedia</figcaption></figure><p>Ok, for those unfamiliar with Westworld, I’ll try to explain in a minute what it is.</p><p>Westworld is an HBO science fiction television series created by Jonathan Nolan and his wife Lisa Joy. In particular, Westworld is a western-themed amusement park set around 2050, populated by robots with human features that are employed to make the visitor experience as engaging as possible. Those who enter Westworld can unleash their most hidden fantasies, becoming any type of person, benefited by the fact that the robots have been designed to do no harm to humans. The emotions of the visitors are placed at the center of the project and this means allowing them constant interaction with robots that are absolutely indistinguishable from humans, both in aesthetics and in reasoning, to ensure that the experience lived in the park is completely realistic.</p><p>In my opinion, it’s a series that is worth seeing, even if you are not a fan of the genre, because it offers many food for thought which goes beyond simple technology.</p><h3>How far are we from a world where man and robots coexist without one being able to guess the nature of the other?</h3><p>To answer this question, let’s immediately clarify one thing: is a world like Westworld possible?</p><p>Excluding a priori that it can exist, seems to be too strong a statement. Since technology has made great strides in the past thirty years and continues to do so, I don’t feel like saying that there can be no such thing in the future.</p><p>It is obvious that we are talking about a way distant future and still many discoveries separate us from this result. Among other things, these discoveries are not only technological but they cover the most diverse fields ranging from medicine to philosophy, passing through the social sciences.</p><p>Wanting to make more concrete estimates, we’ll try to quantify this distance. Let’s go step by step and begin to understand if we are currently able to recreate the movements and facial expressions of men, within the body of robots, technically known as androids.</p><p><strong>Brief answer:</strong> no. At least not entirely.</p><p><strong>Long answer:</strong> currently there are technologies able to recreate robots that frighteningly look like a human being. Nonetheless, the effect of amazement is short-lived because one immediately realizes that the expressions and the way of interacting are far from those typical of a man.</p><p>Nowadays, among the most advanced androids we have the clone of professor <em>Hiroshi Ishiguro</em> of the <em>University of Osaka</em> and <em>Sophia</em>, developed in Hong Kong.</p><p>Of course, we are not at the levels of Westworld, but the work done on these robots still manages to amaze the observer, also thanks to their ability to entertain more or less complex conversations, accompanying the words with fairly realistic facial movements. But there is still work to be done in this direction. That’s sure.</p><p>Another weak point, and perhaps also the most critic one, is certainly that of the movements. Today, robots still have too many difficulties to carry out simple movements that require a minimum of articulation of the fingers and hands. Furthermore, they are still not very stable from the point of view of balance, at least as far as humanoids are concerned — due to their bipedal nature.</p><p>Certainly we have robots that are capable of performing also complex tasks, but if we have to compare their motion abilities with those of humans, we can say that we are very far from such a result.</p><h3>What about the materials?</h3><p>In Westworld, robot creators seems to use human skin, thus making the true nature of the android even more imperceptible. This will not be possible in the future but surely also the discoveries of new materials will lead to the use of similar coatings.</p><h3>Beyond the physical aspect, what makes these robots far from Westworld’s?</h3><p>Certainly their ability to be multitasking and to be able to adapt to the various behaviors of visitors who in any case represent crazy variables to be taken into account.</p><p>Furthermore, another difficulty is given by the production cost of such robots. Ishiguro’s clone costs about $ 200,000. Still too much for mass production. Maybe in a few years we will be able to reduce the production costs of these robots and therefore to produce many more.</p><p>In any case, <strong>a robot of such a complexity will cost a lot anyway</strong>.</p><p>For the reasons mentioned above, we are absolutely far from knowing how to create artificial intelligence that knows how to be transversal and capable of handling unexpected situations. In all honesty, while 30 years of research might be enough for robotics, I’m pretty sure that for artificial intelligence more years are needed.</p><p>We are talking about getting something that thinks and reasons exactly like a human being and this goes beyond all expectations. Just think that there are researchers who state they can never reach such a level of complexity. Doing so in 30 years — before 2050 — it’s even more unlikely. This does not mean that in 30 years we will not be able to have highly sophisticated robots. Maybe their intelligence could be enough to build a theme amusement park.</p><p>There is one thing, however, that Westworld seems to take for granted in the series. All humans who come into contact with androids seem to be absolutely at ease and no one seems surprised at this technology. This means that the world conceived for the series is a world in which technology overwhelmingly entered the lives of people even before the park was built. Which means that there has certainly been a cultural change over the years.</p><p>Today something like this would not be possible, even if confined within a theme park. There are too many people who see such a technological development as a threat and therefore we are still far from accepting it with such naturalness.</p><p>But this is something that is achieved over time. It is already evident that the new generations are more inclined to technology than the previous ones. Just as the futures will be even more so. It is completely natural.</p><p>In summary, Westworld as we see it in the TV series is not feasible, at least not within the times foreseen by its creators. Maybe it will be feasible, but certainly in the rather distant future. In any case, it will still be possible to obtain a similar result in a scaled down version in a few decades, perhaps hiding with some original ideas the flaws of what will then be the first generation of androids.</p><p>In the meantime, these years will serve research to reduce the gap that exists with such advanced technologies, and will serve us to get used to having machines at our side ready to support us in any situation, even just for fun.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7f4e1762ef6c" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A new winter for AI?]]></title>
            <link>https://medium.com/@davidegiordano/a-new-winter-for-ai-9f15d977b34a?source=rss-25b62fff1eb0------2</link>
            <guid isPermaLink="false">https://medium.com/p/9f15d977b34a</guid>
            <category><![CDATA[business]]></category>
            <category><![CDATA[marketing]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[future]]></category>
            <dc:creator><![CDATA[Davide Giordano]]></dc:creator>
            <pubDate>Mon, 20 Jul 2020 11:45:56 GMT</pubDate>
            <atom:updated>2020-07-21T12:17:02.359Z</atom:updated>
            <content:encoded><![CDATA[<h4>We should change our idea on AI before it’s too late.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zKgmTuPUcu3G6bBaf-Kxow.jpeg" /><figcaption>Source: Unsplash</figcaption></figure><p><strong>Let’s be honest.</strong></p><p>How many times do you see the word “<em>AI”</em> associated with a product or a brand even if the product itself has nothing in common with AI?</p><p>Every single day we are surrounded by companies that try to sell the product <em>“X”</em> which amazingly exploits AI to reach the highest level of smartness.</p><p>It seems like the word <em>AI</em> has become the new magic word. Everything that includes AI seems to be perfect and ensures a huge number of sells. Then, it’s not relevant if the product is either a toaster or an air conditioner. It’s smart, what do we need more?</p><p>But how can a toaster be a smart object? It just has to toast the bread, doesn’t it? It doesn’t need nothing else but two holes, some electrical resistence and a timer — which can be omitted too, but let’s keep it anyway. Better not to burn anything.</p><p>The fact is that in most of these cases, such a toaster is not different from another one which is not <em>smart</em>. They do the same things, in the same way, but inexplicably the toaster with the magic word in the name sells more.</p><p>Just to be clear, it’s not a problem if a company sells a product by exploiting marketing strategies. There is no company in the world that doesn’t do that. It would be crazy!</p><p>The problem arises when everybody talks about AI but very few of them know what they are saying. This is due to the great success that this discipline has had in the past 10 years. But we need to understand that we’re losing the control on it.</p><p>If you are not convinced of what I am telling you, just think about the number of times you have heard Covid and AI in the same sentence in the last few months, even if AI cannot do nothing against Covid.</p><p>For example, AI it’s completely unrelated to the mechanism of contact-tracing apps. These apps are normal apps which exploits Bluetooth technology to gather information. There is nothing intelligent there. The way the data are managed has nothing intelligent too.</p><p>Pay attention: this doesn’t mean that they aren’t complex apps. <strong>Intelligence and complexity are not the same thing.</strong></p><p>Therefore, if we connect a worldwide health problem with a discipline that is still in evolution and is not born for solving this type of problems, the risk is that in the near future most people will be disappointed with artificial intelligence because they will want to solve problems that cannot be solved through AI. But the problem will not be AI itself, but the wrong expectations that we placed on it!</p><p>This frustration can lead to a new winter for AI, which can be subjected to less investments from companies.</p><p>The equation is simple: <strong>less hype = less money.</strong></p><p>That’s why we need to understand that AI is not the solution to all the problems. AI can solve some problems — very efficiently in some cases — but it’s not suitable for others.</p><p>This aspect should be well understood in order to avoid a crisis in the whole field. Furthermore, a possible crisis will slow down an inevitable process which started a few years ago and that will completely modify the way we live in the near future. So the result will be just a useless loss of time and money — without considering all the problems that may arise for those who work in the field.</p><p>The same Yoshua Bengio, one of the <em>godfathers of AI</em>, spent some words on this problem, saying that AI’s abilities were somewhat overhyped in the 10s by certain companies with an interest in doing so.</p><h3>Long-term results = decreasing hype</h3><p>What can further decrease the hype around AI is surely related to the several announcements that the biggest companies made at the beginning of the past decade. Everybody was convinced that at some point in the future, a general intelligence — comparable to that of an ordinary human — would be available. And if the most powerful tech companies in the world say that it is possible, how can you say otherwise?</p><p>Unfortunately, they made this prediction without specifying the amount of time — and work — that was still required to make this vision real.</p><p>Ten years later, although we have made some interesting steps in this direction, we are still far from such an idea. For this reason, interest in this discipline is likely to be sidelined for a while.</p><h3>Conclusions</h3><p>The last decade was a big one for artificial intelligence but researchers in the field believe that the industry is about to enter a new phase. That’s why we need to be prepared.</p><p>The field will likely experience high volatility with respect to the hype in the next decades, with several peaks and trough, which will correspond to new discoveries and less profitable periods, respectively.</p><p>The only way to reduce this number of oscillations is to understand that AI is a long-term discipline which cannot produce instantaneous results. At least, until the vision of Google &amp; Co. becomes true.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9f15d977b34a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Relationship between AI and videogames]]></title>
            <link>https://medium.com/@davidegiordano/relationship-between-ai-and-videogames-a14080a6007f?source=rss-25b62fff1eb0------2</link>
            <guid isPermaLink="false">https://medium.com/p/a14080a6007f</guid>
            <category><![CDATA[research]]></category>
            <category><![CDATA[videogames]]></category>
            <category><![CDATA[design]]></category>
            <category><![CDATA[games]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Davide Giordano]]></dc:creator>
            <pubDate>Sun, 19 Jul 2020 13:39:10 GMT</pubDate>
            <atom:updated>2020-07-21T12:16:27.540Z</atom:updated>
            <content:encoded><![CDATA[<h4>Not exactly what you expected.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/1*3YxjxqURKXJZmE_JZMwHyQ.jpeg" /><figcaption>Source: Unsplash</figcaption></figure><p>1997. IBM’s DeepBlue computer beats <em>chess</em> world champion Garry Kasparov.</p><p>2016. AlphaGo beats Lee Sedol, one of the best <em>Go</em> players in the world.</p><p>In both 1997 and 2016, the scientific community reacted enthusiastically to these artificial intelligence victories. But why is there so much to be happy, are we not just talking about board games in the end?</p><p>More generally, why is research in this field heavily based on solving videogame problems?</p><p>An <strong>immediate answer</strong> is surely this: because videogames represent difficult problems to solve.</p><p>The difficulty is mainly given by the fact that they often have more than one solution and that in most cases they play against an opponent who in turn will try to win at any cost.</p><p>In fact, thinking about it, what we do in any game is to follow a basic strategy that in our opinion will allow us to reach the final victory. Often this strategy clashes with the choices made by the opponent and therefore it is not uncommon to change one’s goals during the game.</p><p>Therefore, even in the simplest games like <em>Tic Tac Toe</em>, it would not be possible to play without taking into account the opponent, beyond our initial strategy.</p><p><strong>The unpredictability of this scenario, combined with the difficulty of the game, represents a challenge with a high degree of complexity.</strong> Solving it means allowing a machine to reach a level of autonomy that can compete against a human. And even to beat him, as happened in the past.</p><p>It is often by solving this type of problems that we come to understand how we can face other challenges in other fields.</p><p>Games represent a resource for research on AI, but there is no doubt that they also represent a pastime for millions of players all over the world who, year after year, are looking for more and more sophisticated and innovative titles.</p><p>It is therefore the task of the software houses that produce these games to please their fans, always trying to use the latest technologies to make the player’s experience as engaging as possible.</p><p>Although investments from this point of view are increasingly large — GTA V released in 2013 costs 265 million dollars in production and marketing — the truth is that the use of AI in video games is still very limited.</p><p>Obviously, there is a reason for this.</p><h3>AI and videogames today</h3><p>The reason is that the use of artificial intelligence within video games would introduce a percentage of unpredictability that would risk bringing the game’s story off the rails provided by the designers.</p><p>Furthermore, an AI able to adapt to the specific player, perhaps observing the moves, memorizing the mistakes and the style of play, could make the game itself unplayable giving to the AI ​​a way bigger advantage with respect to any other player and consequently ruining the primary objective of any videogame: <strong>the gaming experience</strong>.</p><p>It is important for a designer that at some point in the game, the player experiences certain feelings in order to make sense of the whole story built around that level. With artificial intelligence, there is a risk that this point of the game will be moved forward or backward than expected, or it may never arrive, ruining all the work done.</p><p>This is why although the unpredictability of the game is a feature sought after by gamers, it may not be more interesting and captivating if taken to the extreme. Indeed, it may even ruin the game itself as we have just seen.</p><p>So, what is generally done is to give only the illusion of intelligence. Make the gamers believe that they are facing opponents capable of reasoning, although these were actually designed to predict only the most common mistakes of the players.</p><p>In the end, with a little practice you can understand the opponent’s weaknesses and beat him in every game. This becomes possible because its <strong>weaknesses do not evolve</strong> and remain vulnerable to the same attacks.</p><p>The aim of the designers lies precisely in making this illusion imperceptible in the eyes of the players. Think about it: an opponent too simple to beat would be stupid, while a perfect opponent would surely be traced back to a machine and therefore to artificial intelligence.</p><p>Magic happens when the opponent, which was perfect until that point, does something stupid, introducing what is a typical human mechanism: <strong>fallibility</strong>.</p><p>This makes it realistic in the eyes of the gamer who therefore continues to play without reflecting on what is happening, sometimes even going so far as to justify the wrong choices of the opponent because they are similar to those of an average player.</p><p>It is clear that all this would be impractical with the introduction of the most recent applications of artificial intelligence. Simply because everything would be too perfect, to the point of becoming boring.</p><p>That’s why we still prefer to design a highly complex system, which provides infinite game situations — which may even happen to just a small group of players — rather than using artificial intelligence to achieve a far more complex result but too much unpredictable.</p><p>It is funny to think that any gamer would like to play a game in which freedom and unpredictability are the masters, but then the software houses themselves go in the opposite direction because they are aware that a game based on these criteria would represent the death of the game itself.</p><p>One could say that this is an example in which <strong>perfection is not necessary</strong>, indeed it must be avoided because it is deleterious.</p><h3>Conclusion</h3><p>Finally, games will still be a stimulus for artificial intelligence research for a long time, proposing increasingly complex challenges that will lead to useful discoveries in any field.</p><p>Beyond the research, however, it will be difficult to see in the near future a software house grappling with the most recent AI applications in an attempt to integrate them within a videogame title, as it does not represent the aim to be achieved.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a14080a6007f" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>