Implementing a Support Vector Machine in Scala

November 27, 2017

This post describes the implementation of a linear support vector machine classifier (SVM) in Scala. Scala is a functional programming language that supports functional programming to a far extend. Because I am exploring Scala at the moment and I like the challenge of functional programming, the SVM will be implemented in a functional manner. We are going to test the SVM on two classes from the Iris dataset. ... Read more

A nonlinear water accumulation analysis in Python

August 23, 2017

Frames One of my first packages in Python is a program for analysing 2D Frames called anaStruct. I wrote this in the summer of 2016 and learned a lot by doing so. When it was ‘finished’ I was really enthusiastic and eager to give it some purpose in the ‘real’ engineering world. My enthusiasm wasn’t for long though. I wrote a fem package that can compute linear force lines. The real world however isn’t so linear. ... Read more

Programming a neural network from scratch

July 10, 2017

Intro At the moment of writing this post it has been a few months since I’ve lost myself in the concept of machine learning. I have been using packages like TensorFlow, Keras and Scikit-learn to build a high conceptual understandig of the subject. I did understand intuitively what the backpropagation algorithm and the idea of minimizing costs does, but I hadn’t programmed it myself. Tensorflow is regarded as quite a low level machine learning package, but it still abstracts the backpropagation algorithm for you. ... Read more

Deep learning music classifier part 2. Computer says no!

June 4, 2017

Recap Last post I described what my motivations were to start building a music classifier, or at least attempt to build one. The post also described how I collected a dataset, extracted important features and clustered the data based on their variance. You can read the previous post here. This post describes how I got my feet wet with classifying music. Spotify kind of sorted the data I’ve downloaded by genre. ... Read more

Deep learning music classifier part 1. 30 seconds disco!

May 12, 2017

Introduction As a nerd I am fascinated by the deep learning hype. Out of interest I have been following some courses, reading blogs and watched youtube video’s about the topic. Before diving into the content, I really thought this was something solely for the great internet companies and that it was not a subject us mortals could understand. While reading and learning more about it I’ve come to the insight that making use of deep learning techniques is not only something the internet giants and scientists can do. ... Read more

What should be explained in the Dutch SBR-B Guideline!

May 7, 2017

The Dutch SBR guideline is intended to help you process vibration data and help you determine when a vibration signal can cause discomfort to persons. It seems to me however, that the SBR-B guideline does not have the intention to be understood. They seem to help you by making a super abstract of scientific papers and by giving you a few keywords so you can Google it yourself. This post will elaborate on two formula’s given in the guideline. ... Read more

Understanding the Fourier Transform by example

April 23, 2017

In the last couple of weeks I have been playing with the results of the Fourier Transform and it has quite some interesting properties that initially were not clear to me. In this post I summarize the things I found interesting and the things I’ve learned about the Fourier Transform. Application The Fourier Transformation is applied in engineering to determine the dominant frequencies in a vibration signal. When the dominant frequency of a signal corresponds with the natural frequency of a structure, the occurring vibrations can get amplified due to resonance. ... Read more

Writing a fourth order Runga Kutta solver for a vibrations problem in Python (Part 1)

April 13, 2017

Problem If you want to solve a vibrations problem with a force acting on the system you often need to find the solution in nummerical algorithms. Say you have got a single degree of freedom mass spring system as shown in the figure below. SDOF damped mass spring system The differential equation of this system is: \[ mu'' + cu' + ku = F\] When the force that acts on the system is a function, this problem can be solved with symbolical maths by solving the differential equation. ... Read more

Writing a fourth order Runga Kutta solver for a vibrations problem in Python (Part 2)

April 13, 2017

This post continues where part 1 ended. In order to increase the accuracy of our function solver we are going to use a 4th order Runga Kutta algorithm. The basics are the same as with the Euler method. However the dy part of the 4th order method is more accurately computed. Definition The incremental values of this method are defined as: \[ y_{n+1} = y_{n} + \frac{h}{6}(k_{1} + 2k_{2} +2k_{3} + k_{4})\] \[ t_{n+1} = t_{n} + h \] With the factors k1 - k4 being: ... Read more

Writing a fourth order Runga Kutta solver for a vibrations problem in Python (Part 3)

April 13, 2017

This post continues where part 2 ended. The Runga Kutta algorithm described in last post is only able to solve first order differential equations. The differential equation (de) for a single mass spring vibrations problem is a second order de. \[ mu'' + cu' + ku = F\] Note that in this equation: u” = acceleration a u’ = velocity v u = displacement Before we can solve it with a Runga Kutta algorithm we must rewrite the base equation to a system of two first order ode’s. ... Read more

(c) 2017 Ritchie Vink.