Aditya Chatterjee's Blog, page 89
May 15, 2022
Decrease and Conquer
In this article, we will discuss about the technique Decrease and Conquer which is similar to Divide and Conquer. Decrease and Conquer can be used to solve several important problems such as Fake Coin Problem, Generating Subsets and much more.
What we'll see,
Decrease and Conquer TechniqueVariations in Divide and Conquer TechniqueThe Fake Coin ProblemThe Selection ProblemGenerating SubsetsConclusionReferenceDecrease and Conquer TechniqueAs divide and conquer technique, which includes d...
Different Classification Trees in Machine Learning
In this article, we will be learning about different Classification tree methods such as C4.5, CHAID and much more along with some key similarities and differences between them. An implementation in Python is also explained.
ContentsIntroduction to Decision TreesCommon Distinguishing FeaturesDifferent Decision Tree Classification AlgorithmsImplementationConclusionIntroduction to Decision TreesA decision tree is a type of supervised machine learning algorithm that is used to categorize o...
May 14, 2022
Local response normalization (LRN)
In this article, we have explained the concept of Local response normalization (LRN) in depth along with comparison with Batch Normalization.
Table of contents:
Introduction to NormalizationLocal response normalization (LRN)Local response normalization (LRN) in TensorFlowBatch Normalization vs Local response normalization (LRN)Pre-requisite:
Normalization in Machine Learning: A Breakdown in detailBatch NormalizationIntroduction to NormalizationNormalization is used in deep neural netw...
May 13, 2022
Longest Geometric Progression
In this article, we have explained how to solve the problem of Longest Geometric Progression efficiently using Dynamic Programming. It involves the use of Map data structure in implementation which is different from other standard problems.
Table of contents:
Problem statement: Longest Geometric ProgressionNaive ApproachDynamic Programming ApproachWe can solve it via Naive Approch or via Dynamic Programming (where we have to use Map of Float Map).
Problem statement: Longest Geometric Progre...May 12, 2022
Fitting Shelves Problem [Greedy Algorithm]
In this article, we will understand what fitting shelves problem is and will see a greedy approach algorithm of solving this problem.
What does Fitting Shelves Problem say?So, the problem states that given a wall having length W, and two shelves of length m, and n, we are tasked with fitting the wall of length W with shelves of length m and n in such a way that the space left empty(which can't be filled with shelf) is to be minimized, and if possible the solution having larger number of longer ...
Neural Architecture Search (NAS)
The aim of this article is to provide a clear and intuitive inderstanding of the deep learning paradigm known as Neural Architecture Search (NAS).
Table of ContentsThe sections of the article are outlined as below:
Justification for NASNAS: What is it?Analogy TimeNAS ComponentsApplication of NASQuestionsResourcesConclusionJustification for NASFrom LeNet to Resnet and beyond, the search for new and better neural network paradigms has been a heated activity. This is exacerbated even ...
Add support of Debugging: DWARF, Functions, Source locations, Variables
In this article, we continue to discuss other aspects involved with debugging and debugging information in a Programming Language. We discuss how to include function definitions, source locations, and variable locations in debug information.
Table of contents.Introduction.DWARF emission setup.Function definitions.Source locations.Variable locationsSummary.References.Prerequisites.Add debugging support in Programming Language
Introduction.We will learn how to include debug information...
Building a Compiler Front-End
The front-end of a compiler comprises four phases, source code is converted from high-level code to an intermediate representation which is optimized and compiled to machine code.
Table of contents.Introduction.The compiler front-end.LLVM.Kaleidoscope.Summary.References.Prerequisite.The compiler front-end.The front-end of a compiler comprises four phases, these are lexical analysis, syntax analysis, and semantic analysis.
Lexical analysis.
Here source code wr...
May 10, 2022
Pure and Mixed Strategy Nash equilibrium
In this article, we will discuss about the pure and mixed strategy nash equilibrium which are important concepts in Game Theory.
What we'll see,
Game TheoryNash Equilibrium in Game TheoryExample of a nash equilibriumPure strategy Nash EquilibriumMixed strategy Nash EquilibriumExplained through examplesConclusionGame TheoryGame theory is the study of mathematical models of strategic interactions among rational agents. It has various applications in fields of social science, in logic, sy...Add debugging support in Programming Language
A good programming language should also be able to support debugging and debug information. In this article, we add support for debugging and debug information.
Table of contents.Introduction.Ahead-of-time(AOT) compilation.Summary.References.Prerequisites.Introduction.Until now, we can use functions and variables in Kaleidoscope, however, the main purpose of compilers is to report errors so we can debug code before shipping it to the client.
In this article, we...