Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Read by thought-leaders and decision-makers around the world. Phone Number: +1-650-246-9381 Email: pub@towardsai.net
228 Park Avenue South New York, NY 10003 United States
Website: Publisher: https://towardsai.net/#publisher Diversity Policy: https://towardsai.net/about Ethics Policy: https://towardsai.net/about Masthead: https://towardsai.net/about
Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Founders: Roberto Iriondo, , Job Title: Co-founder and Advisor Works for: Towards AI, Inc. Follow Roberto: X, LinkedIn, GitHub, Google Scholar, Towards AI Profile, Medium, ML@CMU, FreeCodeCamp, Crunchbase, Bloomberg, Roberto Iriondo, Generative AI Lab, Generative AI Lab Denis Piffaretti, Job Title: Co-founder Works for: Towards AI, Inc. Louie Peters, Job Title: Co-founder Works for: Towards AI, Inc. Louis-François Bouchard, Job Title: Co-founder Works for: Towards AI, Inc. Cover:
Towards AI Cover
Logo:
Towards AI Logo
Areas Served: Worldwide Alternate Name: Towards AI, Inc. Alternate Name: Towards AI Co. Alternate Name: towards ai Alternate Name: towardsai Alternate Name: towards.ai Alternate Name: tai Alternate Name: toward ai Alternate Name: toward.ai Alternate Name: Towards AI, Inc. Alternate Name: towardsai.net Alternate Name: pub.towardsai.net
5 stars – based on 497 reviews

Frequently Used, Contextual References

TODO: Remember to copy unique IDs whenever it needs used. i.e., URL: 304b2e42315e

Resources

Take our 85+ lesson From Beginner to Advanced LLM Developer Certification: From choosing a project to deploying a working product this is the most comprehensive and practical LLM course out there!

Publication

How Artificial Intelligence Is Used in Air Traffic Control (ATC)
Latest

How Artificial Intelligence Is Used in Air Traffic Control (ATC)

Last Updated on January 26, 2023 by Editorial Team

Author(s): AlishaS

Originally published on Towards AI.

Overview

In recent years, air traffic has become a serious issue in the world. Delays in air traffic are caused by factors such as air system delays, security delays, airline delays, late aircraft delays, and weather delays.

Air Traffic Control (ATC) will become more complex in the future decades as aviation grows and becomes more complex, and it must be improved to ensure aviation safety. Nowadays, Artificial Intelligence (AI) plays an important role in data management and ATC decision-making.

AI has been recognized as having great potential in controlling ATC systems by providing advanced air traffic management systems, optimized paths, decision support tools, and UAVs.

These technologies will not only reduce risks but will also help companies by providing customer satisfaction. In this article, we’ll look over some challenges faced by Air Traffic Control and how AI is helping the aviation industry in countering these challenges.

Air Traffic Control (ATC)

Air Traffic Control (ATC) is a system that is responsible for the safe and efficient movement of aircraft in the airspace. ATC is responsible for ensuring that aircraft are separated from one another and that they are guided to their destinations safely and efficiently.

ATC is typically provided by government agencies, such as the Federal Aviation Administration (FAA) in the United States or Eurocontrol in Europe. ATC systems use a combination of radar, communications, and other technologies to track and manage aircraft in the airspace.

ATC controllers are responsible for coordinating the movement of aircraft in the airspace, issuing instructions to pilots, and monitoring weather conditions and other factors that may impact aircraft operations. They also work closely with other air traffic control centers and other organizations to ensure the safe and efficient movement of aircraft.

What are the challenges faced by Air Traffic Control (ATC)?

  1. Increase demand for air control: Air traffic has expanded substantially in recent years due to the growth of the airline industry and the development of new airports and runways. It has put additional pressure on the air traffic control system, which manages thousands of flights per day while also maintaining safety and reducing delays.
  2. Outdated technology: ATC needs to modernize and upgrade existing systems as many ATC systems are based on outdated technology, which can limit their ability to effectively manage traffic and increase the risk of errors and accidents. Additionally, with the increasing use of new technologies such as drones, airspace is becoming more complex, and ATC systems must adapt to keep pace.
  3. The human factor: ATC relies heavily on human controllers to make decisions and manage traffic. Human errors can occur, and it is important to have systems in place to detect and mitigate these errors. Furthermore, ATC controllers are facing high workloads and stress, which can lead to fatigue, making them more prone to errors.
  4. Weather: Weather is a significant challenge for Air Traffic Control (ATC) systems, as it can create unpredictable conditions that can impact traffic flow and increase the risk of accidents. Weather conditions such as storms, thunderstorms, icing, and turbulence can disrupt normal flight operations and affect the performance of ATC systems, leading to delays and increased holding times for aircraft, reduced capacity in the airspace, and increased workloads for controllers.
  5. Frequency congestion: A single radio frequency can only handle a certain number of radio messages in a specific amount of time. The length of each message and its answer will determine the maximum number of messages. A pilot should ideally be able to send a message at any moment and receive a rapid response. The frequency becomes congested as radio traffic exceeds the ideal limit. The pilot must wait for a communication break to send a message and may have to wait for a response from the ATC, who has to judge different priorities.
  6. Communication gap: Pilots and controllers may speak different languages and may use different technical terms or acronyms, which can create confusion and misunderstandings. Also, non-native speakers may not fully understand the instructions, especially in case of emergency or abnormal situations. Moreover, communication can also be affected by weather conditions or other external factors, such as interference or signal blockages, which can make it difficult for controllers and pilots to hear or understand each other.

Uses of Artificial Intelligence in Air Traffic Control

Artificial intelligence (AI) is used in several ways to improve the efficiency and safety of air traffic control (ATC) operations. Some of the ways that AI is being used in ATC include:

Traffic Management Systems

Artificial intelligence (AI) is being increasingly used in traffic management systems to improve the efficiency and safety of traffic flow. One of the main ways in which AI is being used in traffic management systems is through the use of advanced traffic prediction and optimization algorithms.

These algorithms generally make use of data science and python to analyze real-time data on traffic flow, weather conditions, and other factors to predict traffic congestion and suggest alternative routes or traffic control measures reduce flight delays.

Nowadays, AI is also being used in traffic management through the use of Intelligent Transportation Systems (ITS), which are a set of technologies that are used to improve the safety, efficiency, and sustainability of transportation systems.

ITS technologies can include the use of cameras, sensors, and other devices to monitor and control traffic flow, as well as the use of advanced algorithms to analyze data and provide real-time information to pilots and traffic managers.

Demand Prediction

Demand prediction is used to forecast the number of aircraft that will be flying in specific airspace at a specific time. This information is crucial for ATC, as it allows controllers to plan and manage traffic flow, and to ensure that there is enough capacity in the airspace to handle the expected demand.

Time series analysis is one method by which AI can be employed for demand prediction in ATC. This technique involves analyzing historical data on flight schedules, passenger demand, and other factors to identify patterns and trends, which can then be used to predict future demand.

By using machine learning algorithms such as neural networks, we can analyze large amounts of data and trends that are not easily visible to humans.

AI can also be integrated with other technologies, such as Automatic Dependent Surveillance-Broadcast (ADS-B) and data link communications (DLC), to provide real-time data on aircraft positions, allowing for more accurate demand predictions.

Optimal Sectorization

Sectorization is the practice of splitting airspace into smaller, more controllable portions known as sectors. Each sector is usually controlled by a single air traffic controller who is in charge of managing the movement of aircraft within that sector.

Optimal sectorization is the method of determining the most efficient and effective way to split airspace into sectors in order to increase airspace safety and efficiency.

AI modeling techniques and ML mathematical optimization algorithms can be used to provide optimal dynamic sector configuration by analyzing data on traffic volume, weather conditions, terrain, and other factors and then determining the most efficient sector boundaries.

Optimization of the flight path

Global aviation accounts for about 2% of anthropogenic carbon dioxide (CO2) and greenhouse gas emissions. That’s why aircraft manufacturers and carriers try to increase fuel efficiency.

Well, it’s not only environmental concerns but so are financial issues that are driving airline sector companies to adopt technology to decrease carbon emissions. According to Investopedia, fuel accounts for 10 to 12 percent of an airline’s operating expenditures.

Airlines use AI systems with built-in machine learning algorithms to collect and analyze flight data such as route lengths and altitudes, aircraft type and weight, weather, and so on. Based on collected data, AI systems evaluate the right quantity of fuel needed for a flight to complete the entire journey.

Airplane Maintenance

Airplane maintenance is a difficult task that may cost a fortune if done incorrectly. Today, many airlines are switching from corrective to predictive maintenance.

Airlines can use artificial intelligence to predict probable maintenance faults before they occur. AI can detect potential issues using data from in-service aircraft. AI assists in triggering real-time repairs, reducing the need for routine maintenance.

An airline can reduce costs associated with accelerated transportation of parts, overtime compensation for employees, and unplanned maintenance by implementing predictive maintenance. If a technical issue occurs, maintenance staff would be able to respond faster with workflow management software.

Airlines using AI platforms to enhance operations

As you can see, there are many ways through which airlines can use AI to automate their operations, lower expenses, provide safety, and improve customer experience. Below, we’ll discuss some real-life examples.

Thales AI-based platform

Thales is a global technology company that provides a wide range of products and services for the aerospace, defense, transportation, and security industries. Thales is involved in the development of artificial intelligence (AI)-based systems for air traffic control (ATC).

It is present in 85 places globally and provides controllers with a more precise prediction of flight trajectories, air traffic flow, and predicted flight take-off and arrival times.

One of the AI-based platforms developed by Thales is the “NeoLink” platform, which can analyze real-time data on aircraft positions, weather conditions, and other factors to predict traffic flow and congestion and provide controllers with real-time information and recommendations for managing traffic.

Thales also offers the “NeoNav” platform, which is an advanced navigation system for unmanned aerial vehicles (UAVs) that uses AI and machine learning techniques to provide autonomous navigation and decision-making capabilities.

Thales also helps airlines in providing passengers with a smooth experience. AI and Big Data are used to keep track of passengers’ interests and offer them personalized recommendations such as continuous in-flight entertainment, targeted advertising, and shopping.

Flyways AI platform

Alaska Airlines recently announced a collaboration with Airspace Intelligence and signed a multi-year contract for its Flyways AI platform. The current airline computer systems are incapable of consolidating all information and changing situations into a single unified map.

On the other hand, Flyways can forecast future events and handle exceptions by processing massive amounts of data more rapidly and precisely.

Flyways AI is a machine learning and artificial intelligence-powered 4D mapping, forecasting, and recommendation technology used for commercial aviation operations. It provides actionable advice to pilots when it finds a better route avoiding turbulence or a more efficient path.

The pilot then decides whether or not to accept and apply the suggested solution. In accordance with existing FAA standards, pilots always make the final decision.

Flyways AI helps pilots in performing smartly by recommending the most efficient and safest routes. It also helps to streamline traffic movement, which reduces greenhouse gas emissions (GHG) and fuel consumption.

Skywise AI platform

Skywise is an AI-powered open data platform developed by Airbus for aviation that uses big data analytics and artificial intelligence (AI) to optimize the performance and efficiency of airlines and airports.

Skywise contributes to airlines and suppliers by providing a powerful platform that connects multiple systems that were previously disconnected in most airlines. Airlines can create insights with Skywise analytical tools in both code-free and code-based situations.

Airbus developed this platform to conduct observation tasks such as computer vision, natural language processing, time series analysis, prediction, and decision-making. According to the head advisor of Airbus, Skywise helped Airbus during the COVID-19 outbreak by assisting them in analyzing air traffic fluctuations and flight restrictions.

Conclusion

Air Traffic Control (ATC) is a complex and critical system that faces many existing challenges, such as increasing demand for air travel, the need to modernize and upgrade existing systems, the human factor, weather, and frequency congestion.

These challenges must be addressed to ensure the safety of passengers because airplane accidents occur in airspace and often result in death. Air traffic can be controlled or avoided by predicting airline system parameters.

Artificial Intelligence has great potential to control the ATC system by providing advanced traffic management systems, automation, decision support tools, and UAVs.

These technologies improve safety, efficiency, and capacity while decreasing demands on human operators and delivering real-time data to help them make better decisions. As we move forward, AI will continue to play an important role in the future of Air Traffic Control.


How Artificial Intelligence Is Used in Air Traffic Control (ATC) was originally published in Towards AI on Medium, where people are continuing the conversation by highlighting and responding to this story.

Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor.

Published via Towards AI

Feedback ↓

Sign Up for the Course
`; } else { console.error('Element with id="subscribe" not found within the page with class "home".'); } } }); // Remove duplicate text from articles /* Backup: 09/11/24 function removeDuplicateText() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, strong'); // Select the desired elements const seenTexts = new Set(); // A set to keep track of seen texts const tagCounters = {}; // Object to track instances of each tag elements.forEach(el => { const tagName = el.tagName.toLowerCase(); // Get the tag name (e.g., 'h1', 'h2', etc.) // Initialize a counter for each tag if not already done if (!tagCounters[tagName]) { tagCounters[tagName] = 0; } // Only process the first 10 elements of each tag type if (tagCounters[tagName] >= 2) { return; // Skip if the number of elements exceeds 10 } const text = el.textContent.trim(); // Get the text content const words = text.split(/\s+/); // Split the text into words if (words.length >= 4) { // Ensure at least 4 words const significantPart = words.slice(0, 5).join(' '); // Get first 5 words for matching // Check if the text (not the tag) has been seen before if (seenTexts.has(significantPart)) { // console.log('Duplicate found, removing:', el); // Log duplicate el.remove(); // Remove duplicate element } else { seenTexts.add(significantPart); // Add the text to the set } } tagCounters[tagName]++; // Increment the counter for this tag }); } removeDuplicateText(); */ // Remove duplicate text from articles function removeDuplicateText() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, strong'); // Select the desired elements const seenTexts = new Set(); // A set to keep track of seen texts const tagCounters = {}; // Object to track instances of each tag // List of classes to be excluded const excludedClasses = ['medium-author', 'post-widget-title']; elements.forEach(el => { // Skip elements with any of the excluded classes if (excludedClasses.some(cls => el.classList.contains(cls))) { return; // Skip this element if it has any of the excluded classes } const tagName = el.tagName.toLowerCase(); // Get the tag name (e.g., 'h1', 'h2', etc.) // Initialize a counter for each tag if not already done if (!tagCounters[tagName]) { tagCounters[tagName] = 0; } // Only process the first 10 elements of each tag type if (tagCounters[tagName] >= 10) { return; // Skip if the number of elements exceeds 10 } const text = el.textContent.trim(); // Get the text content const words = text.split(/\s+/); // Split the text into words if (words.length >= 4) { // Ensure at least 4 words const significantPart = words.slice(0, 5).join(' '); // Get first 5 words for matching // Check if the text (not the tag) has been seen before if (seenTexts.has(significantPart)) { // console.log('Duplicate found, removing:', el); // Log duplicate el.remove(); // Remove duplicate element } else { seenTexts.add(significantPart); // Add the text to the set } } tagCounters[tagName]++; // Increment the counter for this tag }); } removeDuplicateText(); //Remove unnecessary text in blog excerpts document.querySelectorAll('.blog p').forEach(function(paragraph) { // Replace the unwanted text pattern for each paragraph paragraph.innerHTML = paragraph.innerHTML .replace(/Author\(s\): [\w\s]+ Originally published on Towards AI\.?/g, '') // Removes 'Author(s): XYZ Originally published on Towards AI' .replace(/This member-only story is on us\. Upgrade to access all of Medium\./g, ''); // Removes 'This member-only story...' }); //Load ionic icons and cache them if ('localStorage' in window && window['localStorage'] !== null) { const cssLink = 'https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css'; const storedCss = localStorage.getItem('ionicons'); if (storedCss) { loadCSS(storedCss); } else { fetch(cssLink).then(response => response.text()).then(css => { localStorage.setItem('ionicons', css); loadCSS(css); }); } } function loadCSS(css) { const style = document.createElement('style'); style.innerHTML = css; document.head.appendChild(style); } //Remove elements from imported content automatically function removeStrongFromHeadings() { const elements = document.querySelectorAll('h1, h2, h3, h4, h5, h6, span'); elements.forEach(el => { const strongTags = el.querySelectorAll('strong'); strongTags.forEach(strongTag => { while (strongTag.firstChild) { strongTag.parentNode.insertBefore(strongTag.firstChild, strongTag); } strongTag.remove(); }); }); } removeStrongFromHeadings(); "use strict"; window.onload = () => { /* //This is an object for each category of subjects and in that there are kewords and link to the keywods let keywordsAndLinks = { //you can add more categories and define their keywords and add a link ds: { keywords: [ //you can add more keywords here they are detected and replaced with achor tag automatically 'data science', 'Data science', 'Data Science', 'data Science', 'DATA SCIENCE', ], //we will replace the linktext with the keyword later on in the code //you can easily change links for each category here //(include class="ml-link" and linktext) link: 'linktext', }, ml: { keywords: [ //Add more keywords 'machine learning', 'Machine learning', 'Machine Learning', 'machine Learning', 'MACHINE LEARNING', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, ai: { keywords: [ 'artificial intelligence', 'Artificial intelligence', 'Artificial Intelligence', 'artificial Intelligence', 'ARTIFICIAL INTELLIGENCE', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, nl: { keywords: [ 'NLP', 'nlp', 'natural language processing', 'Natural Language Processing', 'NATURAL LANGUAGE PROCESSING', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, des: { keywords: [ 'data engineering services', 'Data Engineering Services', 'DATA ENGINEERING SERVICES', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, td: { keywords: [ 'training data', 'Training Data', 'training Data', 'TRAINING DATA', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, ias: { keywords: [ 'image annotation services', 'Image annotation services', 'image Annotation services', 'image annotation Services', 'Image Annotation Services', 'IMAGE ANNOTATION SERVICES', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, l: { keywords: [ 'labeling', 'labelling', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, pbp: { keywords: [ 'previous blog posts', 'previous blog post', 'latest', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, mlc: { keywords: [ 'machine learning course', 'machine learning class', ], //Change your article link (include class="ml-link" and linktext) link: 'linktext', }, }; //Articles to skip let articleIdsToSkip = ['post-2651', 'post-3414', 'post-3540']; //keyword with its related achortag is recieved here along with article id function searchAndReplace(keyword, anchorTag, articleId) { //selects the h3 h4 and p tags that are inside of the article let content = document.querySelector(`#${articleId} .entry-content`); //replaces the "linktext" in achor tag with the keyword that will be searched and replaced let newLink = anchorTag.replace('linktext', keyword); //regular expression to search keyword var re = new RegExp('(' + keyword + ')', 'g'); //this replaces the keywords in h3 h4 and p tags content with achor tag content.innerHTML = content.innerHTML.replace(re, newLink); } function articleFilter(keyword, anchorTag) { //gets all the articles var articles = document.querySelectorAll('article'); //if its zero or less then there are no articles if (articles.length > 0) { for (let x = 0; x < articles.length; x++) { //articles to skip is an array in which there are ids of articles which should not get effected //if the current article's id is also in that array then do not call search and replace with its data if (!articleIdsToSkip.includes(articles[x].id)) { //search and replace is called on articles which should get effected searchAndReplace(keyword, anchorTag, articles[x].id, key); } else { console.log( `Cannot replace the keywords in article with id ${articles[x].id}` ); } } } else { console.log('No articles found.'); } } let key; //not part of script, added for (key in keywordsAndLinks) { //key is the object in keywords and links object i.e ds, ml, ai for (let i = 0; i < keywordsAndLinks[key].keywords.length; i++) { //keywordsAndLinks[key].keywords is the array of keywords for key (ds, ml, ai) //keywordsAndLinks[key].keywords[i] is the keyword and keywordsAndLinks[key].link is the link //keyword and link is sent to searchreplace where it is then replaced using regular expression and replace function articleFilter( keywordsAndLinks[key].keywords[i], keywordsAndLinks[key].link ); } } function cleanLinks() { // (making smal functions is for DRY) this function gets the links and only keeps the first 2 and from the rest removes the anchor tag and replaces it with its text function removeLinks(links) { if (links.length > 1) { for (let i = 2; i < links.length; i++) { links[i].outerHTML = links[i].textContent; } } } //arrays which will contain all the achor tags found with the class (ds-link, ml-link, ailink) in each article inserted using search and replace let dslinks; let mllinks; let ailinks; let nllinks; let deslinks; let tdlinks; let iaslinks; let llinks; let pbplinks; let mlclinks; const content = document.querySelectorAll('article'); //all articles content.forEach((c) => { //to skip the articles with specific ids if (!articleIdsToSkip.includes(c.id)) { //getting all the anchor tags in each article one by one dslinks = document.querySelectorAll(`#${c.id} .entry-content a.ds-link`); mllinks = document.querySelectorAll(`#${c.id} .entry-content a.ml-link`); ailinks = document.querySelectorAll(`#${c.id} .entry-content a.ai-link`); nllinks = document.querySelectorAll(`#${c.id} .entry-content a.ntrl-link`); deslinks = document.querySelectorAll(`#${c.id} .entry-content a.des-link`); tdlinks = document.querySelectorAll(`#${c.id} .entry-content a.td-link`); iaslinks = document.querySelectorAll(`#${c.id} .entry-content a.ias-link`); mlclinks = document.querySelectorAll(`#${c.id} .entry-content a.mlc-link`); llinks = document.querySelectorAll(`#${c.id} .entry-content a.l-link`); pbplinks = document.querySelectorAll(`#${c.id} .entry-content a.pbp-link`); //sending the anchor tags list of each article one by one to remove extra anchor tags removeLinks(dslinks); removeLinks(mllinks); removeLinks(ailinks); removeLinks(nllinks); removeLinks(deslinks); removeLinks(tdlinks); removeLinks(iaslinks); removeLinks(mlclinks); removeLinks(llinks); removeLinks(pbplinks); } }); } //To remove extra achor tags of each category (ds, ml, ai) and only have 2 of each category per article cleanLinks(); */ //Recommended Articles var ctaLinks = [ /* ' ' + '

Subscribe to our AI newsletter!

' + */ '

Take our 85+ lesson From Beginner to Advanced LLM Developer Certification: From choosing a project to deploying a working product this is the most comprehensive and practical LLM course out there!

'+ '

Towards AI has published Building LLMs for Production—our 470+ page guide to mastering LLMs with practical projects and expert insights!

' + '
' + '' + '' + '

Note: Content contains the views of the contributing authors and not Towards AI.
Disclosure: This website may contain sponsored content and affiliate links.

' + 'Discover Your Dream AI Career at Towards AI Jobs' + '

Towards AI has built a jobs board tailored specifically to Machine Learning and Data Science Jobs and Skills. Our software searches for live AI jobs each hour, labels and categorises them and makes them easily searchable. Explore over 10,000 live jobs today with Towards AI Jobs!

' + '
' + '

🔥 Recommended Articles 🔥

' + 'Why Become an LLM Developer? Launching Towards AI’s New One-Stop Conversion Course'+ 'Testing Launchpad.sh: A Container-based GPU Cloud for Inference and Fine-tuning'+ 'The Top 13 AI-Powered CRM Platforms
' + 'Top 11 AI Call Center Software for 2024
' + 'Learn Prompting 101—Prompt Engineering Course
' + 'Explore Leading Cloud Providers for GPU-Powered LLM Training
' + 'Best AI Communities for Artificial Intelligence Enthusiasts
' + 'Best Workstations for Deep Learning
' + 'Best Laptops for Deep Learning
' + 'Best Machine Learning Books
' + 'Machine Learning Algorithms
' + 'Neural Networks Tutorial
' + 'Best Public Datasets for Machine Learning
' + 'Neural Network Types
' + 'NLP Tutorial
' + 'Best Data Science Books
' + 'Monte Carlo Simulation Tutorial
' + 'Recommender System Tutorial
' + 'Linear Algebra for Deep Learning Tutorial
' + 'Google Colab Introduction
' + 'Decision Trees in Machine Learning
' + 'Principal Component Analysis (PCA) Tutorial
' + 'Linear Regression from Zero to Hero
'+ '

', /* + '

Join thousands of data leaders on the AI newsletter. It’s free, we don’t spam, and we never share your email address. Keep up to date with the latest work in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor.

',*/ ]; var replaceText = { '': '', '': '', '
': '
' + ctaLinks + '
', }; Object.keys(replaceText).forEach((txtorig) => { //txtorig is the key in replacetext object const txtnew = replaceText[txtorig]; //txtnew is the value of the key in replacetext object let entryFooter = document.querySelector('article .entry-footer'); if (document.querySelectorAll('.single-post').length > 0) { //console.log('Article found.'); const text = entryFooter.innerHTML; entryFooter.innerHTML = text.replace(txtorig, txtnew); } else { // console.log('Article not found.'); //removing comment 09/04/24 } }); var css = document.createElement('style'); css.type = 'text/css'; css.innerHTML = '.post-tags { display:none !important } .article-cta a { font-size: 18px; }'; document.body.appendChild(css); //Extra //This function adds some accessibility needs to the site. function addAlly() { // In this function JQuery is replaced with vanilla javascript functions const imgCont = document.querySelector('.uw-imgcont'); imgCont.setAttribute('aria-label', 'AI news, latest developments'); imgCont.title = 'AI news, latest developments'; imgCont.rel = 'noopener'; document.querySelector('.page-mobile-menu-logo a').title = 'Towards AI Home'; document.querySelector('a.social-link').rel = 'noopener'; document.querySelector('a.uw-text').rel = 'noopener'; document.querySelector('a.uw-w-branding').rel = 'noopener'; document.querySelector('.blog h2.heading').innerHTML = 'Publication'; const popupSearch = document.querySelector$('a.btn-open-popup-search'); popupSearch.setAttribute('role', 'button'); popupSearch.title = 'Search'; const searchClose = document.querySelector('a.popup-search-close'); searchClose.setAttribute('role', 'button'); searchClose.title = 'Close search page'; // document // .querySelector('a.btn-open-popup-search') // .setAttribute( // 'href', // 'https://medium.com/towards-artificial-intelligence/search' // ); } // Add external attributes to 302 sticky and editorial links function extLink() { // Sticky 302 links, this fuction opens the link we send to Medium on a new tab and adds a "noopener" rel to them var stickyLinks = document.querySelectorAll('.grid-item.sticky a'); for (var i = 0; i < stickyLinks.length; i++) { /* stickyLinks[i].setAttribute('target', '_blank'); stickyLinks[i].setAttribute('rel', 'noopener'); */ } // Editorial 302 links, same here var editLinks = document.querySelectorAll( '.grid-item.category-editorial a' ); for (var i = 0; i < editLinks.length; i++) { editLinks[i].setAttribute('target', '_blank'); editLinks[i].setAttribute('rel', 'noopener'); } } // Add current year to copyright notices document.getElementById( 'js-current-year' ).textContent = new Date().getFullYear(); // Call functions after page load extLink(); //addAlly(); setTimeout(function() { //addAlly(); //ideally we should only need to run it once ↑ }, 5000); }; function closeCookieDialog (){ document.getElementById("cookie-consent").style.display = "none"; return false; } setTimeout ( function () { closeCookieDialog(); }, 15000); console.log(`%c 🚀🚀🚀 ███ █████ ███████ █████████ ███████████ █████████████ ███████████████ ███████ ███████ ███████ ┌───────────────────────────────────────────────────────────────────┐ │ │ │ Towards AI is looking for contributors! │ │ Join us in creating awesome AI content. │ │ Let's build the future of AI together → │ │ https://towardsai.net/contribute │ │ │ └───────────────────────────────────────────────────────────────────┘ `, `background: ; color: #00adff; font-size: large`); //Remove latest category across site document.querySelectorAll('a[rel="category tag"]').forEach(function(el) { if (el.textContent.trim() === 'Latest') { // Remove the two consecutive spaces (  ) if (el.nextSibling && el.nextSibling.nodeValue.includes('\u00A0\u00A0')) { el.nextSibling.nodeValue = ''; // Remove the spaces } el.style.display = 'none'; // Hide the element } }); // Add cross-domain measurement, anonymize IPs 'use strict'; //var ga = gtag; ga('config', 'G-9D3HKKFV1Q', 'auto', { /*'allowLinker': true,*/ 'anonymize_ip': true/*, 'linker': { 'domains': [ 'medium.com/towards-artificial-intelligence', 'datasets.towardsai.net', 'rss.towardsai.net', 'feed.towardsai.net', 'contribute.towardsai.net', 'members.towardsai.net', 'pub.towardsai.net', 'news.towardsai.net' ] } */ }); ga('send', 'pageview'); -->