<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Support Vector Machines Tutorial on SVM Tutorial</title><link>http://www.svm-tutorial.com/</link><description>Recent content in Support Vector Machines Tutorial on SVM Tutorial</description><generator>Hugo</generator><language>en-us</language><copyright>© [Alexandre Kowalczyk](https://www.linkedin.com/in/alexandrekow)</copyright><lastBuildDate>Mon, 30 May 2022 22:22:57 +0000</lastBuildDate><atom:link href="http://www.svm-tutorial.com/index.xml" rel="self" type="application/rss+xml"/><item><title>SVMs - An overview of Support Vector Machines</title><link>http://www.svm-tutorial.com/2017/02/svms-overview-support-vector-machines/</link><pubDate>Sun, 26 Feb 2017 18:44:28 +0000</pubDate><guid>http://www.svm-tutorial.com/2017/02/svms-overview-support-vector-machines/</guid><description>&lt;p&gt;&lt;img src="http://www.svm-tutorial.com/wp-content/uploads/2017/02/svms.png" alt="svms" loading="lazy"&gt;&lt;/p&gt;&#10;&lt;p&gt;Today we are going to talk about SVMs in general.&lt;/p&gt;&#10;&lt;p&gt;I recently received an email from a reader of &lt;a href="http://www.svm-tutorial.com/2014/11/svm-understanding-math-part-1/"&gt;my serie of articles about the math behind SVM&lt;/a&gt;:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;I felt I got deviated a lot on Math part and its derivations and assumptions and finally got confused what exactly SVM is ? And when to use it and how it helps ?&lt;/p&gt;&#10;&#10;&lt;/blockquote&gt;&lt;p&gt;Here is my attempt to clarify things.&lt;/p&gt;&#10;&lt;h2 id="what-exactly-is-svm-"&gt;What exactly is SVM ?&lt;a class="anchor" href="#what-exactly-is-svm-"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;h3 id="svm-is-a-supervised-learning-model"&gt;SVM is a &lt;em&gt;supervised&lt;/em&gt; learning model&lt;a class="anchor" href="#svm-is-a-supervised-learning-model"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;It means you need a dataset which has been &lt;strong&gt;labeled&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Support Vector Machines Succinctly released</title><link>http://www.svm-tutorial.com/2017/10/support-vector-machines-succinctly-released/</link><pubDate>Tue, 24 Oct 2017 20:01:27 +0000</pubDate><guid>http://www.svm-tutorial.com/2017/10/support-vector-machines-succinctly-released/</guid><description>&lt;p&gt;My ebook Support Vector Machines Succinctly is available for free.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://www.syncfusion.com/succinctly-free-ebooks/support-vector-machines-succinctly" rel="noopener"&gt;&lt;img src="http://www.svm-tutorial.com/wp-content/uploads/2017/10/book.png" alt="" loading="lazy"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://www.syncfusion.com/succinctly-free-ebooks/support-vector-machines-succinctly" rel="noopener"&gt;&lt;img src="http://www.svm-tutorial.com/wp-content/uploads/2017/10/download.png" alt="Download Support Vector Machines Succinctly" loading="lazy"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="about-support-vector-machines-succinctly"&gt;About Support Vector Machines Succinctly&lt;a class="anchor" href="#about-support-vector-machines-succinctly"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;While I was working on &lt;a href="http://www.svm-tutorial.com/"&gt;my series of articles about the mathematics behind SVMs&lt;/a&gt;, I have been contacted by Syncfusion to write an ebook in their &amp;ldquo;Succinctly&amp;rdquo; e-book series. The goal is to cover a particular subject in about 100 pages. I gladly accepted the proposition and started working on the book.&lt;/p&gt;</description></item><item><title>SVM - Understanding the math - Part 1 - The margin</title><link>http://www.svm-tutorial.com/2014/11/svm-understanding-math-part-1/</link><pubDate>Sun, 02 Nov 2014 19:04:29 +0000</pubDate><guid>http://www.svm-tutorial.com/2014/11/svm-understanding-math-part-1/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;a class="anchor" href="#introduction"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;This is the first article from a series of articles I will be writing about the math behind SVM. There is a lot to talk about and a lot of mathematical backgrounds is often necessary. However, I will try to keep a slow pace and to give in-depth explanations, so that everything is crystal clear, even for beginners.&lt;/p&gt;&#10;&lt;p&gt;If you are new and wish to know a little bit more about SVMs before diving into the math, you can read the article: &lt;a href="http://www.svm-tutorial.com/2017/02/svms-overview-support-vector-machines/"&gt;an overview of Support Vector Machine&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>How to prepare your data for text classification ?</title><link>http://www.svm-tutorial.com/text-classification-prepare-data/</link><pubDate>Sun, 19 Oct 2014 19:30:17 +0000</pubDate><guid>http://www.svm-tutorial.com/text-classification-prepare-data/</guid><description>&lt;h1 id="understand-how-data-is-represented"&gt;Understand how data is represented&lt;a class="anchor" href="#understand-how-data-is-represented"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;For text classification, you often begin with some text you want to classify. For instance, you have quotes and wants to find the quotes about love. Or you have emails and you want to separate spam from legitimate emails.&lt;/p&gt;&#10;&lt;p&gt;SVM is a &lt;strong&gt;supervised-learning algorithm&lt;/strong&gt;. It means you will need to manually label some data with what you think is the correct choice. Then you train a SVM model with it. Eventually you can use it to predict unlabeled data.&lt;/p&gt;</description></item><item><title>A retrospective of SVM Tutorial and some new content</title><link>http://www.svm-tutorial.com/2020/09/a-retrospective-of-svm-tutorial-and-some-new-content/</link><pubDate>Mon, 28 Sep 2020 08:00:00 +0000</pubDate><guid>http://www.svm-tutorial.com/2020/09/a-retrospective-of-svm-tutorial-and-some-new-content/</guid><description>&lt;p&gt;Almost six years ago, on October 11, 2014, I published &lt;a href="http://www.svm-tutorial.com/2014/10/svm-tutorial-classify-text-csharp/"&gt;my first article about Support Vector Machines&lt;/a&gt;. It was a short article describing how to classify text in C#. My original goal was to create a blog containing a series of tutorials about Support Vector Machines, hence the name of the site: &lt;em&gt;svm-tutorial&lt;/em&gt;.&lt;/p&gt;&#10;&lt;h2 id="early-days-2014-2015"&gt;Early days 2014-2015&lt;a class="anchor" href="#early-days-2014-2015"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;As I started using this machine learning algorithm, something bothered me. I felt like I could not find any &amp;ldquo;simple&amp;rdquo; explanation of the topic. Of course, there were already some resources online, but most of them were talking to a reader with deep mathematical knowledge. It became my goal to explain support vector machines in an approachable way so that anyone who takes the time to read about them can understand them.&lt;/p&gt;</description></item><item><title>SVM - Understanding the math - Part 2</title><link>http://www.svm-tutorial.com/2014/11/svm-understanding-math-part-2/</link><pubDate>Sun, 09 Nov 2014 19:00:17 +0000</pubDate><guid>http://www.svm-tutorial.com/2014/11/svm-understanding-math-part-2/</guid><description>&lt;p&gt;&lt;img src="http://www.svm-tutorial.com/wp-content/uploads/2014/11/cover.png" alt="svm tutorial math" loading="lazy"&gt;&lt;/p&gt;&#10;&lt;p&gt;This is &lt;strong&gt;Part 2&lt;/strong&gt; of my series of tutorial about the math behind Support Vector Machines.&lt;br&gt;&#10;If you did not read the previous article, you might want to start the serie at the beginning by reading this article: &lt;a href="http://www.svm-tutorial.com/2017/02/svms-overview-support-vector-machines/"&gt;an overview of Support Vector Machine&lt;/a&gt;.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;In the &lt;a href="http://www.svm-tutorial.com/2014/11/svm-understanding-math-part-1/" title="SVM - Understanding the math - Part 1"&gt;first part&lt;/a&gt;, we saw what is the aim of the SVM. Its goal is to find the hyperplane which maximizes the margin.&lt;/p&gt;</description></item><item><title>Linear Kernel: Why is it recommended for text classification ?</title><link>http://www.svm-tutorial.com/2014/10/svm-linear-kernel-good-text-classification/</link><pubDate>Sun, 19 Oct 2014 19:42:11 +0000</pubDate><guid>http://www.svm-tutorial.com/2014/10/svm-linear-kernel-good-text-classification/</guid><description>&lt;p&gt;The Support Vector Machine can be viewed as a kernel machine. As a result, you can change its behavior by using a different kernel function.&lt;/p&gt;&#10;&lt;p&gt;The most popular kernel functions are :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;the linear kernel&lt;/li&gt;&#10;&lt;li&gt;the polynomial kernel&lt;/li&gt;&#10;&lt;li&gt;the RBF (Gaussian) kernel&lt;/li&gt;&#10;&lt;li&gt;the string kernel&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="the-linear-kernel-is-often-recommended-for-text-classification"&gt;The linear kernel is often recommended for text classification&lt;a class="anchor" href="#the-linear-kernel-is-often-recommended-for-text-classification"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;It is interesting to note that :&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;The original optimal hyperplane algorithm proposed by Vapnik in 1963 was a &lt;a href="http://en.wikipedia.org/wiki/Linear_classifier" title="Linear classifier" rel="noopener"&gt;linear classifier&lt;/a&gt; [1]&lt;/p&gt;</description></item><item><title>SVM - Understanding the math - the optimal hyperplane</title><link>http://www.svm-tutorial.com/2015/06/svm-understanding-math-part-3/</link><pubDate>Mon, 08 Jun 2015 17:35:43 +0000</pubDate><guid>http://www.svm-tutorial.com/2015/06/svm-understanding-math-part-3/</guid><description>&lt;p&gt;This is the &lt;strong&gt;Part 3&lt;/strong&gt; of my series of tutorials about the math behind Support Vector Machine.&lt;/p&gt;&#10;&lt;p&gt;If you did not read the previous articles, you might want to start the serie at the beginning by reading this article: &lt;a href="http://www.svm-tutorial.com/2017/02/svms-overview-support-vector-machines/"&gt;an overview of Support Vector Machine&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="what-is-this-article-about"&gt;What is this article about?&lt;a class="anchor" href="#what-is-this-article-about"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;The main focus of this article is to show you the reasoning allowing us to select the optimal hyperplane.&lt;/p&gt;&#10;&lt;p&gt;Here is a quick summary of what we will see:&lt;/p&gt;</description></item><item><title>How to classify text using SVM in C#</title><link>http://www.svm-tutorial.com/2014/10/svm-tutorial-classify-text-csharp/</link><pubDate>Sun, 19 Oct 2014 19:34:07 +0000</pubDate><guid>http://www.svm-tutorial.com/2014/10/svm-tutorial-classify-text-csharp/</guid><description>&lt;h1 id="svm-tutorial--classify-text-in-c"&gt;SVM Tutorial : Classify text in C#&lt;a class="anchor" href="#svm-tutorial--classify-text-in-c"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;In this tutorial I will show you how to classify text with SVM in C#.&lt;/p&gt;&#10;&lt;p&gt;The main steps to classify text in C# are:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Create a new project&lt;/li&gt;&#10;&lt;li&gt;Install the SVM package with Nuget&lt;/li&gt;&#10;&lt;li&gt;Prepare the data&lt;/li&gt;&#10;&lt;li&gt;Read the data&lt;/li&gt;&#10;&lt;li&gt;Generate a problem&lt;/li&gt;&#10;&lt;li&gt;Train the model&lt;/li&gt;&#10;&lt;li&gt;Predict&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="step-1-create-the-project"&gt;Step 1: Create the Project&lt;a class="anchor" href="#step-1-create-the-project"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Create a new Console application.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="http://www.svm-tutorial.com/wp-content/uploads/2014/05/svm_tutorial_csharp_1.png" alt="SVM Tutorial Csharp" title="Create a new project" loading="lazy"&gt;&lt;/p&gt;</description></item><item><title>SVM - Understanding the math - Unconstrained minimization</title><link>http://www.svm-tutorial.com/2016/09/unconstrained-minimization/</link><pubDate>Sun, 11 Sep 2016 18:31:32 +0000</pubDate><guid>http://www.svm-tutorial.com/2016/09/unconstrained-minimization/</guid><description>&lt;p&gt;&lt;img src="http://www.svm-tutorial.com/wp-content/uploads/2016/07/maths.jpg" alt="maths" loading="lazy"&gt;&lt;/p&gt;&#10;&lt;p&gt;This is the &lt;strong&gt;Part 4&lt;/strong&gt; of my series of tutorials about the math behind Support Vector Machines.&lt;br&gt;&#10;Today we are going to learn how to solve an unconstrained minimization problem.&lt;/p&gt;&#10;&lt;p&gt;If you did not read the previous articles, you might want to start the serie at the beginning by reading this article: &lt;a href="http://www.svm-tutorial.com/2017/02/svms-overview-support-vector-machines/"&gt;an overview of Support Vector Machine&lt;/a&gt;.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="about-this-part"&gt;About this Part&lt;a class="anchor" href="#about-this-part"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;It took me a while to write this article because the subject is vast and assume a lot of prior knowledge. What should I explain and what should I skip was kind of a hard line to trace. After a while, I ended up with a large Part 4 which was too long to read. So I decided to split it. Welcome, Part 4, Part 5 and Part 6!&lt;/p&gt;</description></item><item><title>SVM Tutorial: How to classify text in R</title><link>http://www.svm-tutorial.com/2014/11/svm-classify-text-r/</link><pubDate>Sun, 23 Nov 2014 17:08:24 +0000</pubDate><guid>http://www.svm-tutorial.com/2014/11/svm-classify-text-r/</guid><description>&lt;p&gt;In this tutorial I will show you how to classify text with SVM in R.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="http://www.svm-tutorial.com/wp-content/uploads/2014/11/rlogo.png" alt="rlogo" loading="lazy"&gt;&lt;/p&gt;&#10;&lt;p&gt;The main steps to classify text in R are:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Create a new RStudio project&lt;/li&gt;&#10;&lt;li&gt;Install the required packages&lt;/li&gt;&#10;&lt;li&gt;Read the data&lt;/li&gt;&#10;&lt;li&gt;Prepare the data&lt;/li&gt;&#10;&lt;li&gt;Create and train the SVM model&lt;/li&gt;&#10;&lt;li&gt;Predict with new data&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="step-1-create-a-new-rstudio-project"&gt;Step 1: Create a new RStudio Project&lt;a class="anchor" href="#step-1-create-a-new-rstudio-project"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;To begin with, you will need to &lt;a href="http://www.rstudio.com/" title="RStudio" rel="noopener"&gt;download and install the RStudio development environment&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>SVM - Understanding the math - Convex functions</title><link>http://www.svm-tutorial.com/2016/09/convex-functions/</link><pubDate>Sun, 11 Sep 2016 18:42:52 +0000</pubDate><guid>http://www.svm-tutorial.com/2016/09/convex-functions/</guid><description>&lt;p&gt;This is the &lt;strong&gt;Part 5&lt;/strong&gt; of my series of tutorials about the math behind Support Vector Machines.&lt;br&gt;&#10;Today we are going to study convex functions.&lt;/p&gt;&#10;&lt;p&gt;If you did not read the previous articles, you might want to start the serie at the beginning by reading this article: &lt;a href="http://www.svm-tutorial.com/2017/02/svms-overview-support-vector-machines/"&gt;an overview of Support Vector Machine&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h3 id="how-can-we-find-a-global-minimum"&gt;How can we find a global minimum?&lt;a class="anchor" href="#how-can-we-find-a-global-minimum"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;There is one simple way to find the global minimum:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Find all the local minima&lt;/li&gt;&#10;&lt;li&gt;Take the smallest one; it is the global minimum.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;Another approach is to study the function we are trying to minimize. If this function is convex, then we are sure its local minimum is a global minimum.&lt;/p&gt;</description></item><item><title>Support Vector Regression with R</title><link>http://www.svm-tutorial.com/2014/10/support-vector-regression-r/</link><pubDate>Thu, 23 Oct 2014 00:35:54 +0000</pubDate><guid>http://www.svm-tutorial.com/2014/10/support-vector-regression-r/</guid><description>&lt;p&gt;In this article I will show how to use R to perform a Support Vector Regression.&lt;br&gt;&#10;We will first do a simple linear regression, then move to the Support Vector Regression so that you can see how the two behave with the same data.&lt;/p&gt;&#10;&lt;h2 id="a-simple-data-set"&gt;A simple data set&lt;a class="anchor" href="#a-simple-data-set"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;To begin with we will use this simple data set:&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="http://www.svm-tutorial.com/wp-content/uploads/2014/10/svr-simple-data1.png" alt="A simple data set in excel" loading="lazy"&gt;&lt;/p&gt;&#10;&lt;p&gt;I just put some data in excel. I prefer that over using an existing well-known data-set because the purpose of the article is not about the data, but more about the models we will use.&lt;/p&gt;</description></item><item><title>SVM - Understanding the math - Duality and Lagrange multipliers</title><link>http://www.svm-tutorial.com/2016/09/duality-lagrange-multipliers/</link><pubDate>Sun, 11 Sep 2016 18:47:54 +0000</pubDate><guid>http://www.svm-tutorial.com/2016/09/duality-lagrange-multipliers/</guid><description>&lt;p&gt;This is the &lt;strong&gt;Part 6&lt;/strong&gt; of my series of tutorials about the math behind Support Vector Machines.&lt;br&gt;&#10;Today we will learn about duality, optimization problems and Lagrange multipliers.&lt;/p&gt;&#10;&lt;p&gt;If you did not read the previous articles, you might want to start the serie at the beginning by reading this article: &lt;a href="http://www.svm-tutorial.com/2017/02/svms-overview-support-vector-machines/"&gt;an overview of Support Vector Machine&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="duality"&gt; Duality&lt;a class="anchor" href="#duality"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;In mathematical optimization theory, &lt;strong&gt;duality&lt;/strong&gt; means that optimization problems may be viewed from either of two perspectives, the primal problem or the dual problem (&lt;strong&gt;the duality principle&lt;/strong&gt;). The solution to the dual problem provides a lower bound to the solution of the primal (minimization) problem.  (&lt;a href="https://en.wikipedia.org/wiki/Duality_%28optimization%29" rel="noopener"&gt;Wikipedia&lt;/a&gt;)&lt;/p&gt;</description></item></channel></rss>