Support Vector Machine (SVM)
Support Vector Machine (SVM) is a machine learning algorithm commonly used to solve classification and regression problems. The specific problem we are addressing is a classification problem. SVM algorithm works to determine whether a given data point with height and weight belongs to the apple class or the orange class.
In general, the main goal of the SVM algorithm is to separate data points into two or more classes or determine a regression line. Here are some problems where SVM can be applied:
SVM can be used to classify data points between two classes by creating a separation line. For example, distinguishing between spam and non-spam emails, or determining if a patient has a particular disease.
SVM can also solve multi-class classification problems, often using strategies like "one-vs-one" or "one-vs-all."
SVM can be used in regression analysis as well. By creating a regression line between data points, it can predict output values based on input data. For example, predicting house prices.
SVM can be employed to detect and classify outliers in a dataset. Outliers are points that behave differently or stand out from other data points.
SVM can be successfully used in applications such as text mining or image classification. For instance, SVM can be used to classify a specific text or image.
SVR, the regression version of SVM, is used in regression problems with numerical data. For example, predicting stock prices.
SVM can be effective, especially in high-dimensional datasets and complex decision boundaries. However, training times can be long for large datasets, so other algorithms might be considered depending on the scale and nature of the dataset.
The dataset we used for the algorithm can be thought of as a table with three columns. These columns represent Weight, Height in centimeters, and Class, holding the value of either Apple or Orange.
Our project's most significant importance and contribution lie in observing the algorithm's features and understanding how it reacts to various parameters.
Support Vector Machines (SVMs) are a series of supervised learning algorithms developed by Vladimir Vapnik in the mid-1990s for classification and regression. SVMs have advanced in the field of machine learning in the last decade, thanks to their solid theoretical foundation, intuitive geometric interpretation, and interesting features connecting them to convex vector optimization.
SVM, proposed by V. Vapnik in the mid-1990s, is one of the most popular machine learning algorithms in recent years. Its strong theoretical foundation, intuitive geometric interpretation, and kernel space make it an interesting algorithm. While early SVM suffered from computational complexity due to a large-scale quadratic programming problem, recent years have seen the development of efficient algorithms such as SVMlight and LIBSVM.
The evaluation of SVM methodology and its applicability to engineering problems are discussed. The fundamental concepts of SVM, kernel methods, and hybridization of SVM with signal processing are examined. The second part of the review focuses on successful results of SVM in various engineering problems as case studies, such as wind speed prediction, cardiac index prediction, processing functional Magnetic Resonance Imaging (fMRI) data, antenna array processing, and image classification and target detection.
This article examines studies on machine condition monitoring and fault diagnosis using Support Vector Machines (SVM). It summarizes recent research and developments in machine condition monitoring and diagnosis using SVM. Although various intelligent systems based on methods such as artificial neural networks, fuzzy expert systems, case-based reasoning, and random forests have been developed, SVM's application in machine condition monitoring and fault diagnosis is still limited. SVM's excellent performance in generalization allows it to achieve high accuracy in classification for machine condition monitoring and fault diagnosis.
As the volume of data produced by businesses and researchers increases, the need for fast, accurate, and powerful algorithms for data analysis emerges. Support Vector Machines (SVMs) are one of the most commonly used machine learning algorithms for statistical learning problems. They find wide applications in fields such as spam filtering, text classification, handwriting analysis, facial and object recognition, and are increasingly used in bioinformatics. SVMs, widely used in the last decade, are expanding their domains day by day.
-
Time Complexity of SVM algorithm:
- Best Case: O(N^2 * K^2)
- Worst Case: O(N^3 * K^2)
Here, N represents the number of examples in the dataset, and K represents the number of features.
It's important to note that SVM algorithm's time complexity is not solely dependent on these factors; it is influenced by various parameters affecting its performance and runtime.
When preparing the code, we considered the parameters the algorithm takes and predicted how the dataset would be affected. The algorithm's performance, runtime, and success rate are determined by various factors, including computation power, memory, C, and Gamma parameters.
Throughout the project, there was no specific place where we struggled or lost time. The abundance of Turkish and English resources, especially, was very helpful for us. By the end of the project, we learned the Support Vector Machines (SVM) machine learning algorithm by testing its working logic in an applied way. Additionally, understanding the algorithm's application areas allows us to provide solutions to similar problems we may encounter in the future.

