目录
Datawhale 初级算法梳理 第6期(任务一)
1. 机器学习的一些概念
- 统计学习
统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习也称为统计机器学习。 - 监督学习
监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测。 - 无监督学习
给定的数据没有任何标签,通过聚类的方式,从数据中提取一个特殊的结构。 - 泛化能力
学习方法的泛化能力是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。 - 过拟合与欠拟合
过拟合其实就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳。
欠拟合指的是,提取的特征比较少,导致训练出来的模型不能很好地匹配,表现得很差。 - 交叉验证
如果给定的样本数据充足,进行模型选择的一种简单的方法是随机地将数据集切分成三部分,分别为训练集、验证集和测试集。训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。交叉验证的基本思想是重复的使用数据;把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择。
2. 线性回归的基本原理
回归是监督学习的一个重要问题。回归用于预测输入变量和输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。回归模型正是表示从输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:选择一条函数曲线使其很好的拟合已知数据且很好的预测未知数据。
线性回归,是指输入变量和输出变量之间的关系模型为,线性模型。
3. 线性回归损失函数、代价函数、风险函数、目标函数
- 损失函数
损失函数,或代价函数,用来度量模型一次预测的好坏。常用的损失函数有,0-1损失函数,平方损失函数,绝对损失函数,对数损失函数。 - 风险函数
风险函数,或期望损失,用来度量平均意义下模型预测的好坏。通常将风险函数作为目标函数,求解最优化问题,来选择最优的模型。
4. 优化方法
- 梯度下降法
梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是”最速下降法“。最速下降法越接近目标值,步长越小,前进越慢。梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解。 - 牛顿法
牛顿法是一种在实数域和复数域上近似求解方程的方法。方法使用函数的泰勒级数的前面几项来寻找方程的根。牛顿法最大的特点就在于它的收敛速度很快。 - 拟牛顿法
拟牛顿法的本质思想是改善牛顿法每次需要求解复杂的Hessian矩阵的逆矩阵的缺陷,它使用正定矩阵来近似Hessian矩阵的逆,从而简化了运算的复杂度。拟牛顿法和最速下降法一样只要求每一步迭代时知道目标函数的梯度。
5. 线性回归的评估指标
- 均方误差MSE,(平方和取平均值)
- 均方根误差RMSE,(平方和取平均值开根号)
- 平均绝对误差MAE,(绝对值取平均)
6. sklearn参数详解
KMeans 参数详解
- n_clusters:簇的个数,即你想聚成几类
- init: 初始簇中心的获取方法
- n_init: 获取初始簇中心的更迭次数,为了弥补初始质心的影响,算法默认会初始10次质心,实现算法,然后返回最好的结果
- max_iter: 最大迭代次数(因为kmeans算法的实现需要迭代)
- tol: 容忍度,即kmeans运行准则收敛的条件
- precompute_distances:是否需要提前计算距离,这个参数会在空间和时间之间做权衡,如果是True 会把整个距离矩阵都放到内存中,auto 会默认在数据样本大于featurs*samples 的数量大于12e6 的时候False,False 时核心实现的方法是利用Cpython 来实现的
- verbose: 冗长模式(不太懂是啥意思,反正一般不去改默认值)
- random_state: 随机生成簇中心的状态条件。
- copy_x: 对是否修改数据的一个标记,如果True,即复制了就不会修改数据。bool 在scikit-learn 很多接口中都会有这个参数的,就是是否对输入数据继续copy 操作,以便不修改用户的输入数据。这个要理解Python 的内存机制才会比较清楚。
- n_jobs: 并行设置
- algorithm: kmeans的实现算法,有:’auto’, ‘full’, ‘elkan’, 其中 ‘full’表示用EM方式实现
参考资料
【1】Sklearn参数详解—聚类算法
【2】常见的几种最优化方法
【3】机器学习:了解线性回归的原理