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

Introduction to Machine Learning: Exploring Its Many Forms
Artificial Intelligence   Data Science   Latest   Machine Learning

Introduction to Machine Learning: Exploring Its Many Forms

Last Updated on November 5, 2023 by Editorial Team

Author(s): RaviTeja G

Originally published on Towards AI.

Image Generated by ideogram.ai

These days, Machine Learning is everywhere, right? If you are here, You might have gotten curious as to what exactly machine learning is! So, Let me explain it in simple terms for you, At a high level, machine learning is all about teaching computers to make smart choices by showing them lots of examples and letting them learn from the data. Let’s Discuss more about it, and here’s what lies ahead!

Table Of Contents

  1. How Machine Learning Works
    Applications of Machine Learning
  2. Types of Machine Learning
  3. Supervised Machine Learning
    Types of Supervised Learning
    Regression
    Classification
  4. Unsupervised Machine Learning
    Types of Unsupervised Learning
    Clustering Algorithms
    Dimensionality Reduction
    Anomaly Detection
    Association Rule Learning
    Autoencoders
  5. Semi-Supervised Learning
  6. Reinforcement Learning

Conclusion
Announcement #100daysMLDL

How Machine Learning Works

what happens in machine learning is basically that we have a piece of code ( which is referred to as an algorithm ) to find patterns in the data by analyzing a lot of previous data available ( this process is called Training). Say, an adult person’s height and his/her father’s height have a pattern of, Father Height=m*(person height)+c.

Based on the patterns observed, the algorithm will create a mathematical equation by adjusting the parameters( here m, c) and finding the best parameters that can give an accurate match of the data (here it finds the best values for the parameters m and c, that can represent the data), which is referred to as a Model ( say, Father Height=1*Person Height+0.5). well, it’s not always an equation, but to simplify our understanding, we can consider it this way.

Now with the model we have, If someone says their height, we can predict their father's height with the model we have ( the equation ), right? Don’t fight with me if this doesn’t give the correct prediction for your height and your father's height! The values are dummies!!

But there is a sea of algorithms out there, So In Machine learning, we study these algorithms to find the best algorithm that could make accurate predictions with your new data.

Applications of Machine Learning

Let’s accept it, Machine Learning is all around us, making our lives easier and more convenient. Here are a few examples.

1. Recommender Systems: Imagine you’re on a streaming platform: You’ve watched a few science fiction movies, and suddenly it suggests more sci-fi films. That’s machine learning at work! It analyzes your past choices and those of other viewers to recommend content you’ll enjoy.

2. Virtual Personal Assistants: Think about Siri, Alexa, or Google Assistant: They understand your voice commands and provide helpful responses. Machine learning algorithms enable them to recognize speech patterns and improve their understanding of your voice over time.

3. Self-Driving Cars: Picture a car that drives itself: Self-driving cars use machine learning to interpret data from sensors and cameras, helping them make decisions like when to stop, go, or change lanes. They learn to navigate safely by observing real-world traffic.

4. Fraud Detection: When your bank detects unusual activity on your account: And again, Machine learning algorithms are at work. They analyze your spending patterns and flag transactions that deviate from the norm, protecting you from fraudulent activities.

5. Medical Diagnostics: When doctors use AI to detect diseases: Machine learning assists in analyzing medical images, like X-rays and MRI scans, to identify abnormalities early. It can also help predict patient outcomes based on historical data.

These applications are just the tip of the iceberg and the possibilities of Machine Learning are endless in various fields, and it also feels magical when you predict new data, right?

Types of Machine Learning

we know that it’s mostly about finding the best algorithm for our data, now It’s time to explore various categories of algorithms, their purpose, and a few applications. Broadly they are classified into 4 categories: Supervised, Unsupervised, Semi-Supervised, and Reinforcement Learning. Let’s understand them in detail.

1. Supervised Machine Learning

This is the most popular for performing machine learning operations. It is used for the data where there is a precise mapping between the input and output data. Say, this shapeU+1F34E, we have a precise label for this as “Apple”. We show a few of these to the algorithm ( through code ), and the next time you show that shape, it will be predicted as an apple.

A supervised algorithm takes input and output labels. Image by Author.

Given data in the form of examples with labels, we can send these to the algorithm, and over time the algorithm will find the approximate pattern between the examples and their labels. Once it’s fully trained, we can send the new data to the generated model and it will make a prediction.

These supervised algorithms are called ‘Task-Oriented’. As we provide it with more data, it will be able to learn more properly to make better predictions.

Few applications:
1. Face Recognition
2. Voice Recognition
3. Spam Classification
And many more…

Types of Supervised Learning

Broadly we can classify supervised learning into 2 categories
1. Regression
2. Classification

Regression

To put it simply, Regression algorithms predict the continuous variable( integer/float) based on the input variables. The example used at the start of this article can be taken as a supervised regression algorithm, which predicts the father's height based on an adult person's height. Because the height we are predicting will be a continuous variable (float).

Algorithms under Regression

  1. Linear Regression
  2. Polynomial Regression
  3. Lasso Regression
  4. Ridge Regression
  5. Exponential Regression
  6. Logarithmic Regression

Few Applications

  • Student Score prediction based on the previous test scores.
  • House price prediction based on the room size, locality, etc.

Classification

We use classification algorithms to predict the categories, but not the continuous variable. Say, You want to specify whether the email is spam or not, here, the prediction variable is not a number, it’s just a yes or no — category.

Algorithms under Classification

  1. Logistic Regression
  2. K-Nearest Neighbours
  3. Decision Trees
  4. Random Forest
  5. Support Vector Machine
  6. Naive Bayes
  7. Ada-Boost
  8. XG Boost
  9. Gradient Boosting

Few Applications

  • Email Spam Detection based on the previous email data.
  • Image Classification of identifying between cat and dog.

2. Unsupervised Machine Learning

As the name suggests, we can see it as the opposite of supervised machine learning. In supervised, we have an input and output label, whereas in unsupervised, there is input data, but the data is not explicitly labeled!! These algorithms are able to learn from the data by finding implicit patterns.

Take an example of showing different fruits from a basket to the algorithm, and based on the shape, size, and colors, it will separate these into different groups, and when you show a new fruit, then it will make the prediction of group.

Unsupervised Learning Algorithms only take the input data without a label. Image by Author.

Unsupervised algorithms identify the data based on various factors such as their density, structures, similar segments, and other similar features.

Few Applications
1.
Recommendation Systems
2. Customer Behaviour Analysis
3. Grouping News Articles
And many more…

Types of Unsupervised Learning

Broadly we can classify them into 5 categories such as

  1. Clustering Algorithms
  2. Dimensionality Reduction
  3. Anomaly Detection
  4. Association Rule Learning
  5. Autoencoders

Let’s understand these categories' purpose and explore the algorithms that come under these categories.

Clustering Algorithms

Clustering is a technique of grouping similar sets of objects in the same group that are different from the objects in the other group based on the similarities. Like the above basket of fruits segmentation.

Algorithms under Clustering

  1. K-Means
  2. DBSCAN
  3. Hierarchical Clustering
  4. Mean Shift

Dimensionality Reduction

Dimensionality reduction is like simplifying a complex problem by focusing on its most important aspects. It’s a technique that reduces the number of features (dimensions) in a dataset while retaining its essential information. This simplification makes data analysis more efficient and easier to visualize.

Algorithms under DR

  1. Principal Component Analysis (PCA)
  2. t-Distributed Stochastic Neighbor Embedding(t-SNE)

Anomaly Detection

Anomaly detection is like finding the odd one out in a group. It’s a technique used in data analysis to identify unusual or rare data points that don’t conform to the expected patterns, basically the outliers. This is valuable for detecting anomalies in various fields, from fraud detection in financial transactions to identifying equipment malfunctions in industrial systems. Train a model on only one class if anything lies outside of this class, it may be an anomaly.

Algorithms under Anomaly Detection

  1. One class K-Means
  2. One class SVM
  3. Isolation Forest

Association Rule Learning

Association rule learning is like finding interesting connections between things people buy at a store. It’s a machine learning technique that uncovers relationships in data, helping to identify patterns, trends, and associations between items or events. Association rule learning is a valuable tool in understanding consumer behavior, optimizing inventory, and enhancing personalized recommendations.

Algorithms under AR

  1. Apriori
  2. FP-Growth ( Frequent Pattern Growth)
  3. Eclat Algorithm

Autoencoders

They’re a type of neural network that takes complex data, compresses the data into a code, and then tries to recreate the input data from a summarized code. This compression-decompression process can be used to remove noise from visual data like images, video, and medical scans to improve the quality.

3. Semi-Supervised Learning

Semi-supervised learning is, for the most part, just what it sounds like, a training dataset with both labeled and unlabeled datasets. This method is particularly useful when extracting relevant features from the data is difficult, and labeling all the examples is time-intensive!

A Popular training method that starts with a fairly small set of labeled data is using General Adversarial Networks(GANs), like two deep learning networks in the competition, each trying to outsmart the other!

One of the networks, called a generator, tries to create new data points that mimic the training data. The other network, the discriminator, pulls in the newly generated data and evaluates whether they are part of the training data or fake.

The networks improve in a positive feedback loop as the discriminator gets better at separating the fakes from the originals, and the generator improves its ability to create convincing fakes.

Eg: Medical Images like CT scans or MRIs.

4. Reinforcement Learning

It’s an approach where an agent learns to make decisions by interacting with an environment. The agent takes actions, receives feedback in the form of rewards or punishments, and adjusts its behavior to maximize long-term rewards. It’s often used in robotics, game-playing, and autonomous systems, just like the trial and error method.

The overall aim is to predict the best next step to earn the biggest final reward. If we take the game of chess, each action can be each move, and the state will be the current situation of the game, the rewards in the middle of the steps can be the opponent pieces it captures. The biggest final reward is to win the game. so, it learns everything through experience.

Conclusion

I hope you got the clarity of what is machine learning, and understood that supervised learning is where the data with labels is given, and unsupervised is where the data without any particular labels is given to the algorithm, While semi-supervised is about half labeled and other without labels, and Reinforcement learning is totally magic, where it learns everything on trail and error, beautiful I must say!!

This is the basic knowledge you need to know about machine learning before you dive deep into learning these algorithms. Learning the algorithms in detail is crucial in data science, I myself have been on this incredible journey, and in the upcoming days, I will be posting in detail intuition for these algorithms. Follow me for more and Subscribe to not miss any exciting data science articles!

If you are interested in Pandas, Numpy, Matplolib, Seaborn, and Plotly, then look no further, I also have detailed articles on these essential libraries for Data Science, Here’s a curated List.

RaviTeja G

Detailed Guides for all the Essential Data Science Libraries

View list8 stories

Announcement #100daysMLDL

Day 18/100 — Introduction to Machine Learning.

Simply head over to my GitHub repository for direct access to all the code and resources. Here’s a Repo Link to the challenge. I invite you all to join me on this exhilarating journey! Whether you’re a fellow data enthusiast or just curious about the world of machine learning, there’s something here for everyone. Let’s learn, grow, and inspire each other. Thank you for reading, Happy learning, and Have a good day 🙂

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