Clojure Linear Algebra Refresher: Eigenvalues and Eigenvectors
I stumble upon eigenvectors and eigenvalues regularly when reading about machine learning topics. They seem to be important. They are not introduced in those...
Dragan Djuric's Clojure Blog, Artificial Intelligence, Deep Learning, Bayesian Data Analysis, CUDA, GPU, OpenCL, Functional Programming, Probabilistic Programming, Data Science.
Visit dragan.rocks → RSS feedOn Hacker News Jun 2017 – Apr 2020
Software Engineering 15AI & Machine Learning 11Math & Algorithms 5Life, Learning & Writing 1
I stumble upon eigenvectors and eigenvalues regularly when reading about machine learning topics. They seem to be important. They are not introduced in those...
Today, fast number crunching means parallel programs that run on Graphical Processing Units (GPUs). Thanks to the recent highly publicized deep learning and ...
CUDA 10 support has just landed in ClojureCUDA with the latest version 0.6.0.
This article is a starting article in a series that is going to briefly skim through a good engineering textbook on linear algebra, making notes that help yo...
This is really the same article as Part 1 - Hello CUDA, but with the focus on OpenCL, so I'll skip most of the narration and just show you the code.
Here's what I recommend to programmers if they want to understand machine learning. Six fantastic books that you can work with in your spare time to build yo...
Solving systems of linear equations is a staple food of linear algebra. It can be applied as a part of many machine learning tasks, although it is not always...
There's a lot going on behind the scenes, since I am not only writing the books; at the same time I have to create the software to write about. For example, ...
Everyone knows that Java is slow and Clojure is not a great choice for number crunching, but as soon as I dig anywhere with my software, I discover that the ...
A great moment has arrived. We are going to apply our neural networks implementation to a regression problem. The network is going to learn a known function,...
The stage has been set for wrapping up the simplest version of a complete neural network API, and its key part that offers the entry for the /learning/ funct...
Today's article is a short one. Not because Singular Value Decomposition (SVD) is not important, but because it is so ubiquitous that we'll touch it in other...
How to solve linear systems that have many solutions, or those that have no solutions at all? That's the theme for a thick math textbook, of course, but from...
We generalize the network code and run it on the GPU. On an Nvidia GPU with CUDA, and on an AMD GPU with OpenCL. Even more - we mix both CUDA and OpenCL, jus...
Sharing and reusing memory buffers is inescapable if we want high performance. It is a sharp but powerful tool.
Today, Java has a choice of a few well maintained libraries that can use Intel's MKL for fast native operations. MKL is basically as fast as you can get toda...