Ok. Let's see...
The aim is to create a plugin that provides adaptive functionalities in the Moodle platform based on users' profiles. [...] How should I choose the right plugin type? Is it OK with Machine learning backend plugins, since my algorithm belongs to machine learning area?
Moodle is highly modular, meaning that the machine learning/data analytics-related functionality may well fit within a machine learning backend plugin (a python backend is supported), but all the modifications to the platform will probably need separated plugins, depending on the precise character of those "adaptive functionalities".
If you need non-documented extra advice or info about the machine learning backend or, later on, about the specific plugins you may need to write for the "adaptive functionalities", you may ask in the Moodle developers forum (https://moodle.org/mod/forum/view.php?id=55) and/or join the Moodle Dev Chat in Telegram and ask around (https://t.me/moodledev)
I can't find a way to start creating the plugin. There's too much information and no good tutorials for beginners. [...] Are there any good tutorials that I can't find?
It's very important that you decide first what exactly are those "adaptive functionalities" about, because depending on them you may need to do one kind of plugin or another, and different plugins are made slightly differently (sometimes very very differently). This is the list of plugin types: https://docs.moodle.org/dev/Plugin_types .
The best way to kick start any kind of plugin development is to install the plugin https://moodle.org/plugins/tool_pluginskel in you local Moodle instance and generate the boilerplate code for your plugin, then start working from there.
About tutorials... the most updated source of dev info is the documentation, but there are some books about general development in Moodle (you may find them in Amazon, Leanpub...). Keep in mind that these books are usually not up to date, so compare their contents with the latest published Moodle version and having in mind the kind of plugin you are after before buying.
Do I absolutely use git?
If you plan to publish your code as a plugin or set of plugins then yes, you will need to publish it in a public repository and then follow the usual plugin review/publication process. Here is the doc about the process: https://docs.moodle.org/dev/Plugin_validation and here the doc about setting up the Travis automated validation tests for a plugin (this is easier than it sounds) https://docs.moodle.org/dev/Travis_integration#Moodle_plugins