Aditya Chatterjee's Blog, page 45
March 22, 2023
Kneser-Ney Smoothing / Absolute discounting
Kneser-Ney smoothing and absolute discounting are two techniques used in language modeling to address the problem of data sparsity, which occurs when the frequency of a particular n-gram in a training corpus is zero or very low. In this article, we will discuss the process of Kneser-Ney Smoothing and Absolute Discounting, its implementation, pros and cons, use cases, and real-time applications etc.
Tabel Of ContentAbsolute DiscountingKneser-Ney DiscountingNeed of Smoothing TechniquesMath Lo...50+ Reinforcement Learning Key Terms: Understanding the Language of RL
In this article, we have covered 50+ Key Terms in the domain of Reinforcement Learning. This will give a strong hold on RL.
What is RL?Reinforcement learning (RL) is a type of machine learning where an agent learns to interact with an environment by taking actions and receiving feedback in the form of rewards or penalties. The goal of RL is to find an optimal policy, which is a mapping from states to actions that determines the behavior of the agent in the environment. The agent learns from exp...
CHAID in ML
In this article, we have explored the concept of CHAID, or Chi-Squared Automatic Interaction Detector in Machine Learning. This is a core concept in Decision Tree.
Full form of CHAID is Chi-Squared Automatic Interaction Detector.
Table of contents:
IntroductionWhat is CHAIDHow does CHAID workProgram for CHAIDAdvantages of CHAIDLimitations of CHAIDApplications of CHAIDIntroductionClassification and regression trees (CART) are popular methods for creating decision trees, but they have th...
Parallel Radix Sort handling positive & negative numbers in C++
In this article, we have designed and implemented Parallel Radix Sort handling positive and negative numbers in C Programming Language.
Before diving into this, go through the Time Complexity Analysis of Basic version of Radix Sort.
Table of contentsIntroductionR1. MSD recursive approachR2. LSD recursive approachP1. MSD parallel approachusing OpenMPP2. LSD parallel approachusing std:threadusing POSIX threadIntroductionRadix sort is an algorithm that uses the radix,base,digit ...
CPU Core [Concept Explained]
CPU core technology is a fundamental concept in modern computer architecture. At the heart of every central processing unit (CPU) lies a CPU core that executes instructions and performs calculations. With the rise of multi-core processors, understanding how to effectively utilize CPU cores has become increasingly important for optimizing software performance. This article provides an overview of CPU core technology, processor architecture, and techniques for optimizing code for multi-core proces...
Minimum Deletions to Make Array Divisible [3 Solutions]
In this article, we will explore how we can get the minimum number of deletion of smallest element such that the smallest element in the first array divides all the elements in the second array. This will involve the concept of Min Heap and Hash Map.
Pre-requisites
Basic mathsGreatest Common Divisor (GCD)Min HeapHash MapProblem statementYou are given two positive integer arrays nums and numsDivide. You can delete any number of elements from nums.
Return the minimum number of deletions suc...
March 21, 2023
AUC (Area Under The Curve) and ROC (Receiver Operating Characteristics)
In binary classification issues, the metrics AUC (Area Under the Curve) and ROC (Receiver Operating Characteristics) are frequently employed. AUC is a numerical metric that measures the performance of the classifier, whereas ROC is a graphical plot that shows the performance of a binary classifier.
ROC Curve:The true positive rate (sensitivity) vs the false positive rate (specificity) for various threshold values of a binary classifier is plotted graphically using the ROC curve. It demonstrates...
Different database migration strategies
In this article we are going to talk about database migration strategies, why it should happen, how it should happen and what is the best option for each case.
Let’s imagine you started a startup with some friends some months ago, it’s a innovative that blow up in some months. At the start of the project you and your friends designed the database in a way expecting less users and not a lot of traffic, but now you see that the design is not really straight forward, and you would like to change th...
March 20, 2023
Develop Menu-based Help Chatbot using HTML, CSS and JavaScript
Chatbots have revolutionized the way people interact with technology. A chatbot is an artificial intelligence (AI) software that can simulate a conversation (or a chat) with a user in natural language through messaging applications, websites, mobile apps or through the telephone. In this article, I will explain a menu-based chatbot designed and implemented using HTML, CSS, Bootstrap, JavaScript, and jQuery. It is deployed as a prototype to OpenGenus IQ's homepage.
Codebase: github.c...
Knowledge Distillation in DL
In this article, we have explored the concept of Knowledge Distillation in Deep Learning.
ContentsKnowledge distillation in deep learningWorking of knowledge distillationBenefits of using knowledge distillation in deep learningTechniques used in knowledge distillationChallenges of using knowledge distillation in deep learningUse cases of knowledge distillation in deep learningSoft target, hard target, Distillation loss, Temperature ParameterAlgorithm used to minimize the loss between th...