机器如何学习?
- 数据预处理(数据清洗、数据集成、数据采样)
- 特征工程(特征编码、特征选择、特征降维、规范化)
- 数据建模(回归问题、分类问题、聚类问题、其他问题)
- 结果评估(拟合度量、查准率、查全率、F1值、PR曲线、ROC曲线)
数据预处理
数据清洗:对各种脏数据进行对应方式的处理,得到标准、干净、连续的数据、提供给数据统计、数据挖掘等使用
- 数据的完整性
- 数据的合法性(例如获取的数据与常识不符)
- 数据的一致性
- 数据的唯一性
- 数据的权威性
数据采样:
- 数据不平衡——指数据集的类别分布不均(例如:一个二分类问题,100个训练样本,比较理想的情况是正类、父类相差不多;而如果正类样本有99个,父类样本仅1个,则意味存在类不平衡),此时预测时就算全部为正,准确率也为99%,这并不能反映模型的好坏
解决方法
——过采样:通过随机复制少类来增加其中的实例数量,从而可增加样本中少数类的代表性。
——欠采样:通过随机的消除占多数的类的样本来平衡类分布;直到多数类和少数类的实例实现平衡
数据集拆分
机器学习中将数据划分为三份
- 训练数据集:用来构建机器学习模型
- 验证数据集:辅助构建模型,用于在构建过程中评估模型,提供无偏估计,进而调整模型参数
- 测试数据集:用来评估训练好的最终模型的性能
常用拆分方法
- 留出法:直接将数据集划分为互斥的集合,如通常选择70%数据作为训练集,30%作为测试集。需注意的是保持划分后集合数据分布的一致性,避免划分过程中引入额外的偏差而对最终结果产生影响
- K-折交叉验证法:将数据集划分为k个大小相似的互斥子集,并且尽量保证每个子集数据分布的一致性。这样,就获取了K组训练-测试集,从而进行k次训练和测试,k通常取值为10.
特征工程
特征编码:数据集中经常会出现字符串信息,例如男女、高中低等,这类信息不能直接用于算法计算,需要将这些数据转化为数据形式进行编码,便于后期进行建模
- one-hot编码:采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并在任意时候只有一位有效(例如:统计商业大楼是否有无电梯,可以用01、10表示有无电梯
- 语义编码:one-hot编码无法体现数据见的语义关系,对于一些有关联的文本信息来说,无法真正体现出数据关联(对于这类信息通常采用词嵌入的方式是比较好的选择,词嵌入信息可以编码语义信息,生成特征语义表示)
特征降维:特征选择完成后,可能由于特征矩阵过大,导致计算量大、训练时间长,因此降低特征矩阵维度也是必不可少的
- 主成分分析:将原始特征空间映射到彼此正交的特征向量空间,在非满秩的情况下使用SVD分解来构建特征向量
- 线性判别分析:给出一个标注了类别的数据集投影到了一条直线之后,能够使得点尽量的按类别区分开
机器学习方法分类
分类问题
- 决策树
- 贝叶斯
- 支持向量机
- 逻辑回归
- 集成学习
回归问题
- 线性回归
- 岭回归
- Lasso回归
聚类问题
- K-means
- 高斯混合聚类
- 密度聚类
- 层次聚类
- 谱聚类
其他问题
- 隐马尔可夫模型
- LDA主题模型
- 条件随机场
- 神经网略
- 深度学习
来源:CSDN
作者:teletubbies-c
链接:https://blog.csdn.net/weixin_43717681/article/details/104199558