Sign in

Software Engineer. There is no better way to learn than through writing. Twitter: @vinidsmonteiro | Email:

Including hands-on calculations using the cosine similarity formula

Image by Pete Linforth from Pixabay

It’s often the case in machine learning that you need to compare data and analyze how similar they are.

For instance, in automatic text summarization, during training, you need to identify which sentences from the original document are similar to the sentences in the reference summary. …

Three reasons to write more as a software developer

Woman drinking from mug
Photo by Candice Picard on Unsplash.

One of the most fulfilling aspects of writing is the search for originality. To be creative and find a unique perspective on a topic that no one has thought about before. To go against the masses and cause controversy — if that’s your thing.

As a writer, producing such articles…

A gentle introduction to Bayes theorem

Photo by Tomáš Malík from Pexels

Bayes theorem, invented by Thomas Bayes in the 18th century, describes a simple and powerful methodology for calculating the probability of a belief/hypothesis occurring given a new piece of evidence/observation.

Throughout history, the Bayes theorem has been applied to find nuclear bombs and is the basis for machine learning algorithms…

An overview of relational, document and graph data models

Photo by Jan Antonin Kolar on Unsplash

Designing how to represent and store the data is a key element of developing software. From the user input in the screen all the way to the computer electrical current. Each layer’s data model representation is built based on the next lower layer.

Introduction to the normal equation.

Photo by Vlado Paunovic on Unsplash

In one of my previous articles, I presented an approach to solving linear regression. I explained an algorithm that iteratively tries to find the right slope and y-intercept. The algorithm uses the gradient descent method.

But there is another way to find the best line fit.

The problem can be…

A beginner’s guide on the two types of learning

Image by chenspec from Pixabay

Many solutions in Machine Learning (ML) are implemented using either Unsupervised or Supervised learning algorithms. In this article, I cover the basics of each approach—the definition and application examples.


Supervised learning is when the program is trained on labelled data and relies on them to infer details about new information.

A new API to replace Java Native Interface (JNI) and enhancements in switch expressions and statements (preview) are among the features

Image by Free-Photos from Pixabay

The JDK 17 is a long-term support (LTS) version, which means it has Oracle support for many years to come. Other LTS JDKs are Java 8 and Java 11. LTS JDKs are released every three years and non-LTS every six months.

In comparison, LTS versions’ support lasts for several years…

Step-by-step guide on the linear regression algorithm

Photo by Alex Iby on Unsplash

Learning linear regression is a good way to kick start your Machine Learning or Data Science career. The algorithm is one of the simplest.

I addressed the basic concepts and a bit of history in this article, and now I’ll go deeper by covering the algorithm’s details. …


A story of perseverance and unconditional love in a reshaped world

Photo by Sharon McCutcheon on Unsplash

Originally published by me, here.

Every night, through the only window in our small apartment, I spend one or two hours looking at the stars and the oval-shaped shiny golden link that goes around our “country” all the way connecting to the next one. It’s stunning.

Looking from down here…

Vinicius Monteiro

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