tips:sigmoid函数转换
损失函数:极大似然函数
求解算法:梯度上升(特征归一化处理)
缺点:对特征的多重共线性敏感
tips:条件概率;GaussianNB要求特征的先验概率为正态分布
损失函数:交叉熵损失函数
求解算法:极大似然估计
缺点:对特征的独立性要求和特征取值的分布要求较高
tips:二分类;内机核函数、支持向量、几何间隔、最优超平面;拉格朗日对偶
目标函数:找到超平面使得样本点到超平面的最小几何距离最大化
优点:支持向量起决定性作用,一定程度的鲁棒性及一定程度上避免维度灾难;
缺点:涉及矩阵运算,大样本计算量过大;解决多分类有困难。
tips:距离度量的选择
缺点:计算量大(需要计算未知样本到所有样本的距离,可以事先筛选)、内存开销大(树的存储)、效率低(样本索引速度较慢,可以通过构建kd-tree等优化)、可解释性差、对高维数据敏感(近邻间的距离可能会被大量不相关特征所支配,可通过加权优化)。
算法 | 支持模型 | 树结构 | 结点划分依据 | 连续特征处理 | 缺失值处理 | 剪枝 |
ID3 | 分类 | 多叉树 | 信息增益 | 不支持 | 不支持 | 不支持 |
C4.5 | 分类 | 多叉树(效率低) | 信息增益比 | 离散化 | 缺失特征的样本划分给所有叶节点 | 支持 |
CART | 回归&分类 | 二叉树 | 均方误差MSE、 Gini系数 |
离散化 | 支持 | 支持(如代价复杂性剪枝CCP) |
缺点:容易过拟合;样本变动引起树结构的剧烈改变(改进:集成学习);寻找最优决策树是通过启发式方法MSE/Gini系数,容易陷入局部最优(改进:集成学习);特征的样本比例过大时,决策树容易偏向这些特征(改进:加权)。
tips:随机放回抽样、特征子集、多数表决(分类)或简单平均(回归)、oob error
分裂准则:MSE/Gini
优点:可以处理高维、不平衡数据;并行化
缺点:噪声造成过拟合(优化:控制树深度、叶子结点样本数、最小不纯度减少等);取值较多的属性会产生更大影响
tips:损失函数的负梯度值拟合残差、多个CART树的累计、学习率
损失函数(常见):MSE/Huber(回归)、交叉熵(分类)
划分准则、叶子结点取值:使得损失函数极小化
缺点:难以并行训练;数据维度较高时计算复杂度高(树分裂时特征的选择以及阈值的确定)
tips:目标函数中的正则化项、损失函数的泰勒展开、每个样本点会落到叶子结点
目标函数:损失函数+正则化项(对树复杂度的惩罚:深度、叶子结点个数、叶子结点取值)
分裂准则:增益(剪枝后误差增加最少的特征及特征阈值)
GBDT与Xgboost:
可并行的近似直方图算法,根据分位数选出可能成为分裂点的候选特征,计算最佳分割点。
速度、内存优化(连续特征的直方图算法);Leaf-wise算法;数据并行、特征并行、投票并行
tips:极小化指数损失函数等价于最小化误分率
损失函数:指数损失函数
步骤:样本权重初始化——>误分率——>分类器权重——>样本权重更新——>分类器整合
分裂准则:最小化误分率
优点:精度高
缺点:对异常样本敏感(高权重)
步骤:初始质心——>K近邻——>重新计算质心——>迭代直到质心不变或质心变化小于设定的阈值
缺点:人工指定K;对初始质心敏感(局部最优,改进:初始点选择尽可能远);对噪声敏感(优化:离群点检测和剔除);不能处理非球形簇、不同尺度和不同密度的簇。
样本点分类:核心对象CORE、密度可达点REACHABLE、异常点OUTLIER
步骤:找一个没有类别的CORE点作为种子,找到它可以密度可达的样本点(可能包含多个CORE,密度可达的传递性),即为一个簇。迭代这个过程直到所有CORE有类别。
优点:可以发现任何形状的簇;可以发现异常点且对异常点不敏感;无需指定类的数目。
缺点:时间复杂度(搜索树的构造以及最近邻查找的计算量,优化:ball-tree、kd-tree、R-tree索引);对参数 敏感;不适合密度差异很大的数据集。