机器学习入门

1、机器学习是什么

2.Classification workflow

2.1、Overview

img

2.2、Import Data(导入数据)

用到的matlab函式

M.txt类似如下:

img

2.3、Process Data(处理数据)

2.4、Extract Features(特征提取)

img

通过计算不同的特征来辨别字母

  • 例如J和M,J会窄一点,而M近似于square,所以可以通过Y轴范围和X轴范围之比来确定

  • 相比于J和M,V会写的快一点,所以可以把duration当作特征值来辨别

在这里我们计算两个特征

  • letter的长宽比:AspectRatio

  • letter的书写时间:Duration

img

featuredata.mat:

img

通过scatter和gscatter两个函式来visualization(散点图)

scatter:

img

gscatter:

img

2.5、Build a Model

img
img

在本例中,我们应用KNN模型,并用matlab里面自带的KNN分类器

加载table

img

用matlab的函式构造模型并预测

调整K邻近的K参数

img

预测值

img

2.6、Evaluate Model(评价模型)

在本例中,我们有三种evaluate的方式

  • accuracy

  • misclassrate

  • confusion matrix(混淆矩阵)

我们通过training data得到model

再通过test data来evaluate 我们的model好坏

这里的混淆矩阵用到了matlab的函式

confusion matrix

img
img

2.7、Review

这次我们用的是2个特征,来辨别13个字母

我们把所有流程回顾

img

gscatter:

img

confusion matrix

img

3.Importing and Preprocessing Data

3.2、Creating Datastores

用到了三个matlab函式

  • letterds = datastore("file")

  • data = read(letterds)

  • data = readall(letterds)

3.3、Adding a Data Transformation

读datastore之前先将其transformation

  • 例如normalization

supplement

normalization:

  • [0~1]

  • [-1~1]

img

4.Engineering Features(工程特征)

4.1、Types of Signals

4.2、Calculating Summary Statistics

Statistical Functions

Measures of Central Tendency

Function

Description

Arithmetic mean

Median (middle) value

Most frequent value

Trimmed mean (mean, excluding outliers)

Geometric mean

Measures of Spread

Function

Description

Range of values (largest – smallest)

Standard deviation

Mean absolute deviation

Interquartile range (75th percentile minus 25th percentile)

Measures of Shape

Function

Description

Skewness (third central moment)

Kurtosis (fourth central moment)

Central moment of arbitrary order

  • the median is less sensitive to outliers than the mean

  • the MAD(mean absolute deviation) is:

    img

4.3、Finding Peaks

使用matlab的函式来寻找局部maxima和minima

  • [idx, prom] = islocalmin(X, options)

  • idx is logical array

  • prom是取到局部最大(最小)的具体值

img

通过threshold来去除噪点,因为判断最大最小值,只要看这个点的两边就ok

例如:img

4.4、Computing Derivatives(计算导数)

用到matlab的函式

  • diff(X) ---> [x2-x1,x3-x2,....]

  • X = standardizeMissing(X, value) ---> 将value转成NAN

在本例中,我们通过字母的X轴和Time来计算在书写速率velocity

并用standardizeMissing来去除计算出inf的影响

4.5、Calculating Correlations

用到matlab的函式:

  • corr(X,Y) --->求X,Y的相关系数

    img

  • 衡量X,Y之间的线性相关度

image-20210322001408361

计算X和Y的相关系数,得出NAN,是因为有MISSING DATA

接下来用...来去掉missing data

在本例中v2.X和v2.Y为22*1的列向量

img
img

Cmat:

img
  • Cmat(i,j)表示第i列和第j列的相关系数

  • 可以看到Cmat是对称矩阵

Last updated