CategoryMachine Learning

How to use EEPROM M24256 with STM32 microcontroller

In this post we will see how we can use the M24256 EEPROM to read and write data with an STM32 microcontroller. The complexity of those operations are really minimal as long as the provided HAL libraries generated by STM32CubeIDE basically does most of this job. Our main idea is to safely read and write data to M23256 by considering the delays that this chip may have and ensuring our operations...

Fast Kalman Filter in Matlab

Kalman filtering-smoothing is a fundamental tool in statistical time series analysis: it implements the optimal Bayesian filter in the linear-Gaussian setting, and serves as a key step in the inference algorithms for a wide variety of nonlinear and non-Gaussian models. However, using this kind of filter in small embedded systems is not a good choice due to the computational intensive maths. For...

The backpropagation algorithm

Backpropagation is one of the several ways in which an artificial neural network (ANN) can be trained. It is a supervised training scheme, which means, it learns from labeled training data. In simple terms, BackProp is like “learning from mistakes. “The supervisor corrects the ANN whenever it makes mistakes.” Initially, all the edge weights are randomly assigned. For every input...

L-Norms as Loss Function

In linear algebra, functional analysis, and related areas of mathematics, a norm (l-norms) is a function that assigns a strictly positive length or size to each vector in a vector space—save for the zero vector, which is assigned a length of zero. A seminorm, on the other hand, is allowed to assign zero length to some non-zero vectors (in addition to the zero vector). L1-Norm loss function is...

K-nearest neighbours algorithm in C

In a previous post we saw the differences between K-means and K-NN. Here is step by step on how to compute K-nearest neighbors KNN algorithm. Determine parameter K = number of nearest neighbors Calculate the distance between the query-instance and all the training samples Sort the distance and determine nearest neighbors based on the K-th minimum distance Gather the category of the nearest...

Difference between K-means and K-nearest neighbor algorithm

In short, the algorithms are trying to accomplish different goals. K-nearest neighbor is a subset of supervised learning classification (or regression) algorithms (it takes a bunch of labeled points and uses them to learn how to label other points). It is supervised because you are trying to classify a point based on the known classification of other points. In contrast, K-means is a subset of...

An overview of Independent Component Analysis

1. What is ICA ? Independent Component Analysis is a technique of separating signals from their linear mixes. We could assume two signals and that are a linear combination of two signals source and , the relationships of and are shown in the following system of linear equations where , , and are the parameters determining the mixing of the signals. These parameters( ) are not known, so the...

Perceptron Neural Network using Matlab

Perceptron is one of the simplest forms of a neural network model. The following code snippet is a simple version of such a neural network using Matlab. Before using it please read some background information at wikipedia :  clc; clear all; close all; % Data inputs=[1 0 0; 1 0 1;1 1 0;1 1 1]; % Desired Output desiredOutput=[1 1 1 0]; % Learning Rate learningRate=0.1; % HardLimit threshold...

Separation of Image Mixture using FastICA

Image separation of mixed and overlapped images is a frequent problem in computer vision (image processing). The following Matlab source code is a demonstration of image separation using FastICA algorithm based on kurtosis. clc;clear all;close all; original_image1=imread ('input1.jpg'); original_image2=imread ('input2.jpg'); figure() subplot(3,3,1),imshow(original_image1),title('Original Source...

Categories

Tags