机器学习——分类、回归、聚类、LASSO回归、Ridge回归(自用)
纠正自己的误区:机器学习是一个大范围,并不是一个小的方向,比如:线性回归预测、卷积神经网络和强化学都是机器学习算法在不同场景的应用。
机器学习最为关键的是要有数据,也就是数据集
名词解释:数据集中的一行叫一条样本或者实例,列名称为特征或者属性。样本的数量称为数据量,特征的数量称为特征维度
机器学习常用库:Numpy和sklearn
朴素的意思是特征的各条件都是相互独立的
机器学习(模型、策略、算法)
损失函数
学习类型
分类
交叉熵或对数
有监督
回归
均方差(MSE)
聚类
误差平方和(SSE)
无监督
训练过程中,对于每一次迭代过程中,基于函数计算当前迭代的预测值、均方损失和梯度,并根据梯度下降法不断更新系数。在训练过程中记录每一步损失、每10000次迭代(10000 epochs)打印当前损失信息,保存更新后的模型参数字典和梯度字典。
对于数据集的描述要具体:数据集属性(样本量、特征数、各特征含义、特征值范围、标签含义、标签取值范围)、数据集的创建目的用途和创建者。
对于回归则需要画出训练过程中的均方差损失下降曲线或者回归模型的R方系数(该值越靠近1说明拟合效果越好)。
线性回归模型代码编写思路:
![]()
数据训练和测试的可视化可以选择散点图和绘制分类的决策边界进行直观呈现,分类预测评估报告需要用的包括精确率、召回率、F1得分,其三个指标数值越接近于1,说明模型分类效果越好。
对数分类代码的编写思路:其是感知机模型、神经网络和支持向量机等模型的基础
LASSO回归:在面对待研究问题的众多影响因素的作用下,如何通过在众多影响因子中找到对问题产生较大影响的关键因素,并对问题趋势进行预测。针对这个问题常使用LASSO回归(the least absolute shrinkage and selection operator,译为:最小绝对收缩和选择算子,在众多因素找出关键因素,适用于特征数大于样本量的场景),突然想到这个思路是不是和之前学的正则化的思想一样,对模型影响小的直接置为0的方式,使得模型不那么复杂。但是这里使用的不是梯度下降法,而是坐标下降法,这是由于其约束项(正则化项)导致的,使得其在为连续不可导函数,故其只能使用坐标下降法(一种迭代算法,其通过当前坐标轴上搜索损失函数的最小值,无需计算函数梯度;而梯度下降法是通过损失函数的负梯度来确定下降方向;简记:坐标以坐标找损失函数min,梯度以梯度找损失函数min)
坐标下降法的思想:假设一个函数为L(x,y),先固定x0,求使得L(y)最小的y1;然后固定y1,求使得L(x)最小的x1;依次反复迭代得到使得L(x,y)达到最小值的点。
由于得到的模型损失表达式其为连续不可导,故需要一个符号函数(作用是辅助计算)将其进行向量化,从而达到梯度下降寻找最优的解。
LASSO回归代码的编写思路:
Ridge回归: 与LASSO回归类似的方法是Ridge回归,该回归是的损失函数公式是连续且可导的,所以其求解参数的过程比LASSO回归容易(其可以使用梯度下降方法),但与LASSO回归不同的是Ridge回归参数只是接近0但不等于0,而LASSO回归则直接为0
LASSO回归加上的是L1正则化项,L1正则化项其连续不可导
Ridge回归加上的是L2正则化项,L2正则化项其连续可导