# Machine Learning Basics

## Machine Learning Introduction

Content:\
Use of ``single-layer machine learning models`` to solve a ``two-class problem``: ``support vector machines`` (based on libsvm) compared to a ``neural network``. Partitioning and use of datasets, application of appropriate metrics for ``evaluation``, use of ``high-level machine learning libraries`` such as ``SciKit-Learn``.

Learning Objectives:\
Students assess the effectiveness of simple ``machine learning models`` and ``neural networks`` for ``classification and regression problems``.

Link to the repository:\
Check out https://git.rz.tu-bs.de/ifn-public/ki4all/machine-learning-introduction or
```console
git clone https://git.rz.tu-bs.de/ifn-public/ki4all/machine-learning-introduction
```

Previous Microcredits: None

**Extent: 0.75 ECTS** \
**Responsible: IFN, TU BS**


## Single-layer perceptron

Content/Inhalt:\
This document presents the motivation, definition and fundamental properties of the single-layer perceptron, which is the main building block for (nearly) all of the modern neural network and deep learning architectures. 
After a brief biological motivation and introduction, the model is introducted (with a presentation of the most common activation functions) and its application to simple two-class classification problems is outlined, including a discussion of its limitation to be able to handle only linearly separable classification problems. 
Then, the perceptron learning algorithm to estimate the synaptic weights and threshold for a single-layer perceptron with Heaviside activation function is discussed. 
This is followed by a presentation of how to estimate the synaptic weights and threshold for a single-layer perceptron with differentiable activation function using gradient descent to a suitably defined loss function. 
This is the basis for the derivation of the backpropagation algorithm (see Microcredit „Multi-layer perceptron“), which in turn is used in many modern feedforward architectures in deep learning.


Learning Objectives/Qualifikationsziele:\
After reading this document, the reader should be familiar with the biological motivation of a perceptron, its fundamental components as well as important simplifications made. Furthermore, the reader should understand the mathematical formulation of a single-layer perceptron and be able to apply it to calculate its output for a given input. In addition, he should understand the limitation of a single-layer perceptron with regard to two-class classification problems, in that it is applicable only to classification problems which are linearly separable. The reader should be further able to apply the perceptron learning algorithm to simple, linearly separable two-class classification problems and know about the perceptron convergence theorem. Then, he should understand the concept of estimating the synaptic weights and the threshold for a single-layer perceptron with differentiable activation function by minimizing a suitable loss function using gradient descent.


Link to the repositories/Link zum Repository:\
https://gitlab.gwdg.de/ki4all/ohm2_slp.git or
```console
git clone https://gitlab.gwdg.de/ki4all/ohm2_slp.git
```

Next microcredits/Fortsetzungsempfehlung: -

**Extent/Arbeitsumfang: 0.5 ECTS**\
**Responsible/Verantwortlichkeit: IIE, Ostfalia, Fakultät Informatik, Dr. C. Meyer**

## Brief introduction and history of artificial intelligence

Content/Inhalt:\
This document contains a short introduction and a brief history of Artificial Intelligence (AI) by summarizing major milestones and technological approaches from the birth of AI in the 1950s until 2020. Finally, some important strengths of AI as well as limitations are listed.
Note, however, that the mentioned technological approaches cannot be explained in detail in this document.
The reader is referred to further textbooks or other material in case a more detailed understanding is desired.


Learning Objectives/Qualifikationsziele:\
After reading this document, the reader should understand the relevance and importance of AI, be able to give different definitions of AI, explain the distinction between weak and strong AI and outline important application
fields of AI. 
Furthermore, the reader should be able to give a brief sketch of important episodes in the history of AI along with important events and technological approaches that shaped the field and lead to a huge diversity of algorithmic
approaches within AI.
Finally, the reader should know about strengths, problems and limitations of AI.


Link to the repositories/Link zum Repository:\
https://gitlab.gwdg.de/ki4all/ohm1_bihai.git or
```console
git clone https://gitlab.gwdg.de/ki4all/ohm1_bihai.git
```

**Extent/Arbeitsumfang: 0.25 ECTS**\
**Responsible/Verantwortlichkeit: IIE, Ostfalia, Fakultät Informatik, Dr. C. Meyer**


## CNN Basics

Content/Inhalt:\
This microcredit gives insight into the building blocks of convolutional neural networks.


Learning Objectives/Qualifikationsziele:\
After completion students
- know the purpose of various building blocks of CNNs;
- can explain the function of individual  building blocks;
- are able to get information out of different architectures by means of 'debugging'


Link to the repositories/Link zum Repository:\
https://gitlab.gwdg.de/ki4all/ohm4_cnn.git or
```console
git clone https://gitlab.gwdg.de/ki4all/ohm4_cnn.git
```

Previous microcredits/Empfohlene Voraussetzung: Multi-layer perceptron

Next microcredits/Fortsetzungsempfehlung: -

**Extent/Arbeitsumfang: 1 ECTS**\
**Responsible/Verantwortlichkeit: IIE, Ostfalia, Fakultät Informatik, Dr. C. Meyer**


## Gaussian Processes

Content:\
Gaussian processes, also known as `Kriging`, are probabilistic models used in machine learning and statistics. They provide a flexible framework for modeling and `predicting functions or distributions`. A Gaussian is characterized by a `mean function and a covariance function (kernel)`, which determines the smoothness and correlation properties of the functions. Gaussian processes are widely used in regression, interpolation, and optimization tasks, providing uncertainty estimates along with predictions. They offer a `non-parametric approach` that can handle complex data and are particularly useful when limited data is available.

Learning Objectives:\
The students are familiar with the `Gausian processes`, `predicting functions or distributions` and difference between the `mean function and a covariance function`.

Link to the repository:\
Check out https://git.rz.tu-bs.de/irmb/teaching/microcredentials/gaussian-processes.git or
```console
git clone https://git.rz.tu-bs.de/irmb/teaching/microcredentials/gaussian-processes.git
```

Previous Microcredits: Machine Learning Introduction

**Extent: 1 ECTS**\
**Responsible: iRMB, TU BS**


## Genetic Algorithms

Content:\
Genetic algorithms are `gradient-free optimization` techniques inspired by evolution. They start with a set of potential solutions represented as individuals. These individuals have genes (parameters) that encode solutions. Through selection, crossover, and mutation, new offspring are created. The fittest individuals have a higher chance of being selected. This process continues until a satisfactory solution is found. They are `useful for complex problems with many possible solutions`.

Learning Objectives:\
The students are familiar with `Genetic algorithms`and their `usefulness for complex problems with many possible solutions`.

Link to the repository:\
Check out https://git.rz.tu-bs.de/irmb/teaching/microcredentials/genetic-algorithms.git or 
```console
git clone https://git.rz.tu-bs.de/irmb/teaching/microcredentials/genetic-algorithms.git
```

Previous Microcredits: Machine Learning Introduction, PyTorch and Tensorflow Introduction

**Extent: 1 ECTS**\
**Responsible: iRMB, TU BS**


## Introduction to Artificial Intelligence in Biomedicine

Content:\
This course introduces students to important concepts related to `Artificial Intelligence applications` in the context of `biomedical data`.

Learning Objectives:\
Students will learn about the special features of biomedical data, `bias-variance tradeoff`, and the importance of `interpretability` and `reproducibility` in this field.

Link to the repository:\
Check out https://git.rz.tu-bs.de/my-name-space/my-repo.git or
```console
git clone https://git.rz.tu-bs.de/my-name-space/my-repo.git
```

Previous Microcredits: Machine Learning Introduction

**Extent: 1 ECTS**\
**Responsible: Peter L. Reichertz Institute for Medical Informatics, TU Braunschweig**


## Introduction to Federated Machine Learning

Content:\
After this course, students will be familiar with the basic concepts of `federated machine learning` and its use for `clinical data`.

Learning Objectives:\
Students will learn about `distributed data` and `data protection` measures, as well as important techniques such as `federated linear regression` and `federated random forests`.

Link to the repository:\
Check out https://git.rz.tu-bs.de/scibiome/ki4all/introduction-to-federated-machine-learning.git or
```console
git clone https://git.rz.tu-bs.de/scibiome/ki4all/introduction-to-federated-machine-learning.git
```

Previous Microcredits: Machine Learning Introduction

**Extent: 1 ECTS**\
**Responsible: Peter L. Reichertz Institute for Medical Informatics, TU Braunschweig**


## Einführung in Regression und Backpropagation

Inhalt:\
Am Beispiel eines Zugversuchs wird die Architektur von neuronalen Netzen einfach erklärt. Ausgehend vom linear elastischen Materialverhalten wird das ```Perceptron``` als elementarer Baustein neuronaler Netze eingeführt. Aus der Kombination zweier dieser elementaren Bausteine folgt das ```Multi-Layer-Perceptron```. Am Beispiel der Backpropagation wird aufgezeigt, warum die breite Nutzung von maschinellen Lernverfahren eine effiziente Softwareimplementierung bedingt, die unter anderem auf der Methode der ```Objektorientierung``` basiert. Hierfür wird ein Template bereitgestellt, das für die Bearbeitung der Programmieraufgaben zur Verfügung steht. Neben den verschiedenen Ansätzen (lineare Regression, Perceptron, Multi-Layer-Perceptron) sollen Ableitungen der Zielfunktion bzgl. der Parameter des Perceptrons mittels ```Backpropagation``` implementiert werden.

Qualifikationsziele:\
Die Studierenden erhalten durch verschiedene Ansätze ein umfangreiches Verständnis für die Architektur von neuronalen Netzen.

Link zum Repository:\
Check out https://git.rz.tu-bs.de/irmb/teaching/microcredentials/regression-ml.git or 
```console
git clone https://git.rz.tu-bs.de/irmb/teaching/microcredentials/regression-ml.git
```

Previous Microcredits: Machine Learning Introduction

**Extent: 0.5 ECTS**\
**Responsible: iRMB, TU BS**
