1593445680

.In this session, Alexey will tell about problems of adapting classic machine learning algorithms for distributed execution from his experience of working with Apache Spark ML, Apache Mahout, Apache Flink ML and creating Apache Ignite ML.

Disclaimer: in this session, there won’t be any code, demo, sales pitch, etc. But Alexey will touch upon approaches to implementing ML algorithms in the aforementioned frameworks and share his own opinion on these approaches.

#algorithms

1599854400

Go announced Go 1.15 version on 11 Aug 2020. Highlighted updates and features include Substantial improvements to the Go linker, Improved allocation for small objects at high core counts, X.509 CommonName deprecation, GOPROXY supports skipping proxies that return errors, New embedded tzdata package, Several Core Library improvements and more.

As Go promise for maintaining backward compatibility. After upgrading to the latest Go 1.15 version, almost all existing Golang applications or programs continue to compile and run as older Golang version.

#go #golang #go 1.15 #go features #go improvement #go package #go new features

1593445680

.In this session, Alexey will tell about problems of adapting classic machine learning algorithms for distributed execution from his experience of working with Apache Spark ML, Apache Mahout, Apache Flink ML and creating Apache Ignite ML.

Disclaimer: in this session, there won’t be any code, demo, sales pitch, etc. But Alexey will touch upon approaches to implementing ML algorithms in the aforementioned frameworks and share his own opinion on these approaches.

#algorithms

1593437460

It may not seem obvious at first glance, but computer science algorithms are often inspired by nature and biological processes. Some of these algorithms include neural networks, particle swarm optimization, artificial bee colony, ant colony optimization, evolutionary algorithms and many more. In fact, you can consider biological processes to be simply algorithms that nature has come up with to solve problems. From that point of view, it’s easy to see why…

#machine-learning #go #genetic-algorithm #golang #algorithms

1597848999

Created by Google researchers, Go is a popular open-source programming language. The language includes many intuitive features, including a garbage collector, cross-platform, efficient concurrency, among others.

According to the Stack Overflow Developer Survey 2020, Go language is not only the fifth most loved programming language but also fetches the programmers the third-highest salary among other languages.

Below here, we list down the top machine learning libraries in Go language.

#opinions #go language #google ml tools #machine learning libraries #ml libraries #ml libraries in go

1596485880

*Search* algorithms are known as one of the hot trends among software engineers for years. These algorithms have been discussed since the beginning of the computer era, and they are fundamental of computer science. In this article, I try to describe one of the most efficient and easiest search algorithms, _Binary Search, _and show how can we make our own version in less than 5 minutes.

Before I start describing the algorithm, it is necessary to be familiar with the *Algorithm Complexity* concept. Being *fast* and *efficient* probably is the main purpose of studying algorithms. *Algorithm Complexity* is a measure to describe how an algorithm is performed against different sets of inputs, as described by Carnegie Mellon University: *Algorithmic complexity is concerned about how fast or slow particular algorithm performs**.*

The complexity of an algorithm can be shown by different notations, but the most common one is _Big O, _which describes its performance against the worst possible inputs. In other words, if an algorithm faces the worst possible set of inputs, it would take no longer than _Big O _steps to accomplish. Since the performance depends on inputs, it is shown with **_O(n), _**where *n* is the input size.

Having said that, algorithms are categorized into different groups performance-wisely:

*Binary Search* is one of the most efficient search implementations that works over a list of **sorted integers. **Ithas the complexity of ***O(n log n)* **which is awesome when it comes to large data sets, however, it works only if the data is sorted beforehand. Due to the nature of the algorithm, also, it works only on integer lists.

*Binary Search* is implemented using a *recursive* approach, where the search function is called by itself. Writing recursive algorithms is not always easy, but it is not a scary task for sure. The only point that you need to keep in mind is about the _Base Case _that makes the algorithm stops at some point, otherwise, the function continues forever.

Recursive algorithms

Now, it is time to write your version of the Binary Search. Although in this article I use Go, you can get the idea and write it with your preferred language. Additionally, there are tons of implementations available on GitHub that you can benefit for your problems.

Let’s start by defining a function that accepts an input array, target number, and first and last indexes of the given array. It returns a boolean that indicates if the target number is found as well as the index of it. In case the number is not found, it returns *false, -1*

#time-complexity #big-o-notation #algorithms #go #binary-search #algorithms