机器学习当中最常见的三种范式包括:有监督学习、无监督学习和半监督学习。
一、监督学习
1、线性分类
1.1任务
训练数据的特征:标定的
训练过程:根据目标输出与实际输出的误差信号来调节参数典型方法
- 全局:BN,NN,SVM, Decision Tree
- 局部:KNN
图1 有监督学习的任务要求极其实现效果
1.2监督学习中的线性模型分类
什么是线性分类呢?就是在一个空间当中找到决策面。在下图中分别画出了二维空间的决策线以及高维空间中的决策超平面。
图2 左图为二维空间,右图为三维空间
那么如何找到这样的一个分类边界呢?这就需要找到与决策边界相关的参数,然后利用这样的参数拟合出一个决策边界。可以利用y(x)表示这样的一个决策超平面。
模型训练:监督学习问题,给出训练集{xn,yn},训练线性模型y(x)的参数,在训练的过程中{X,y(x)}就对应于训练集
模型使用:给出输入x,输出相应的类 c
1.3线性分类降维方法线性判别分析LDA
线性判别分析(Linear Discriminant Analysis, 以下简称LDA),它在模式识别领域(比如人脸识别,舰艇识别等图形图像识别领域)中有非常广泛的应用,因此我们有必要了解下它的算法原理。
首先他的基本思想考虑以下三点:
- 降低维度时“尽可能多的保留尽类别有差别的信息”
- 寻求找到最适合分类的方向
- 考虑类内部的分散性,以及类间分散性
上图中提供了两种投影方式,哪一种能更好的满足我们的标准呢?从直观上可以看出,右图要比左图的投影效果好,因为右图的红色数据和蓝色数据各个较为集中,且类别之间的距离明显。左图则在边界处数据混杂。以上就是LDA的主要思想了,当然在实际应用中,我们的数据是多个类别的,我们的原始数据一般也是超过二维的,投影后的也一般不是直线,而是一个低维的超平面。总体的目标是:最大化类之间的距离(均值距离),同时最小化类内距离(方差)。
图3 在三维空间当中的分类选取
2、KNN方法
对输入样本 x,从训练样本中找到与x距离最近的K个最近样本,以它们的类标签来估计x的类别。
图4 knn聚类方法
最近邻算法的具体流程:
1)已知N个类别样本X
2)输入位置类别样本x
3)计算x到xi∈X,(i=1,2,…,N)的距离di(x)
4)找出最小距离dm(x)=min{di(x)}
5)看xm属于哪一类:xm∈ω2
6) 判x∈ω2
- 距离度量
更好的距离度量: normalize each variable by standard deviation - 马氏距离
离散数据:Hamming distance(海明距离)
- K的选择
Increasing k reduces variance, increases bias(增加k减少方差,增加偏差)
- 高维空间的可区分性
For high-dimensional space, problem that the nearest neighbor may not be very close at all!
(对于高维空间,问题是最近的邻居也可能不是很接近)
- 计算量
(必须通过分析计算每个分类的数据,这对于大数据集来说可能是禁止的)
3、线性回归
图5 线性回归的散点
线性回归试图用自变量去解释因变量,回归是对因果关系的解释。如果自变量能够有效的诠释因变量,那么该模型可以用来进行预测。
回归输出是依赖于一个函数,在输入自变量的情况下输出因变量。简单的回归是如上图可以用一条直线去进行拟合。
该拟合函数将会对每个观测点进行预测,预测到的值与实际值会产生一定的偏差。y = y + ε 即 Actual = Explained + Error