<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nikhil Adithyan</title>
    <description>The latest articles on DEV Community by Nikhil Adithyan (@nikhiladithyan).</description>
    <link>https://dev.to/nikhiladithyan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F540145%2F32b1aa64-bc98-4659-b244-f14f5f2195e0.jpg</url>
      <title>DEV Community: Nikhil Adithyan</title>
      <link>https://dev.to/nikhiladithyan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nikhiladithyan"/>
    <language>en</language>
    <item>
      <title>What is Deep Learning? An intuitive introduction</title>
      <dc:creator>Nikhil Adithyan</dc:creator>
      <pubDate>Mon, 04 Jan 2021 10:35:47 +0000</pubDate>
      <link>https://dev.to/nikhiladithyan/what-is-deep-learning-an-intuitive-introduction-4k6k</link>
      <guid>https://dev.to/nikhiladithyan/what-is-deep-learning-an-intuitive-introduction-4k6k</guid>
      <description>&lt;p&gt;In recent days, there has been a lot of improvements in this modern technological world like autonomous cars, facial recognition systems, chatbots to name a few. These cool inventions are made possible only with the help of Deep Learning. Read this article to know what deep learning is and its supporting factors that made deep learning so popular.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Deep Learning&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Deep learning is a subset of Machine Learning (ML) that gives us certain predictions for the given set of inputs by learning from examples or previous data points. That’s what the whole concept is about. Technically speaking, deep learning is the higher form of Machine Learning that replicates the working of the human brain to perform complex tasks. Deep learning is much powerful than Machine Learning in that it is capable of giving accurate predictions for both structured (data that has columns and rows, for example, housing data, etc.) and unstructured data (examples are audio patterns, images, etc.). After knowing the concept of deep learning, it suddenly leads us to the so-called concept of Artificial Neural Networks (ANN) or just Neural Networks (NN) which explains the mechanism of deep learning.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Neural Networks&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Before diving into the concept of neural networks, let’s imagine a scenario and observe how the human body acts to it. Imagine that you keep your hand on a burning fire. Within a fraction of a second, the sensory organs present in your hands transmit the signal to the brain via the so-called neurons. The human brain then sends the message to take our hands off the fire again via the neurons and finally we take our hands off the fire. The main agent that acts as an important unit in this scenario is the neurons. The collection of human neurons are called as Biological Neural Network. This same concept of Biological Neural Network applies to Artificial Neural Networks.&lt;/p&gt;

&lt;p&gt;To understand the concept better, let’s tackle the same situation but with Artificial Neural Networks. Let’s take, the signal obtained when touching the fire as the input. The input is then processed by a similar structure of neurons called the units. Instead of the brain, the units take the optimal decision and decide whether to take the hands off the fire or not (0/1).&lt;/p&gt;

&lt;p&gt;Technically speaking, Neural Networks are a replication of Biological Neural Networks that filters the input using layers of units and gives accurate predictions. Each unit is interconnected to each other, thus forming a network. &lt;/p&gt;

&lt;p&gt;The neural network is divided into an input layer, the hidden layer(s), and an output layer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Input layer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This layer contains the data points of the data which is being inserted into the neural network.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hidden layer(s)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the most important layer of the neural network as all the functions and processes take place in this layer. Each layer is activated by the so-called activation functions like ReLU (Rectified Linear Unit), Sigmoid (Probabilistic Curve), and Softmax.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output layer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As the name suggests, this layer shows the final output of the given set of inputs after a series of processings.&lt;br&gt;
Remember that, each unit or node has its own input value, weights (parameter or a value that transforms the input data within the network’s hidden layers), and bias value which significantly influences the final outcome.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Types of ANN&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;There are a total of seven types of artificial neural networks but here we are going to discuss only the most famous two types of ANN. They are Convolutional Neural Network (CNN), and Recurrent Neural Network (RNN).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Convolutional Neural Network (CNN)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Convolution Neural Network is a type of neural network that is most commonly applied to analyze and tackle visual imagery problems. Just like how Neural Networks are inspired by the design and functionality of the human brain, CNN resembles the architecture of the human or animal visual cortex. &lt;/p&gt;

&lt;p&gt;Convolution layer (Conv): The convolutional layers perform convolution operations with the help of filters and produces an output called feature map or activation map. &lt;/p&gt;

&lt;p&gt;Pooling layer (Maxpool): The pooling layer in CNN acts as an agent in the reduction of the spatial size which ultimately leads to the reduction of the computation of the network. It performs its function on every feature map or activation map independently. The pooling layer can be classified into two types they are Average pooling and max pooling. The most commonly used pooling function is the Max pooling function (that is what used in the illustration too). Max pooling calculates and selects the largest value in each patch in each feature map that is separated by filters. On the other hand, Average pooling is nothing but it calculates and selects the average value in each patch in each feature map that is separated by filters. &lt;/p&gt;

&lt;p&gt;Fully Connected layer (FC): After pooling the feature map into a matrix, it is converted into a single long feature of vectors or a one-dimensional array for inputting it to the next further layers. This process is called flattening. Then, it is connected to the final model called the Fully Connected layer. In most of the models, the Fully Connected layers are present at the end of the network.&lt;/p&gt;

&lt;p&gt;Applications of CNNs are image classification, face recognition, human pose estimation to name a few.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recurrent Neural Network (RNN)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Recurrent Neural Networks are primarily used to deal and build models for sequential data. It plays a major role in solving Natural Language Processing (NLP) tasks. Recurrent Neural Networks are also primarily used for time series analysis and forecasting. The most popular type of Recurrent Neural Network is the Long Short Term Memory (LSTM) algorithm. There are a total of five types of RNN are (Note: Tx = Number of Inputs, Ty = Number of Outputs):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One-to-one (Tx = Ty = 1). Example: Traditional Neural Network&lt;/li&gt;
&lt;li&gt;One-to-many (Tx = 1, Ty &amp;gt; 1). Example: Music Generation&lt;/li&gt;
&lt;li&gt;Many-to-one (Tx &amp;gt; 1, Ty = 1). Example: Sentiment Analysis&lt;/li&gt;
&lt;li&gt;Many-to-many (Tx = Ty). Example: Name Entity Recognition&lt;/li&gt;
&lt;li&gt;Many-to-many (Tx is not equal to Ty). Example: Machine Translation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The foremost important advantage of RNN is that they have the ability to build models for sequential data which is called time series and this advantage is considered the most important because for time series analysis each sample values are dependent on the previous ones. The biggest drawback of RNN is the fact their computational time is really slow.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Why is Deep Learning taking off?&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;The concept and mathematics behind deep learning and neural networks are invented back in 1943 but, no one ever knew such a concept even existed or not until the recent years of 2000 and ahead. The real surge in the use of deep learning as a tool to solve problems is in and after the year 2010. Why is it so? The driver of deep learning progress is the vast amount of data that we have at present. Decades earlier, we did have data but on a very small scale, and when the traditional ML algorithms like SVM, Logistic Regression applied to these small scale data, they were not able to perform significantly. This case was not there in the last few years. In the past ten years, the increment of digitization, and people’s usage of electronic gadgets helped in collecting and storing a vast amount of data. Along with that, the tremendous algorithmic inventions with strong computation, helped deep learning algorithms to provide results that are far more than the traditional ML algorithms. So, we can simply say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Scale drives Deep Learning progress&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You might ask, what if there isn’t a significant amount of data? The answer is, then deep learning won’t exist. That’s the only disadvantage of deep learning.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Final Thoughts!&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;Hope you enjoyed this article. In this article, we covered almost all the basic foundations of deep learning but there is still a lot to explore. The math part of neural networks and their types might a bit tough but never hesitate to touch upon it. The most interesting part of deep learning is its practical implication and of course, coding. With help of deep learning, we can be able to create awesome and cool applications like image detection, forecasting, and many more wonderful things. I will guide you through the coding part in my upcoming posts and follow me to never miss any of them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy Deep Learning!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>deeplearning</category>
      <category>datascience</category>
      <category>algorithms</category>
    </item>
    <item>
      <title>Machine Learning — An Introduction</title>
      <dc:creator>Nikhil Adithyan</dc:creator>
      <pubDate>Mon, 14 Dec 2020 12:25:29 +0000</pubDate>
      <link>https://dev.to/nikhiladithyan/machine-learning-an-introduction-3gb8</link>
      <guid>https://dev.to/nikhiladithyan/machine-learning-an-introduction-3gb8</guid>
      <description>&lt;p&gt;At present day, the emerging field of Artificial Intelligence has become the biggest hype for the current generation. AI is a vast ocean in computer science and not only deals with mere things in computer science, but it covers a whole bunch of stuff like Image Processing, NLP, Summarization, Computer Vision, etc. To hail the whole concept of Artificial Intelligence, there has to be strong equipment to strengthen the base ideology of Statistics and Probability for accurate decisions. And here’s where computer scientists coined the term ‘Machine Learning’.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Definition&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every understanding starts with a definition. ‘Machine Learning is a subfield of computer science that gives computers the ability to learn without being explicitly programmed’. This definition is brought by Arthur Samuel who first coined the term Machine Learning while working at IBM. It states that Machine Learning is a subfield of computer science that can be used to train or teach a computer to learn itself without being programmed in a precise manner.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first and foremost important advantage of Machine Learning (ML) is that it doesn’t need to be programmed in a highly efficient manner and it can be taught like how humans teach a four-year-old child. This advantage was loved by computer scientists and data scientists as they were able to manage their work and time efficiently. Another important advantage of ML is that they can improve their skills over time by powerful algorithms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of Machine Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Machine Learning is broadly classified into two types based on the learning process of the model which are Supervised learning and Unsupervised learning.&lt;/p&gt;

&lt;p&gt;(i) Supervised Learning:&lt;/p&gt;

&lt;p&gt;For an easy understanding of this concept, we have to look directly at the words that make it up. ‘Supervised’ means ‘to observe’. So, in this process, we are supervising the machine learning models to be able to produce highly accurate results or decisions. To supervise the model, they are trained or taught with labeled dataset attributes. A simple example of Supervised learning would be predicting whether a person has a benign or malignant type of tumor with a cancer dataset that has labeled attributes.&lt;/p&gt;

&lt;p&gt;The two primarily used algorithms for supervised learning are Classification and Regression algorithms. The classification type of learning is the process of predicting discrete class labels or categories (Ex: Predicting the benign or malignant type of tumor). Whereas, Regression type of learning is the process of predicting continuous values or numerical values (Ex: Predicting CO2 Emissions of cars).&lt;/p&gt;

&lt;p&gt;(ii) Unsupervised Learning:&lt;/p&gt;

&lt;p&gt;Unsupervised learning means that the model works on its own to discover information that may not visible to human eyes. This process deals with unlabeled or unknown data. Unsupervised learning has more difficult algorithms when compared to supervised learning algorithms since we know little or no information about the dataset. The most common and widely used algorithm for unsupervised learning is the Clustering algorithm. The Clustering algorithm finds patterns and divides the data point into groups that are similar to one and another. The groups are classified based on Structure, Summarization, and Anomaly Detection. The best example of unsupervised learning would be segmenting a bank’s customers based on certain characteristics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supervised vs Unsupervised Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In a supervised learning process, the algorithm is trained on a labeled dataset and produces the desired result. In contrast, the unsupervised learning process algorithms are trained on unlabeled or unknown datasets through which the model itself extracts patterns and makes sense of the unknown data. Supervised learning is a simpler method of programming whereas, Unsupervised learning is computationally complex. Algorithms used widely for supervised learning are Regression and Classification while the algorithm used for unsupervised is Clustering. Finally, we can expect higher accuracy results in Supervised learning than the results produced by Unsupervised learning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-Life Examples of ML&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At present, Machine Learning is everywhere. There are many solutions provided by Machine Learning which people can observe in their day-to-day life.&lt;/p&gt;

&lt;p&gt;(i) Virtual Personal Assistants: Assist in finding information, when asked over voice. The best examples would be Siri, Alexa, and Google Now. For answering the given question, these systems recall your past queries, look for information, and finally, refines the best result for you. Later, these responses are stored for future preferences.&lt;/p&gt;

&lt;p&gt;(ii) Recommendation Systems: Have you ever wondered how Netflix or Amazon recommends TV Shows or products? These recommendations are made by using Machine Learning. Personalized recommendations are made based on customer’s behavior whether it can be adding products to your cart on Amazon or your past watch history of films on Netflix.&lt;/p&gt;

&lt;p&gt;(iii) Online Fraud Detection: Companies like PayPal are using Machine Learning to protect their customers’ money transactions against cyberattacks. The company uses a set of tools that helps them to compare millions of transactions and distinguish between legitimate or illegitimate transactions taking place between the buyers and sellers.&lt;/p&gt;

&lt;p&gt;(iv) Virus Detection: Many healthcare organizations are shifting towards machine learning for the prediction of viruses. These systems assist doctors to detect whether a patient is affected by a virus or not. This is done, by training the machine learning model with a large number of data on the features of the virus.&lt;br&gt;
Apart from the above-mentioned examples, there are many more to mention like search results refining, customer segmentation and the list goes on and on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hope you enjoyed this article on Machine Learning. Instead of jumping directly to the math and coding side of Machine Learning, it is always better to start with some basics and foundations of machine learning. If you want to hold a tight grasp on the field of Machine Learning, it is necessary to keep yourself updated. Importantly, hands-on learning or the practical phase of Machine Learning is very important to keep your knowledge up to the level. You can also find great resources on the net and cool online courses to elevate your knowledge. Machine Learning might become a little frustrating when it comes to the probability phase but, never stop learning and rage your enthusiasm to learn more and more!&lt;/p&gt;

&lt;p&gt;Happy Machine Learning!&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>datascience</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
