机器学习
Section 01(特征:抽取<值化>,预处理,降维)
主成分分析pca的原理没有学习看这个连接【需要了解】
交叉表【需要了解】
概念
- 监督学习:有特征值和目标值
- 聚类
- 无监督学习:有特征值无目标值
- 离散【区间内不可分】:分类
- 连续【区间内可分】:回归
Section 02
数据集划分
训练数据:用于训练,构建模型
测试数据:在模型检验时使用,用于评估模型是否有效
在sklearn中,估计器(estimator)是一个重要的角色,分类器和回归器都属于estimator,是一类实现了算法的API
-
1、用于分类的估计器:
- sklearn.neighbors k-近邻算法
- sklearn.naive_bayes 贝叶斯
- sklearn.linear_model.LogisticRegression 逻辑回归
-
2、用于回归的估计器:
- sklearn.linear_model.LinearRegression 线性回归
- sklearn.linear_model.Ridge 岭回归
sklearn.neighbors k-近邻算法
- 需要标准化,要调参数k
- k值取很小:容易受异常点影响
- k值取很大:容易受最近数据太多导致比例变化
- 优点:
简单,易于理解,易于实现,无需估计参数,无需训练 - 缺点:
懒惰算法,对测试样本分类时的计算量大,内存开销大
必须指定K值,K值选择不当则分类精度不能保证
朴素贝叶斯
- 优点:不用调参数,
- 缺点:特征独立,依赖训练集的精度和数量
- 【遗留问题】:不知道小数在贝叶斯公式里怎么计算
评价标准
- 准确率(有没有错)
- 召回率(有没有查全,务必不可放过)
- 精确率(查出来的有几个是真的)
- 交叉验证和网格搜索GridSearchCV
- 传入估计器,超参数,几折交叉数
决策树和随机森林
- 信息论
- 熵:用来描述属性的不纯度(不确定性)
- 熵的理解
- 熵就是信息量的数学期望;条件熵就是在新条件下熵(本质也是信息量的)的数学期望;两熵之差就是信息增益(决策树的分类依据之一);
- 决策树就是按照特征信息增益的大小顺序进行决策;
- 决策树在训练集表现的非常好,在测试集不行称为过拟合
- 随机森林参数(集成学习方法,选择多个模型一起评估)
- 决策树数量,树的深度,特征选择
- 不需要降维
- 决策树解决过拟合(区别离散和连续数据的过拟合解决方法):随机森林、删叶子节点
开始迭代算法:回归,神经网络
-
回归:采用最小二乘法的测量(损失函数的建立,评估预测和真实的偏差)
- 使用函数推导or梯度下降对损失函数的参数求解
- 需要标准化<特征值和目标值要分别标准化,因为大家的方差不一样>(k-近邻也需要)
- 性能评估(metric模块 ):均方误差
-
回归选择方式的区别
- 函数推导:样本大了消耗性能,适用性小(无法解决过拟合问题)
- 梯度下降:需要选择学习率,适用性大;迭代收敛
-
了解欠拟合(underfitting)与过拟合(overfitting)
- 过拟合:学习了训练集里的局部特征,而不是一般特征,学的特征太多了;
- 识别方式:通过交叉验证,结果是训练集表现好,测试集表现差
- 解决方法:去噪
- 欠拟合:学的特征太少了;
- 识别方式:通过交叉验证,结果是训练集和测试集表现都不好
- 解决方法:增加特征
- 过拟合:学习了训练集里的局部特征,而不是一般特征,学的特征太多了;
正则化
- 特征选择:过滤式(低方差特征),包裹式,嵌入式
- 嵌入式包含正则化、神经网络和决策树(选择重要的特征)
- 正则化(解决过拟合):普通的线性回归容易出现过拟合,是因为先把所有的数据都拟合进去。正则化就是减少复杂关系的特征的权重
- 可以采用Ridge回归(正则化的方式):尝试让某些特征的权重变小,适用病态数据较多的情况
- 超参数:正则化力度(越大权重就越小,模型越简单)、回归系数
Section 03 逻辑回归、
逻辑回归(解决二分类问题)
-
可以得到概率值
-
输入和线性回归一样,也会有过拟合问题
-
采用罗杰斯特(sigmoid)函数把值转化到0-1之间{可以映射概率};分类的时候可以把<0.5的视为0,反之为1
-
-
-
-
在线性回归模块下的逻辑回归模块
-
逻辑回归处理二分类问题,一般定概率小得来计算
-
需要标准化(已经sigmode了 ),目标值不用标准化(是分类问题)
-
正则化 L2,正则化力度C
-
迭代收敛
生成模型(需要先验概率比如朴素贝叶斯)和判别模型
聚类
- 聚类做在分类前,方便分类
- 聚类评估标准:外部距离大,内部距离小;
- 轮廓系数:(外部距离-内部距离)/max(外部距离,内部距离)[-1,1]
- 迭代收敛;
- 针对局部最优,可以多次的方式处理