And Why Tanh Generally Performs Better Than Sigmoid

Image for post
Image for post
Photo by Clint Adair on Unsplash

Among the best practices for training a Neural Network is to normalize your data to obtain a mean close to 0. Normalizing the data generally speeds up learning and leads to faster convergence. Also, the (logistic) sigmoid function is hardly ever used anymore as an activation function in hidden layers of Neural Networks, because the tanh function (among others) seems to be strictly superior.

While this might not be immediately evident, there are very similar reasons for why this is the case. The tanh function is quite similar to the logistic sigmoid. …


In this series of posts we want to develop a little framework for Functional Reactive Programming in Scala from scratch. If you haven’t read the first two parts of the series yet, make sure to check them out here: Part 1, Part 2.

Image for post
Image for post
Photo by bert sz on Unsplash

Note: You can find the notebook with the entire code in this GitHub repository.

In the last article we managed to write a working example of a little framework enabling us to do what we wanted: Keeping track of several bank accounts’ balances with a consolidator. …


In this series of posts we want to develop a little framework for Functional Reactive Programming in Scala from scratch. If you haven’t read the first part of the series yet, make sure to check it out here. Part 3 can be found here.

Image for post
Image for post
Photo by Émile Perron on Unsplash

Note: You can find the notebook with the entire code in this GitHub repository.

In the last article we started off with an implementation of a little framework for Functional Reactive Programming in Scala. Our goal was to write implementations for Signal and Var that enable us to do the following:

Calling total() is then supposed to return the combined balance of both our BankAccounts at all times. …


In this series of posts we want to develop a little framework for Functional Reactive Programming in Scala from scratch. This is the first part of the series. The remaining parts can be found here: Part 2, Part 3.

Image for post
Image for post
Photo by Markus Spiske on Unsplash

Since the reactive manifesto has been published, reactive programming has been experiencing quite a bit of a hype. A bunch of libraries have been developed for basically every major programming language which facilitate reactive programming. Among the most prominent of them are the ReactiveX Libraries that exist for Javascript, Python, Scala and a quite few others.

While these libraries are great, they are not to be confused with functional reactive programming. As is stated in the documentation of ReactiveX…


Image for post
Image for post
Photo by Taras Shypka on Unsplash

Reactive programming has been gaining a lot of attention in the past couple of years. The reactive manifesto argues for a reactive software design and has been signed thousands of times. Reactive libraries like ReactiveX now exist for basically every major programming language.

With the advent of Big Data and Spark, functional programming is also experiencing quite of a hype. Leading to even more confusion, functional reactive programming gets thrown into the mix and frequently is used to describe reactive libraries such as ReactiveX.

In this article I want to get a hold of all the buzz words. So what is Functional Programming, Reactive Programming, and Functional Reactive Programming, how the heck do they relate to each other and why should you care? …

About

Timo Stöttner

Data Scientist, Software Developer and Tech Enthusiast

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store