2-机器学习入门-读书笔记
本笔记根据PaddlePaddlePPT中第2章内容整理总结。
1. 概论
1.1 学科定义
- 机器学习(Machine Learning):是计算机系统用于逐步改善其在特定任务上的性能的算法和数学模型的研究。
1.2 机器学习方法
-
有监督学习(Supervised Learning):从已标注数据中学习出函数,由此预测下一结果。其任务包括分类与回归。
-
无监督学习(Unsupervised Learning):根据未标注数据的统计规律进行样本分析。其任务如聚类。
-
半监督学习(Semi-supervised Learning):结合已标注数据和未标注数据进行分类学习。
-
增强学习(Reinforcement Learning):不断与环境进行交互,由试错的方式获得最佳策略。
-
多任务学习(Multi-task Learning):把多个相关的任务放在一起同时学习。
2. 问题提出
- 鸢尾花分类任务
3. 机器如何学习
3.1 数据预处理
3.1.1 数据清洗
- 数据的完整性
- 数据的唯一性
- 数据的合法性
- 数据的权威性
- 数据的一致性
3.1.2 数据采样
- 数据不平衡(Imbalance):数据集的类别分布不均。
- 解决方法:
- 过采样(Over-Sampling):随机复制少数类来增加其在样本中的代表性。
- 欠采样(Under-Sampling):随机消除多数类来平衡两类间的分布。
3.1.3 数据集拆分
- 机器学习中将数据划分为3份:
- 训练数据集(Train Dataset):用来构建机器学习模型。
- 验证数据集(Validation Dataset):用于评估模型并求出无偏估计,来调整模型参数。
- 测试数据集(Test Dataset):用来评估训练好的最终模型的性能。
- 常用拆分方法:
- 留出法(Hold-Out):将数据集划分为互斥的集合,并保持数据一致性。
- K-折交叉验证法:将数据集分为K个相似互斥子集,并保持数据一致性。
3.2 特征工程
3.2.1 特征编码
- 独热编码(One-Hot Encoding):用N位状态寄存器编码N个状态,其中独一位有效。
- 语义编码(Semantic Coding):使用语言乙表达语言甲所有的词汇的一种方法。
3.2.2 特征选择
- 过滤法(Filter):由相关性对特征评分,设定阈值来选择特征。
- 包裹法(Wrapper):选定特定算法,由不断的启发式方法搜索特征。
- 嵌入法(Embedded):利用正则化思想,将特征属性的权重调整到0。
3.2.3 特征降维
- 主成分分析(PCA):映射原特征空间到正交特征空间,由SVD得特征向量。
- 线性判别分析(LDA):将标注类别的数据集投影到一条直线,使其分类。
3.2.4 规范化
- 标准化:减去均值后除以方差,使之缩到特定小区间。
- 区间缩放:将属性缩放到一个指定最大和最小值之间。
- 归一化:将某一属性特征的模长转化为1。
3.3 数据建模
3.3.1 分类问题
- 分类问题:从数据中学习得分类模型,对新输入做输出预测。是监督学习的一个核心问题。
- 决策树:
- 决策树(Decision Tree):树结构,非叶节点为特征属性,分支边为特征属性的输出,叶节点存放类别。
- 父节点、子节点:父节点和子节点是相对的,子节点由父节点分裂而来,子节点字作为新的节点继续分裂。
- 根节点:没有父节点的节点。
- 叶节点:没有子节点的节点。
- 决策过程:
- 特征选择:选取对训练数据具有分类能力的特征。
- 决策树生成:在决策树各节点选择特征,递归构建决策树。
- 决策树剪枝:剪掉已生成树的子树或叶节点,简化树模型。
- 信息熵:表示随机变量的不确定性,熵越大不确定性越大。
- 信息增益:信息增益=信息熵(前)-信息熵(后)
- 信息增益比: =惩罚参数*信息增益。特征个数多,惩罚参数小。
- 基尼系数:集合的不确定性,系数越大,不平等程度越高。
- 预剪枝:通过提前停止树的构建而对树修剪。
- 后剪枝方法:用叶节点代替置信度低的节点子树,标记类标号。
- 贝叶斯:
- 贝叶斯分类:基于贝叶斯定理和属性特征条件独立性的分类方法。
- 贝叶斯公式:
- 拉普拉斯修正:
- a.先验概率拉普拉斯修正:
- b.条件概率拉普拉斯修正:
- SVM:
- 支持向量机(Support Vector Machine,SVM):建立最优决策超平面,使其两侧距离最近的两类样本距离最大化。
- 逻辑回归:
- 线性回归(Linear Regreesion ):能够用一个直线较精确地描述数据之间的关系。
- 逻辑回归(Logistics Regression):构造广义线性回归函数,由sigmoid函数将回归值映射到离散类别。
- a.二项逻辑回归模型:
- b.多项逻辑回归模型:
- 最大熵模型:保留全部的不确定性,将风险降到最小。
- 集成学习:
- 集成学习(Ensemble Learning):让多个弱分类器共同学习,构建一个强分类器。
- 强可学习:存在多项式学习算法能学习它,且正确率很高。
- 弱可学习:存在多项式学习算法能学习它,其正确率随机采策略好。
- Bagging(booststrap aggregating):基于数据随机重抽样的分类器构建方法。
- Boosting(提升方法,Adaptive Boosting简称):通过集中关注被分类错误样本的分类器构建方法。
3.3.2 回归问题
- 线性回归:假设特征和结果满足线性关系。
- 岭回归:正则化因子为模型参数的二范数时的回归方法。
- Lasso回归(LASSO,Least Absoulute Shrinkage and Selection Operator,最小绝对收缩选择算子):构造惩罚函数得到精炼模型,设定某些系数为0.
3.3.3 聚类问题
- 聚类问题:感知相似度,类别归纳,预测新输入对应的输出。
- K-means(K-均值/K-平均):随机确定K中心点为聚类中心,分配数据,形成K个聚类,计算平均中心点,直到不再变化。
- 高斯混合聚类(Gaussian Mixed Model):多个高斯分布函数的线性组合,以高斯分布为模型。
- 密度聚类:基于可连接性扩展聚类簇得到最终聚类结果。
- 层次聚类:在不同层次划分数据集,形成树形聚类结构。
- 谱聚类(Spectral Clustering,SC):基于图论,划分带权无向图为多个最优子图。
3.3.4 其它问题
- 隐马尔科夫模型:描述由隐马尔科夫链随机生成观测序列的过程。
- LDA主题模型(Latent Dirichlet Allocation,LDA,隐含狄利克雷分布):文档主题生成模型,识别语料库中的主题信息。
- 条件随机场(Conditional Random Field,CRF):利用丰富的内部及上下文特征信息标注位置。
3.4 结果评估
- 泛化误差:在“未来”样本上的误差。
- 经验误差:在训练集上的误差。
- 性能评价指标-分类
- 准确率(Accuracy):分类正确的记录个数占所有样本个数的比例。
- (TP真正例、FP假正例、FN假反例、TN真反例)
- 平均准确率(Average Per-class Accuracy):每个类别下的准确度的算数平均。
- 精确率(Precision):分类正确正样本个数占所有正样本个数的比例。
- 召回率(Recall):分类正确的正样本个数占正样本个数的比例。
- F1-Score:精确值与召回率的调和平均值。
- ROC(Receiver Operating Characteristic):纵轴:真正例率TPR;横轴:假正例率FDR
- AUC(Area under the Curve):ROC曲线下的面积。
- PR曲线:按正例可能性对样例排序,把样本作为正例预测。
- 性能评价指标-回归
- 平均绝对误差(Mean Absolute Error,MAE):又称为l1范数损失(l1-norm loss)
- 平均平方误差(Mean Squared Error,MSE):又称为l2范数损失(l2-norm loss)
- 均方根差(Root Mean Square Error,RMSE):其数值常为模型预测的量或是被观察到的估计值。
- R平方(R Squared):衡量回归方程与真实样本输出间的相似程度。
- 性能评价指标-聚类
- 外部指标:
- Jaccard系数,FM系数,Rand系数,纯度purity,熵entropy,互信息,Adjusted Rand Index(ARI),F-measure,Probabilistic Rand Index(PRI)
- 内部指标:
- DB指数(Davies-Bouldin Index,DBI):衡量同一簇中数据的紧密性,越小越好。
- Dunn指数(Dunn Index,DI):衡量同一簇中数据的紧密性,越大越好。
- Silouette:衡量同一簇中数据的紧密性,越大越好。
- Modurity:衡量模块性,越大越好。
4. 课程实践
- 鸢尾花分类