3.2 降维算法类
降维指的是降低数据的维度,降维的用途很广泛:
用来压缩数据,使用较少的计算机内存或磁盘空间,同时也可以加快学习算法。
除去数据的冗余(如:特征中分别有用厘米表示和用英寸表示,两者有重复)。
数据可视化,将三维以上的高维数据降维至二维或三维。
3.2.1 主成分分析PCA 主成分分析(PCA)是最常见的降维算法。PCA特点:
对数据进行降维处理后,保证数据的特性损失最小。
对新求出的“主元”向量的重要性进行排序,根据需要取前面最重要的部分,将后面的维数省去。
不需要人为设定参数或根据任何经验对计算进行干预,最后的结果只与数据本身相关。
算法基本思想: 找到一个方向向量,当把所有的数据都投射到该向量上时,希望投射平均均方误差能尽可能地小。方向向量是一个经过原点的向量,而投射误差是从特征向量向该方向向量作垂线的长度。将\(n\)维降至\(k\)维,目标是找到向量\(μ_1,μ_2,…,μ_K\)使得总的投射误差最小。
算法步骤: 假设有数据集:\(\{x^{(1)} , x^{(2)} ,…, x^{(m)}\}\)
均值归一化:μ_j=1/m ∑_{i=1}^m x_j ...
3.1 聚类算法类
非监督学习是要让计算机学习无标签数据,需要将一系列无标签的训练数据,输入到某个算法中,找到这个数据的内在规律、结构或模式。聚类算法(clustering)实现将一系列无标签的训练数据,分成不同的点集(称为簇)。典型的聚类算法有K-均值算法。典型的应用有:
3.1.1 K-Means(K-均值算法)\(K\)-均值算法接受一个未标记的数据集,然后将数据聚类成多个类,即使在没有非常明显区分的组群的情况下也可以。
算法基本思想:
首先随机选择\(K\)个点,称为聚类中心。
其次对于数据集中的每一个数据,按照距离 \(K\) 个中心点的距离,将其与距离最近的中心点关联起来,与同一个中心点关联的所有点组成一个组。
然后计算每一个组的平均值,将该组所关联的中心点移动到平均值的位置。再次重复以上两个步骤直至中心点不再变化,至此数据集聚类成\(K\)个组。
算法描述:模型参数:聚类个数: \(K\);训练集 \( \{x^{(1)} , x^{(2)} ,…, x^{(m)}\}\ \ \ \ \ \ (x^{(i)} ∈ R^n , x_0=1) \); 随机选择\(K\)个聚类中心点 ...
2.6 神经网络算法
人类大脑可以处理非常多的不同事情,但不需要用实现成千上万个不同的程序,只需要一个单一的学习算法,然后通过神经网络自学掌握如何处理这些不同类型的数据。神经网络算法是模拟大脑学习的一种很古老的且计算量偏大的算法。
2.6.1 神经网络算法基础2.6.1.1 大脑中的神经网络大脑神经元模型:树突接受输入信息,输入信息经由神经核根据自身的模型进行处理,由轴突将处理后的信息向其他神经元传递。
树突(Dendrite):信息输入单元,一个神经元可包含多个输入。
神经核(Nucleus):信息处理单元。
轴突(Axon):信息输出单元,一个神经元有且只有一个输出。
大脑神经网络模型:由大量神经元相互链接并通过电脉冲来交流的一个网络。
2.6.1.2 神经网络模型神经元模型:h_θ (x)= g(θ_0^{(1)} x_0+θ_1^{(1)} x_1+θ_2^{(1)} x_2+θ_3^{(1)} x_3) →h_θ (x)= g(θ_1^{(1)} x_1+θ_2^{(1)} x_2+θ_3^{(1)} x_3 + b)
\(x_0\)代表偏置量,固定值为1。
\( g(z)= \frac ...
2.5 支持向量机
非线性假设能够更好的建立分类模型,更好的拟合现实数据,但当特征量太多时非线性的计算量会非常的大,普通的逻辑回归模型不能有效地处理这么多的特征,支持向量机可以有效的解决此类的非线性问题。支持向量机(Support Vector Machine)是一种二类分类模型:基本模型定义为特征空间上的间隔最大的线性(或非线性)分类器,学习策略便是间隔最大化,将问题最终转化为一个凸二次规划问题的求解。
2.5.1 了解支持向量机 线性分类起源:逻辑回归:将特性的线性组合作为自变量,由于自变量的取值范围是负无穷到正无穷。因此使用Sigmoid函数将自变量映射到(0,1)上,映射后的值被认为是属于y=1的概率:
$$h_θ (x)=g(z)=g(θ^T X)=\frac {1}{1+e^{-θ^T X}}=
\begin{cases}
1\ \ \ \ \ \ 若y=1希望h_θ (x)≈1,θ^T X≫0 ) \\
0\ \ \ \ \ \ 若y=0希望h_θ (x)≈0,θ^T X≪0)
\end ...
2.4 贝叶斯分类器
基本概念:
客观概率:指一件事已经发生的频率,即频率流派。
主观概率:个人主观概率, 表明对某个事物发生的相信程度,即贝叶斯流派。
贝叶斯统计三要素:由先验概率\(P(A)\)和条件概率\(P(B|A)\), 得到后验概率\(P(A|B)\).
贝叶斯分类器决策步骤:
定义并区分现象和规律。
获取整个规律空间,得到某一规律的概率分布: \(P(规律)\)。
获取整个现象空间,得到某一现象的概率分布: \(P(现象)\)。
获取某一现象先验概率: \(P(现象|规律)\)。
根据贝叶斯概率公式求解后验概率, 得到假设空间的后验概率分布:P(规律|现象) = P(现象|规律) P(规律)/ P(现象)
找到有最大值的后验概率的规律,完成分类操作。
对贝叶斯分类器的理解: 两个一模一样的碗,一号碗有30颗水果糖和10颗巧克力糖,二号碗有水果糖和巧克力糖各20颗。现在随机选择一个碗,从中摸出一颗糖,发现是水果糖。请问这颗水果糖最可能来自几号碗?
定义和区分现象和规律:两个规律(从一号碗来的规律,从二号碗来的规律)、两种现象(水果糖现象,巧克力现象)。
获取整个规律空间概率分布: ...
2.3 决策树
决策树是通过一系列规则对数据进行分类的过程。决策树分为分类树和回归树两种,分类树对离散变量做决策树,回归树对连续变量做决策树。作为分类、预测问题的典型支持技术,它在用户划分、行为预测、规则梳理等方面具有广泛的应用前景。缺点:趋向过拟合,可能或陷于局部最小值中,没有在线学习。
决策树的分类过程:
特征选择:从训练数据中众多的特征中选择一个特征作为当前节点的分裂标准,如何选择特征有着很多不同量化评估标准标准,从而衍生出不同的决策树算法。
决策树生成:根据选择的特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树生长。
剪枝:在决策树构造时,由于训练数据中的噪音或孤立点,许多分枝反映的是训练数据中的异常,使用这样的判定树对类别未知的数据进行分类,分类的准确性不高。因此试图检测和减去这样的分支,检测和减去这些分支的过程被称为树剪枝。
作用:剪枝可缩小树结构规模,消除过拟合。
剪枝评测标准:在决策树的不断剪枝操作过程中,将原样本集合或新数据集合作为测试数据,检验决策树对测试数据的预测精度,并计算出相应的错误率,若剪掉某个子树后的决策树对测试数据的预测精度或其他测度不降低,那 ...
2.2 KNN算法
KNN全名是k-Nearest Neighbors,实际上KNN算法也可以用来做回归,这里只讨论分类。算法基本思想:若一个样本在特征空间中的k个最相似的样本中,属于某一个类别最多,则该样本也属于这个类别,通过计算欧氏距离来选定相似样本。
算法过程:
将已经分好类的样本的特征输入,作为“参考样本”,也就是下一步的输入的未知样本的“邻居”。
输入待分类样本,通过这个样本的周围最近的K个已经分好类的邻居的类别来判断它的类别。若在这K个邻居中,某个类的数量最多,那么判断该样本为此类。
算法特点:
属于监督学习(数据集是带label的数据),但没有明显的前期训练过程。
被分好类的新样本,不作为下一个需要分类的样本的参照样本。
K值选择:
参数K取奇数为佳。
K取值不宜太小,以消除噪声影响,但过大又会使分类边界模糊,故 \(K\) 值需要进行参数优化。
算法举例:
图中的数据集是良好的数据,即都打好了label,一类是蓝色的正方形,一类是红色的三角形,那个绿色的圆形是待分类的数据。
如果K=3,那么离绿色点最近的有2个红色三角形和1个蓝色的正方形,这3个点投票,于是绿色的这 ...
2.1 回归算法
在监督学习中有一个有标签的训练集,目标是找到能够区分正样本和负样本的决策边界,通过一系列输入数据的特征和输入数据的标签,拟合一个假设函数。
2.1.1 线性回归算法2.1.1.1 单变量线性回归Linear regression with one variable,以房价模型为例:
单变量线性回归模型假设:\(h_θ (x)=θ_0+θ_1 x\)
\(M\)为训练集中实例的数量;\(x\)为特征/输入变量;\(y\)为目标变量/输出变量;\((x,y)\)代表训练集中的某个实例;\(((x^{(i)} ,y^{(i)})\)为训练集中的第\(i\)个实例;\(h\)表示假设函数;\(θ_0, θ_1 \)为模型参数.
平方误差代价函数:
J(θ_0,θ_1)=1/2m ∑_{i=1}^m(h_θ (x^{(i)})-y^{(i)})^2
建模误差:模型所预测的值与训练集中实际值之间的差距。
实现建模目标:寻找可以使得建模误差的平方和能够最小的模型参数\(θ0, θ_1\),获取平方误差代价函数的值最小\(minimize{θ0,θ_1} J(θ_0,θ_1 )\),实现训练集与最 ...