目录
Content
PCA(Principal Components Analysis) 主成分分析
-
主要用于对数据降维:把高维数据投影到方差最大的几个方向上
-
高维数据中有很多特征相关
-
高维数据难以计算
-
-
衡量指标
-
前K大个特征与总特征m之比
-
一般要大于85%
-
-
手推计算过程
-
降维问题实际上是一种基变换,当基的个数K小于数据维度N时,达到降维的目的
-
基变换的矩阵表示为:其中基为,每一条记录为
-
协方差矩阵:是一个实对称矩阵。负对角元素为字段a和b的方差,主对角元素为字段a和b的协方差。我们需要找到方差最大的方向,和字段之间无线性相关性(即协方差为0)的新的基。
-
实对称矩阵:设A为实对称矩阵,则存在正交矩阵Q,使得A对角化,即
由性质:1)不同特征值对应的特征向量必然正交;2)设特征向量λλ重数为r,则必然存在r个线性无关的特征向量对应于λλ,因此可以将这r个特征向量单位正交化。一个n行n列的实对称矩阵一定可以找到n个单位正交特征向量。 -
优化目标变成了寻找一个矩阵P,满足是一个对角矩阵,并且对角元素按从大到小依次排列,那么P的前K行就是要寻找的基,用P的前K行组成的矩阵乘以X就使得X从N维降到了K维并满足上述优化条件。P为协方差矩阵对角化的P
计算实例:求矩阵特征值与特征向量的步骤
求矩阵特征值与特征向量的步骤
具体例子:
KNN(K Nearest Neighbor) K近邻
KNN Regression:
, more flexible
, a traight line that is similar to linear regression
在高维数据下误差增大
LR(Logistic Regression)
相关问题
-
为什么不能用线性回归?
-
值域不同,LR是在(0,1)之间,而Linear Regression在取值
-
Linear Regression对所有点敏感
-
-
为什么使用Sigmoid函数?
-
取值在(0,1)之间
-
连续函数,求导方便
-
在靠近0附近对数据敏感,而对远离0的数据点鲁棒
-
model : :
可以解出 ,其中
接下来使用极大似然估计点方法求解损失函数,
1)首先根据伯努利公式,可得到一个点的概率密度函数:
其中y = {0或者1}。
2) 似然函数:
3)取对数:
- 要适当似然函数取到最大,对求导得到
5)利用梯度上升法可求解
OLS (Ordinary Least Squares)+ Lasso + Ridge
OLS
设 , 分别表述数据矩阵和标签向量
那么, 其中为列向量
损失函数为预测值尽可能靠近真实值,因此:
求导令其等于0,可解得解析解:
那么
Goodness of Fit:
Ridge Regression minimizes loss function:
主要:1)解决矩阵奇异 2)使预测值方差小
Lasso
主要解决:1)不重要的变量衰减至0
可以利用交叉验证定, 与OLS相同, 所有系数为0
SVM(Support Vector Machine)
线性可分的情况
线性可分的情况需要找到一个超平面(hyperplane)分开两类不同的点,标签。定义超平面为, 任意在该超平面的点满足 。
定义间隔(margin)为 , 表示支持向量到超平面的距离,即所有距离里的最小值。当间隔 越大,表示分类越正确。
对任意的点 到超平面的距离为 。距离可正可负,因此乘以 恒大于等于0。
因此上述问题可以写为一个凸优化问题:
令 , 上述等价于
又等价于
如何求解?首先转化为对偶问题:https://www.jianshu.com/p/96db9a1d16e9
对求导
因此
那么其对偶问题为:
Naive Bayse 朴素贝叶斯(生成模型)
假设某个体有n项特征(Feature),分别为 ; 有m个类别(Category),分别为。
由贝叶斯公式得到:
重要假设:所有特征条件独立
那么上式等价于:
最后计算出概率最大的那个分类:
离散的情况:可直接根据样本计算
连续的情况:假设服从正态分布,参数估计出
那么 再带回计算即可。
Tree-Based
A Single Tree : Grow a large tree, then prune it.
Nodes:Root Node、Terminal Node(Leaf Node)、Parent Node、Child Node
纯度(Impurity)是树分裂判断标准(Split Criteria),包括:Gini index、Entropy、Misclassification Error
- Gini index:
- Entropy:
- Misclassification Error:
以红色点和绿色点二分类为例子,
每次选择使纯度(Impurity)降低最多的划分,属于贪心算法,不是全局优化。
决策树足够大时,会出现过拟合。一般来说,会进行CCP剪枝。
CCP(Cost-Complexity Pruning): 实际上是纯度与模型复杂度的Trade Off, 模型复杂度(叶子结点的个数)作为正则项。
其中为叶子节点个数,为第t个小空间
优点:1)容易实现;2)可以做变量选择;3)交互项的影响可以表示;4)树小的时候模型解释性好;5)连续型和离散型变量均可;
缺点:2)不稳定:对扰动和噪声非常敏感
Bagging :Fit many large trees to bootstrap resampled versions of the training data, and classify by majority vote
1)有放回抽样至原来数据集大小。假设每次被采到的概率是,那么一次也没有采到的概率是, 当 。即每一颗树大约有1/3的数据没有使用,称之为袋外数据(Out of Bag)
2)采取Majority Vote的方式给出最后的分类
3)主要是降低方差
4)树与树之间是高度相关的(协方差高)
Random Forests:a random sample of m predictors is chosen as split candidates from the full set of p predictors (Usually ).
1)有放回的从所有特征里随机抽取m个特征,根据这m个特征构建树(小树即可)
2)减小树与树之间的相关性,能减少更多的方差
3)优点
- 几乎没有需要提前设置的参数
- 高维度数据依然可行
- 可以输出特征的重要性
AdaBoost :调整分类错误的数据点的权重
1)每一次新建一颗树都是在上一颗分类结果上调整权重后,初始权重均为
2)权重调整公式:
最后renormalize ,使得和为1;
其中
可以看到 ,当时, ,意思是有一半的分类是错误的。而我们知道完全随机的情况,猜错的概率为1/2,因此如果该树具有一定的判断能力,那么一定有。 此时,对于错误的分类的权重会变大。
最后的分类结果:
网友评论