Skip to content

Intention

A blog on experiences with Machine Learning experiments

This blog covers some basics, experiments and related math in the field of Machine Learning [ML]. It is a personal blog and not an ordered book. Contents come with numerical experiments I had some fun with.

I write in general about experiments which one can perform on a medium equipped Linux PC. Meaning: This blog covers mainly conventional experiments which can e.g. be done with Scikit-Learn and Neural Networks with a rather limited number of layers.

Nevertheless, I think that one can learn quite a lot of interesting things from such limited experiments. Besides the fun factor: One can prepare oneself via studying some basics for bigger and more professional tasks.

This image has an empty alt attribute; its file name is 4_on_lev_3-300x193.png

For the time being this post is not yet about GPT and other advanced transformer based neural networks. The reason is simply that I need a new graphics card to perform related experiments. I will order one soon …

Who is this blog for?

I expect this blog to be interesting for people who have already started with private ML projects – but are no experts, yet. There is a variety of standard experiments one typically starts with. Such experiments are often based on conventional techniques (like e.g. Support Vector Machines) or relatively small neural networks (like MLPs or CNNs with relatively few layers). You will find such experiments here in this blog. But I will also describe experiments which you will not find in introductory books on ML.

So, the posts of this blog will cover topics both for beginners and advanced users of Python, Numpy, Scikit-Learn Keras and Tensorflow. I will try to point out what level of knowledge may be required to understand a post or a post series.

You are invited to write comments and exchange experiences. However, I expect that you open an account for this purpose and let me check your comments before publishing them.

Required equipment for your own experiments

If you want to do similar projects as discussed here you should be prepared to have at least 32 GB RAM and a Nvidia card with at least 4 to 8 GB of VRAM. Cuda and cuDNN should be installed on your PC system. Advanced experiments may require more VRAM or RAM.

My personal programming environments are Jupyter Lab (for Python) and Eclipse with PyDev. I strongly advice you not to work with Jupyter, only. After successful first experiments you should systematically gather and reorder your work within classes and reusable methods. And work with some version control system (GIT). And you should collect your classes in suitable Python modules. An Eclipse/PyDev environment with integrated GIT in my opinion is much more suitable for such tasks than Juypter.

I do all my ML experiments on Linux systems. Please, do not expect me to answer questions regarding PyDev and Jupyter installations on Windows.

Some math

This image has an empty alt attribute; its file name is mesh_total_costs_sample_normalized_1-300x274.png

What may distinguish this post from others is that I sometimes will write about mathematical aspects I stumble across during my experiments and which I find interesting. I will try to confine posts within a separate main category.

This image has an empty alt attribute; its file name is volumetric-300x232.png

Most of the mathematical subjects I have so far looked into deal with linear algebra (matrix operations), features of statistical multivariate normal distributions, ellipsoids and ellipses.
Further topics will follow.

The role of my linux-blog

This image has an empty alt attribute; its file name is sit3-shine.7-273x300.gif

Some people may know me from my linux-blog hosted at anracom.com. In the linux-blog I wrote about Linux- and LAMP-related topics the first years (up to 2014). During the last 10 years, however, the linux-blog has become a container for all kind of IT-topics.

Among other things it got a growing section for Machine Learning. As some readers of the linux-blog have recently complained about an overload of only partially Linux-related topics I have opened this new blog. I intend to continuously transfer selected ML-related posts from the linux-blog to this new blog.