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

Machine Learning, What is Machine Learning and How it Works
Machine Learning

What is Machine Learning (ML)?

Last Updated on May 6, 2022 by Editorial Team

What is machine learning? Image illustrates how a convolutional neural network operates

Learn what is machine learning (ML), how it works, and its importance in five minutes

Last updated on May 6, 2022

Authors(s): Roberto Iriondo, Pratik Shukla

Who should read this article?

Anyone curious who wants a straightforward and accurate overview of what is machine learning, how it works, and its importance. We go through each of the pertinent questions raised above by slicing technical definitions from machine learning pioneers and industry leaders to present you with a fundamental and simplistic introduction to the fantastic, scientific field of machine learning.

A glossary of terms can be found at the bottom of the article, along with a small set of resources for further learning, references, and disclosures.

What is machine learning?

Computer Scientist and machine learning pioneer Tom M. Mitchell Portrayed | Source: Machine Learning, McGraw Hill, 1997, Tom M. Mitchell [2]
The scientific field of machine learning (ML) is a branch of artificial intelligence, as defined by Computer Scientist and machine learning pioneer [1] Tom M. Mitchell: “Machine learning is the study of computer algorithms that allow computer programs to automatically improve through experience [2].”

An algorithm can be thought of as a set of rules/instructions that a computer programmer specifies, which a computer can process. Simply put, machine learning algorithms learn by experience, similar to how humans do. For example, after having seen multiple examples of an object, a compute-employing machine learning algorithm can become able to recognize that object in new, previously unseen scenarios.

Machine learning behaves similarly to the growth of a child. As a child grows, her experience E in performing task T increases, which results in higher performance measure (P).

For instance, we give a “shape sorting block” toy to a child. (Now we all know that in this toy, we have different shapes and shape holes). In this case, our task T is to find an appropriate shape hole for a shape. Afterward, the child observes the shape and tries to fit it in a shaped hole. Let us say that this toy has three shapes: a circle, a triangle, and a square. In her first attempt at finding a shaped hole, her performance measure(P) is 1/3, which means that the child found 1 out of 3 correct shape holes.

Second, the child tries it another time and notices that she is a little experienced in this task. Considering the experience gained (E), the child tries this task another time, and when measuring the performance(P), it turns out to be 2/3. After repeating this task (T) 100 times, the baby now figured out which shape goes into which shape hole.

So her experience (E) increased, her performance(P) also increased, and then we noticed that as the number of attempts at this toy increased. The performance also increases, which results in higher accuracy.

Such execution is similar to machine learning. What a machine does is, it takes a task (T), executes it, and measures its performance (P). Now a machine has a large number of data, so as it processes that data, its experience (E) increases over time, resulting in a higher performance measure (P). So after going through all the data, our machine learning model’s accuracy increases, which means that the predictions made by our model will be very accurate.

Why do we need machine learning?

For instance, we have a set of images of cats and dogs. What we want to do is classify them into a group of cats and dogs. To do that, we need to find out different animal features, such as:

  1. How many eyes does each animal have?
  2. What is the eye color of each animal?
  3. What is the height of each animal?
  4. What is the weight of each animal?
  5. What does each animal generally eat?

We form a vector on each of these questions’ answers. Next, we apply a set of rules such as:

If height > 1 feet and weight > 15 lbs, then it could be a cat.

Now, we have to make such a set of rules for every data point. Furthermore, we place a decision tree of if, else if, else statements and check whether it falls into one of the categories.

Let us assume that the result of this experiment was not fruitful as it misclassified many of the animals, which gives us an excellent opportunity to use machine learning.

What machine learning does is process the data with different kinds of algorithms and tells us which feature is more important to determine whether it is a cat or a dog. So instead of applying many sets of rules, we can simplify it based on two or three features, and as a result, it gives us a higher accuracy. The previous method was not generalized enough to make predictions.

Machine learning models help us in many tasks, such as:

  • Object Recognition
  • Summarization
  • Prediction
  • Classification
  • Clustering
  • Recommender systems
  • And others

Major Machine Learning Algorithms:

These are the major machine learning algorithms currently being used today.

1. Regression (Prediction)

We use regression algorithms for predicting continuous values.

Regression algorithms:

  • Linear Regression
  • Polynomial Regression
  • Exponential Regression
  • Logistic Regression
  • Logarithmic Regression

2. Classification

We use classification algorithms for predicting a set of items’ classes or categories.

Classification algorithms:

3. Clustering

We use clustering algorithms for summarization or to structure data.

Clustering algorithms:

  • K-means
  • DBSCAN
  • Mean Shift
  • Hierarchical

4. Association

We use association algorithms for associating co-occurring items or events.

Association algorithms:

  • Apriori

5. Anomaly Detection

We use anomaly detection for discovering abnormal activities and unusual cases like fraud detection.

6. Sequence Pattern Mining

We use sequential pattern mining for predicting the next data events between data examples in a sequence.

7. Dimensionality Reduction

We use dimensionality reduction to reduce the size of data to extract only useful features from a dataset.

8. Recommendation Systems

We use recommenders algorithms to build recommendation engines.

Examples:

  • Netflix recommendation system.
  • A book recommendation system.
  • A product recommendation system on Amazon.

Types of Machine Learning Algorithms:

Machine Learning algorithms are generally categorized according to their purpose.

  • Supervise Machine Learning Algorithms
  • Unsupervised Machine Learning Algorithms
  • Semi-supervised Machine Learning Algorithms
  • Reinforcement Learning

Now, let us have a brief look at each of the categories of the Machine Learning Algorithms.

1. Supervised Machine Learning Algorithms:

Here, human specialists play the role of teacher, feeding the computer with training data comprising the input/predictors and showing it the correct answers (output), with the expectation that the machine will be able to learn patterns from the data. In simple terms, we can say that here we provide supervision to the algorithm while it is in the training phase. A supervised machine learning algorithm uses the training data to find patterns and then uses the learned behavior to predict the value of the target variable on new data points.

Examples of Supervised Machine Learning Algorithms:

  • Nearest Neighbor
  • Naive Bayes
  • Decision Trees
  • Linear Regression
  • Support Vector Machines (SVM)
  • Neural Networks

2. Unsupervised Machine Learning Algorithms:

In unsupervised machine learning algorithms, there is no concept of the teacher. The dataset we have is unlabelled with no true value of the target variable. Instead, the unsupervised machine learning algorithms find patterns in data to perform their job. Unsupervised machine learning algorithms are useful especially in the case where subject matter experts are not sure about what to look for in the dataset, i.e., which features are essential. Unsupervised machine learning algorithms are specially used for pattern detection and descriptive modeling. These algorithms attempt to mine for rules, recognize patterns, summarize and aggregate data points in order to derive useful insights and better represent the data to consumers using techniques applied to the input data.

Examples of Unsupervised Machine Learning Algorithms:

  • K-means clustering
  • Principle Component Analysis
  • Hierarchical Clustering

3. Semi-supervised Machine Learning Algorithms:

In supervised machine learning algorithms, all the data is labeled — while in unsupervised machine learning algorithms, we don’t have any labeled data. Semi-supervised learning is somewhere in the middle. In many practical instances, the cost of labeling is relatively significant because it necessitates the use of qualified human experts. As a result, semi-supervised algorithms are the best options for model development when labels are absent in the majority of observations but present in a few. These methods take advantage of the fact that unlabeled data contains crucial information about group parameters, even if the group memberships are unknown.

4. Reinforcement Learning:

The reinforcement learning algorithm (called the agent) continuously learns from the environment in an iterative fashion. The agent learns from its environment’s experiences until it has explored the whole spectrum of conceivable states.
Reinforcement Learning is a discipline of Artificial Intelligence that is a form of Machine Learning. It enables machines and software agents to automatically select the best behavior in a given situation in order to improve their efficiency. For the agent to learn its behavior, it needs only simple reward feedback, which is known as the reinforcement signal.

How does machine learning work?

How does machine learning work? ~ Yann LeCun, Head of Facebook AI Research | Source: Youtube [3]

In the video above [3], Head of Facebook AI Research, Yann LeCun, simply explains how machine learning works with easy-to-follow examples. Machine learning utilizes various techniques to intelligently handle large and complex amounts of information to make decisions and/or predictions.

In practice, the patterns that a computer (machine learning system) learns can be very complicated and difficult to explain. Consider searching for dog images on Google search — as seen in the image below, Google is incredibly good at bringing relevant results, yet how does Google search achieve this task? In simple terms, Google search first gets a large number of examples (image dataset) of photos labeled “dog” — then the computer (machine learning system) looks for patterns of pixels and patterns of colors that help it guess (predict) if the image queried it is indeed a dog.

Query on Google Search for “dog” | Source: Google Search

At first, Google’s computer makes a random guess of what patterns are reasonable to identify a dog’s image. If it makes a mistake, then a set of adjustments are made for the computer to get it right. In the end, such a collection of patterns learned by a large computer system modeled after the human brain (deep neural network), that once is trained, can correctly identify and bring accurate results of dog images on Google search, along with anything else that you could think of — such process is called the training phase of a machine learning system.

Machine learning system looking for patterns between dog and cat images [5]

Imagine that you were in charge of building a machine learning prediction system to try and identify images between dogs and cats. As we explained above, the first step would be to gather a large number of labeled images with “dog” for dogs and “cat” for cats. Second, we would train the computer to look for patterns on the images to identify dogs and cats, respectively.

Trained machine learning system capable of identifying cats or dogs. [5]

Once the machine learning model has been trained [7], we can throw at it (input) different images to see if it can correctly identify dogs and cats. As seen in the image above, a trained machine learning model can (most of the time) correctly identify such queries.

Why is machine learning important?

“Just as electricity transformed almost everything 100 years ago, today I actually have a hard time thinking of an industry that I don’t think AI will transform in the next several years.” ~ Andrew Ng | Source: Stanford Business Graduate School [4]

Machine learning is incredibly important nowadays. First, because it can solve complicated real-world problems in a scalable way, and second, because it has disrupted a variety of industries within the past decade [9] and continues to do so in the future, as more and more industry leaders and researchers are specializing in machine learning, along taking what they have learned to continue with their research and/or develop machine learning tools to impact their own fields positively. Third, artificial intelligence has the potential to incrementally add 16% or around $ 13 trillion to the US economy by 2030 [18]. The rate at which machine learning is causing a positive impact is already surprisingly impressive [10] [11] [12] [13] [14] [15] [16], which has been successful thanks to the dramatic change in data storage and computing processing power [17] — as more people are increasingly becoming involved, we can only expect it to continue with this route and continue to cause amazing progress in different fields [6].

Who uses machine learning and why?

The value of machine learning technology has been acknowledged by most businesses that deal with significant amounts of data. Organizations can work more effectively or gain an advantage over competitors by gleaning insights from this data — frequently in real-time.

  • Financial Services
  • Health Care
  • Government
  • Retail
  • Oil and Gas
  • Transportation

Advantages and Disadvantages of Machine Learning:

  1. Advantages:
  • Trends and patterns are easily discernible
  • No human intervention
  • Continuous improvement with low cost
  • Handling multidimensional data
  • Handling a variety of data
  • Wide applications

2. Disadvantages:

  • Requires a large number of data
  • Utilization of time and resources
  • Result interpretation
  • Susceptibility to errors in critical domains

What does the future look like for Machine Learning?

The future of machine learning is fascinating. Machine learning applications are currently used in practically every mainstream domain. Healthcare, search engine optimization, digital marketing, and education are just a few of the industries that have benefited. Working on a topic without this new technology looks to be nearly unachievable in terms of achieving objective results. Machine Learning may be a debatable benefit to a business or organization, whether it is a multinational corporation or a start-up because repetitive tasks that are currently completed manually will be completed automatically in the future. Below are a few examples by which we can verify the future of machine learning

  • Accurate search engine results
  • Accurate customizations based on preferences
  • Quantum computing is on the rise
  • The exponential growth of data
  • Automated self-learning machines
  • Automotive and self-driving vehicles
  • Manufacturing

Acknowledgments:

The author would like to thank Anthony Platanios, Doctoral Researcher with the Machine Learning Department at Carnegie Mellon University, for constructive criticism and editorial comments in preparation for this article.

DISCLAIMER: The views expressed in this article are those of the author(s) and do not represent the views of Carnegie Mellon University, nor other companies (directly or indirectly) associated with the author(s). These writings do not intend to be final products yet rather a reflection of current thinking, along with being a catalyst for discussion and improvement.

Glossary of Terms:

Key Machine Learning Definitions

Glossary of the most used definitions in machine learning

References:

[1] For pioneering contributions and leadership in the methods and applications of machine learning. | “Prof. Tom M. Mitchell.” National Academy of Engineering. Retrieved October 2, 2011.

[2] Machine Learning Definition | Tom M. Mitchell| McGraw-Hill Science/Engineering/Math; (March 1, 1997), Page 1 | http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mitchell/ftp/mlbook.html

[3] How does Machine Learning work? | Yann LeCun | Youtube | https://www.youtube.com/watch?v=mmXB636p_E8

[4] Andrew Ng: Why AI is the New Electricity | Shana Lynch | Stanford Business | https://www.gsb.stanford.edu/insights/andrew-ng-why-ai-new-electricity

[5] Breaking it down: A Q&A on machine learning | Google | https://www.google.com/about/main/machine-learning-qa/

[6] In Ten Years: The Future of AI and ML | Foursquare | https://medium.com/foursquare-direct/in-ten-years-the-future-of-ai-and-ml-fa68a527f378

[7] Training ML Models | Amazon Web Services | https://docs.aws.amazon.com/machine-learning/latest/dg/training-ml-models.html

[8] Machine learning models training process | Amazon Web Services | https://docs.aws.amazon.com/machine-learning/latest/dg/training-process.html

[9] 5 Industries Machine Learning is Disrupting Right Now | Disruption, Inc.| https://disruptionhub.com/5-industries-machine-learning-disrupting/

[10] Facebook Has Released a Machine Learning Tool to Help Engineers Code | DesignNews | https://www.youtube.com/watch?v=mmXB636p_E8

[11] Lithium-ion Battery Book Written by Machine Learning Algorithm | ChemistryWorld | https://www.chemistryworld.com/news/lithiumion-battery-book-written-by-machine-learning-algorithm/3010380.article

[12] Machine Learning Algorithm Predicts Who Will Survive Game of Thrones | VW | https://www.chemistryworld.com/news/lithiumion-battery-book-written-by-machine-learning-algorithm/3010380.article

[13] Machine Learning is Making Pesto Even More Delicious | MIT Technology Review | https://www.technologyreview.com/s/613262/machine-learning-is-making-pesto-even-more-delicious/

[14] Machine learning generated artwork auctions off for $ 432,500 | Data-Driven Investor | https://medium.com/datadriveninvestor/machine-learning-generated-artwork-auctions-off-for-432-500-c377be74146f

[15] How machine learning will fundamentally change the lives of healthcare providers | Radiology Business | https://www.radiologybusiness.com/topics/artificial-intelligence/machine-learning-ai-healthcare-workflow-clinicians

[16] Google’s AI is better at spotting advanced breast cancer than pathologists | MIT Technology Review | https://www.technologyreview.com/the-download/612292/googles-ai-is-better-at-spotting-advanced-breast-cancer-than-pathologists/

[17] Visualizing the Trillion-Fold Increase in Computing Power | Visual Capitalist | https://www.visualcapitalist.com/visualizing-trillion-fold-increase-computing-power/

[18] The Impact of Artificial Intelligence on The World Economy | The Wall Street Journal | Intelligence in the economy | PWC | https://www.pwc.co.uk/economic-services/assets/macroeconomic-impact-of-ai-technical-report-feb-18.pdf

[19]Machine Learning Algorithms For Beginners with Code Examples in Python| Towards AI Editorial Team|https://pub.towardsai.net/machine-learning-algorithms-for-beginners-with-python-code-examples-ml-19c6afd60daa

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'); -->