Home

Awesome

Awesome-Machine-Learning

This blog helps beginners get an overview of machine learning and its algorithms. And this video will definitely give you a good intuitive understanding of machine learning.

1. Introduction of Machine Learning Theory

1.1 Courses

There are three courses I recommend,

1.2 Books

2. Diving into the general theory

3. Data Mining

4. NLP

Natural language processing (NLP) is the intersection of computer science, linguistics and machine learning. The field focuses on communication between computers and humans in natural language and NLP is all about making computers understand and generate human language. I write a simple overview of NLP. For courses, CS224n: Natural Language Processing with Deep Learning is a good choice, free and comprehensive. Besides, I found a good tutorial -- ML-NLP from Machine learning to NLP with full code implementation and instructions.

5. CV

Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. First, I write a whole overview of Computer Vision, simple but comprehensive. For visual explanation, CNN explainer is a good work to tell you the function of different layers. And courses I have learned, CS231n: Convolutional Neural Networks for Visual Recognition is an excellent course from Standford, all free.

6. Machine learning on graphs--Graph Neural Network (GNN)

Recently, Graph Neural Network (GNN) has gained increasing popularity in various domains, including social network, knowledge graph, recommender system, and even life science. The power of GNN in modeling the dependencies between nodes in a graph enables the breakthrough in the research area related to graph analysis. This article aims to introduce the basics of Graph Neural Network and two more advanced algorithms, DeepWalk and GraphSage. There is a Blog GNN-Learning which might help you get into GNN deeply.

7. Reinforcement learning

Deep reinforcement learning is about taking the best actions from what we see and hear. Unfortunately, reinforcement learning RL has a high barrier in learning the concepts and the lingos. In this article, we will cover deep RL with an overview of the general landscape. Yet, we will not shy away from equations and lingos. They provide the basics in understanding the concepts deeper. Here I write a short blog which takes you into the RL area and provide some excellent learning materials which definitely will help you.

8. Conference

9. Fundamental Tool

Machine learning could be divieded into two parts: data and model. For processing data, we usually use pandas (data processor) and here is the pandas tutorial authorized by Datawhale. Moreover, it is common that we need to visulize our results, that's why matplotlib comes out. The show type of data visulization include Trends, relationship and distribution as shown following. Besides, Dash is the open-source standard for analytic apps in Python.

<img src="2.png"></img>

<img src="1.png"></img>

And I give the template I usually use

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

def plot_x_y(x_axis, y_axis):
    sns.set_theme()

    font = {'family': 'Times New Roman',
            'color': 'red',
            'weight': 'normal',
            'size': 16,
            }

    Fig, ax = plt.subplots()
    ax.plot(x=x_axis, y=y_axis, label='loss', marker='*')
    ax.set_xlabel('leaf nodes', fontdict=font)
    ax.set_ylabel('loss', fontdict=font)
    ax.legend(loc='best')

    ax.set_xlim(min(x_axis), max(x_axis))
    ax.set_ylim(min(y_axis), max(y_axis))

    plt.show()

Supplementary resources