又八小时复习一门嗷
参考资料
坤坤的ppt
咩咩的幕布
筏筏的笔记
第一讲,机器学习导论
- 三个概念的区分
- 数据挖掘:从现有的大数据中提取数据的模式和模型,构建假说而非证明假说。
- 机器学习:自动地从过往经验中学习新的知识。
- 人工智能:一个广泛的概念,本质是用数据和模型去为现有问题提供解决方案。
- 机器学习的应用主要集中于:分类和问题求解
- 分类:
- 监督学习:输入数据被称为“训练数据”,每组训练数据,有明确的标识或结果。常用于分类问题或回归问题,常用算法如逻辑回归和反向传递神经网络。(决策树,朴素贝叶斯,逻辑回归,KNN,随机森林,神经网络,SVN)
- 无监督学习:数据并不被特别标识,学习模型是为了推出数据的一些内在结构。应用场景:关联规则的学习,聚类等。常见算法:Apriori, k-Means
- 半监督学习:分类包括回归、聚类、降维
- 强化学习(RL)
- 机器学习流程
- 数据预处理:清理,集成,转换,规约
- 模型学习:保留交叉验证,k重交叉验证
- 模型评估:过拟合,欠拟合
- 预测
- 模型评估:
- 欠拟合:线性模型,拟合程度过低,不能很好地适应训练集
- 解决:增加新特征,可以加入新特征组合,高次特征;尝试非线性模型。
- 过拟合:非常好地适应训练集,但新输入变量预测时效果可能不好
- 解决:增加训练数据;减少特征数;交叉验证选较优的模型参数;正则化
- 混淆矩阵:分类问题的评估
. 1(应为正) 0(应为负) 1(判断为正) TP(正确接受) FP(误报) 0(判断为负) FN(漏报) TN(正确拒绝) - 准确率Accuracy: T P + T N T P + F P + F N + T N \frac{TP+TN}{TP+FP+FN+TN} TP+FP+FN+TNTP+TN,反映对整体样本的判定能力
- 精确率Precision: T P T P + F P \frac{TP}{TP+FP} TP+FPTP,预测为正例的判断正确率
- 召回率Recall T P T P + F P \frac{TP}{TP+FP} TP+FPTP,真实为正的被正确判断出的比例
- F-Score: 2 P R R + P \frac{2PR}{R+P} R+P2PR,精确度和召回率的调和平均数,越接近1越好。
- ROC曲线:横坐标是假正率FPR,纵坐标是真正率TPR,应处于对角线的上方。
- AUC:定义为ROC曲线下的面积,通常大于0.5小于1,越大越好。
- PR曲线:横坐标是精确率P,纵坐标是召回率R,越平滑越好,越靠上越好。
- 回归问题的评估:
- 平均绝对误差MAE(L1)
- 平均平方误差MSE(L2)
- 均方根误差RMSE对异常点比较敏感
- 解释变异,根据误差的方差计算得到。
第二讲,决策树
- 运用于分类的一种树结构,每个内部节点代表对某个属性的一个测试(决策节点),边代表一个结果,叶节点代表某个类,二元分支用得最多。
- 生成决策树:首先对数据进行处理,利用归纳法生成可读得决策树和规则,再利用决策树对新数据进行分类。本质上是用一系列规则进行分类的过程,核心是递归分割的贪婪算法。
ID3
- ID3:在各个节点上对应信息增益准则选择特征,递归地构建决策树。从根节点开始选信息增益最大的特征为节点的特征,以该特征的不同取值构建子节点,在子节点上也调用以上方法。
- 信息熵:消除不确定性所需信息量的度量,也即未知事件可能含有的信息量, H = − Σ p ( x i ) l o g 2 p x i H=-\Sigma p(x_i)log_2p_{x_i} H=−Σp(xi)log2pxi,越大越混乱。
- 信息增益 G a i n ( A ) = I n f o ( D ) − I n f o A ( D ) Gain(A) = Info(D)-Info_A(D) Gain(A)=Info(D)−InfoA(D),取 G a i n ( A ) Gain(A) Gain(A)最大或 I n f o A ( D ) Info_A(D) InfoA(D)最小为划分节点.
- 优点:分类过程与领域知识无关;贪婪性与奥姆剃刀原理。
- 缺点:倾向选择属性值较多的属性;不适用于连续变量/只能用于分类;一次只用一个特征值;样本量过小时容易过度分类;对样本数据缺失的情况无法处理;不适合处理包含多重分支的特征值。
C4.5
- C4.5:以信息增益率代替信息增益的选择属性
- 改进:
- 能离散化地处理连续值:尝试取相邻值的中点作为分裂点
- 以信息增益率代替信息增益,可以避免偏向取值多的分支
- 剪枝:解决可能有噪声时的过拟合情况
- 能处理属性值缺失的情况:按比例划分
- S p l i t I n f o r m a t i o n ( D , A ) = − Σ i = 1 n ∣ D i ∣ ∣ D ∣ l o g ∣ D i ∣ ∣ D ∣ SplitInformation(D,A)=-\Sigma_{i=1}^n\frac{|D_i|}{|D|}log\frac{|D_i|}{|D|} SplitInformation(D,A)=−Σi=1n∣D∣∣Di∣log∣D∣∣Di∣
- 信息增益率 G a i n R a t i o = g a i n ( D , A ) / S p l i t I n f o r m a t i o n ( D , A ) Gain Ratio = gain(D,A)/SplitInformation(D,A) GainRatio=gain(D,A)/SplitInformation(D,A)
- G a i n ( A ) = F ( I n f o ( D ) − I n f o A ( D ) ) Gain(A)=F(Info(D)-Info_A(D)) Gain(A)=F(Info(D)−InfoA(D)),计算 I n f o ( D ) Info(D) Info(D)与 I n f o A ( D ) Info_A(D) InfoA(D)时将缺失值忽视,F为 − 总 量 − 缺 失 个 数 总 量 -\frac{总量-缺失个数}{总量} −总量总量−缺失个数,分裂时将缺失的实例分配给所有分支,但带权重(概率)
- 剪枝:预剪枝:在完全正确分类训练集之前停止树的生长,设置阈值,信息增益小于阈值就停止分裂。后剪枝:完全生长后的树,对有通意父节点的所有节点进行检查,增益小于阈值则合并,自底向上。
- 后剪枝常用方法:训练过程中允许过拟合,测试集上定义损失函数,进行剪枝:
- 错误率降低剪枝Reduced Error Pruning
- 悲观错误剪枝 Pesimistic Error Pruning
- 缺点:构造树时效率低;有连续量更低;只适合驻留内存的数据集;未考虑条件属性间的相关性。
CART
- 分类回归树,是一棵二叉树。当为分类树时,使用GINI值;回归树时使用样本的最小方差。
- 找到所有分类子集,选择能产生最小GINI指标(不确定性最小)的子集询问是否,作为二叉分类。
- 缺点:单特征决定分类,而非多特征共同决定;数据微小变化会造成树结构的很大改变。
算法 | 模型 | 树结构 | 特征 | 连续值处理 | 缺失值处理 | 剪枝 |
---|---|---|---|---|---|---|
ID3 | 分类 | 多叉 | 信息增益 | 不支持 | 不支持 | 不支持 |
C4.5 | 分类 | 多叉 | 信息增益比 | 支持 | 支持 | 支持 |
CART | 分类、回归 | 二叉 | GINI系数/均方差 | 支持 | 支持 | 支持 |
第三讲,朴素贝叶斯与KNN
朴素贝叶斯
- 朴素贝叶斯: P ( Y k ∣ X ) = P ( X Y k ) P ( X ) = P ( Y k ) P ( X ∣ Y k ) Σ j P ( Y j ) P ( X ∣ Y j ) P(Y_k|X)=\frac{P(XY_k)}{P(X)}=\frac{P(Y_k)P(X|Y_k)}{\Sigma_jP(Y_j)P(X|Y_j)} P(Yk∣X)=P(X)P(XYk)=ΣjP(Yj)P(X∣Yj)P(Yk)P(X∣Yk),假设自变量的条件概率在统计上是独立的。
- 优势在于仅需少量的数据集来估计必要参数,朴素贝叶斯学习器与分类器可以非常快。
- P ( y e s ∣ E ) = P ( y e s ⋅ E ) P ( E ) = P ( y e s ) ⋅ P ( E ∣ y e s ) P ( E ) P(yes|E)=\frac{P(yes·E)}{P(E)}=\frac{P(yes)·P(E|yes)}{P(E)} P(yes∣E)=P(E)P(yes⋅E)=P(E)P(yes)⋅P(E∣yes)
- 避免0概率问题:朴素贝叶斯预测要求每个条件概率都不为0,否则预测概率将为0.
拉普拉斯校正:为每个案例添加1:0/1000,990/1000,10/1000
->1/1003,991/1003,11/1003
- 总结:简单的分类器,基于贝叶斯定理,监督学习,容易构建,训练速度快,要求样本属性独立。
KNN
- KNN:找出与目标最接近的K个样本,将目标划分到找出的k个样本中最频繁的类。
KNN是一个懒惰算法,没有训练过程,直接使用,复杂度O(n). - 步骤
- 计算数据集中每个点与当前点的距离
- 选取与当前点最近的k个点
- 统计前k个点中每个类别的样本出现的频率
- 选取出现频率最高的样本作为当前点的预测分类
- 距离选择
- 欧几里得距离: d ( a , b ) = Σ ( a i − b i ) 2 d(a,b)=\sqrt{\Sigma(a_i-b_i)^2} d(a,b)=Σ(ai−bi)2
- 曼哈顿距离: d ( a , b ) = Σ ∣ a i − b i ∣ d(a,b)=\Sigma|a_i-b_i| d(a,b)=Σ∣ai−bi∣
- 明考斯基距离: d ( a , b ) = ( Σ ( a i − b i ) p ) 1 p d(a,b)=(\Sigma(a_i-b_i)^p)^{\frac1p} d(a,b)=(Σ(ai−bi)p)p1
- k越大,边界会越平滑,降低噪声的影响。
- 优化方法:特征降维,模式聚合。
- 总结:简单并且合乎逻辑,由K值选择驱动。
第四讲,线性回归与逻辑回归
线性回归
- 区分分类与回归的关键是看输出变量是连续变量还是离散变量。
- 线性回归:利用被称为线性回归方程的最小平方函数对一个和多个自变量和因变量之间的关系进行建模的一种分析,属于监督学习。
- 拟合式:
h
θ
(
x
)
=
Σ
i
=
0
n
θ
i
x
i
=
θ
T
x
(
x
0
=
1
)
h_\theta(x)=\Sigma_{i=0}^n\theta_ix^i=\theta^Tx(x_0=1)
hθ(x)=Σi=0nθixi=θTx(x0=1)
损失函数(均方差函数) J θ = 1 2 Σ 1 n ( h θ ( x ( i ) ) − y ( i ) ) 2 J_\theta=\frac12\Sigma_1^n(h_{\theta}(x^{(i)})-y^{(i)})^2 Jθ=21Σ1n(hθ(x(i))−y(i))2越小,拟合度越高。 - 梯度下降法:每次向当前能够下降最大的方向前进一小步,最后可以得到一个局部最小值。
α
\alpha
α又叫学习率。
- 初始化 θ \theta θ
- 每次根据所有数据求出偏导数,然后根据步长 α \alpha α去更新 θ j \theta_j θj
- 当 J ( θ ) J(\theta) J(θ)趋近于0或者不能继续减少的时候,称为收敛。
- 改进:随机梯度下降算法(增强题度下降算法),每次只用训练集中的一个数据。
- 局部加权线性回归LWLR:给待测点附近的点更大的权重(高斯核),用户指定唯一的参数k。
逻辑回归Logistic
- 逻辑回归:一种解决二分类问题的机器学习方法,用来估绩某种事物的可能性。
- S i g m o i d 函 数 : g ( z ) = 1 1 + e − z Sigmoid函数:g(z)=\frac1{1+e^{-z}} Sigmoid函数:g(z)=1+e−z1。值域在0到1之间,z取0时为0.5。
- h θ ( x ) = 1 1 + e − θ T ∗ x h_\theta(x)=\frac1{1+e^{-\theta^T*x}} hθ(x)=1+e−θT∗x1 ,大于等于0.5时认为会发生,小于时认为不会。
- 线性回归要求最小误差,所以要梯度下降;而logistic像要求最大概率值,所以是梯度上升。
- 优点:计算代价不高,易于理解和实现,不要求线性关系,可以用于分类问题。
- 缺点:容易欠拟合,分类精度可能不高,需要较大样本。
- 适用数据类型:数值型和标称型数据。
- 牛顿法为二阶收敛,比梯度下降的一阶收敛更快。
第五讲,回归分析
- 回归分析步骤:确定解释和被解释变量;构建回归方程;对回归方程进行检验;使用方程进行预测
- 多项式回归:二元二次项展开后会增加模型的复杂度,容量和拟合数据的能力提升,可以降低训练误差;但过拟合风险也提升。
- 三次及以上的多项式回归较少使用
- 逐步回归:最优回归方程,只引入对因变量有显著作用的自变量进入回归方程。每一步只引入或剔除一个自变量。
- 前进法:自变量从无到有,从少到多,不会被剔除。(后续引入的变量可能使已引入的不重要)
- 后退法:先全引入,再逐步剔除,剔除后就不会再加入。(开局可能剔除后来很有作用的变量)
- 逐步筛选法:在前进的流程中加入了后退,即每一次引入后检测所有变量是否需要被剔除。
- 主要作用:降维。
- 岭回归
β
^
=
(
x
′
x
+
k
l
)
−
1
x
′
y
\hat\beta=(x'x+kl)^{-1}x'y
β^=(x′x+kl)−1x′y,岭回归是有偏估计。
- 岭回归是最小二乘法的改进,可以避免自变量之间存在多重共线性。
- 岭参数k的选择:岭迹法、方差扩大因子、用残差平方和来确定k值。
- lasso回归:一种数据降维方法。
- 高维数据会导致数据灾难,即分析困难,容易过拟合,需要更多样本,难以预测。
- 主成分分析法:通过单一变量的线性组合得到主成分,从而降维,但仍只适用于数据数量大于维数的情况。
- 正则化方法:L1正则化。
- lasso回归会将很多系数收缩至0,有助于特征选择。
- 与岭回归相比,惩罚部分使用绝对值而非平均方值;使一些参数估计结果为0.
- 回归分析检验:
- 可决系数
R
2
=
Σ
(
y
^
i
−
y
‾
)
2
Σ
(
y
i
−
y
‾
)
2
=
E
S
S
T
S
S
R^2=\frac{\Sigma(\hat y_i-\overline y)^2}{\Sigma(y_i-\overline y)^2}=\frac{ESS}{TSS}
R2=Σ(yi−y)2Σ(y^i−y)2=TSSESS
0 < R 2 < 1 0<R^2<1 0<R2<1,越靠近1,拟合效果越好。同时表示被解释变量的变动中,由模型中解释变量所引起的比例。 - 校正可决系数 R ‾ 2 \overline R^2 R2,F检验,t检验。
- 可决系数
R
2
=
Σ
(
y
^
i
−
y
‾
)
2
Σ
(
y
i
−
y
‾
)
2
=
E
S
S
T
S
S
R^2=\frac{\Sigma(\hat y_i-\overline y)^2}{\Sigma(y_i-\overline y)^2}=\frac{ESS}{TSS}
R2=Σ(yi−y)2Σ(y^i−y)2=TSSESS
第六讲,聚类分析
- 聚类:将同类型样本聚为不同类别,类内间距小,类间间距大,是一种无监督学习。
- 典型距离:
d
(
x
i
,
y
i
)
=
Σ
(
x
i
u
−
y
i
u
)
2
d(x_i,y_i)=\sqrt{\Sigma(x_{iu}-y_{iu})^2}
d(xi,yi)=Σ(xiu−yiu)2,欧几里得距离。
d ( x i , y i ) = Σ ( ∣ x i u − y i u ∣ ) d(x_i,y_i)=\Sigma(|x_{iu}-y_{iu}|) d(xi,yi)=Σ(∣xiu−yiu∣),曼哈顿距离 - 余弦相似度 c o s ( x i , y i ) = x i T x j ∣ ∣ x i ∣ ∣ ∣ ∣ x j ∣ ∣ cos(x_i,y_i) = \frac{x_i^Tx_j}{||x_i|| ||x_j||} cos(xi,yi)=∣∣xi∣∣∣∣xj∣∣xiTxj(逐项相乘之和除以模的积)
- KMeans:
- 随机选择k个样本作为聚类中心
- 开始以下迭代:
- 对每个样本归类,归入最近的聚类中心。
- 以每个聚类的均值作为新的聚类中心。
- 直至中心不再改变。
- 优点:容易被理解,易实现;效率高。
- 缺点:需要事先指定聚类数目k;对异常值很敏感;对初始聚类中心敏感;不适合形状不是超维椭圆体的聚类。
- 层次聚类:自底向上合并或自顶向下分裂,合并或分裂的度量基于相似度选择。
- AGENS是代表性的合并聚类,每步找距离最近的两个类合并。
- 簇间距离度量:最小距离/最大距离 对离群点或噪声数据敏感,平均距离/均值距离 可以克服离群点敏感性问题。
- 总结:层次聚类简单,但会遇到合并与分类点选择的困难。伸缩性差,计算复杂度高。