ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

机器学习之线性回归(挺全乎的,想看的可以看一看)

机器学习之线性回归(挺全乎的,想看的可以看一看) 1【理解】线性回归线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。注意事项1 为什么叫线性模型因为求解的w都是w的零次幂常数项所以叫成线性模型2 在线性回归中从数据中获取的规律其实就是学习权重系数w3 某一个权重值w越大说明这个权重的数据对房子价格影响越大1.1【知道】线性回归分类1 一元线性回归y kx b目标值只与一个因变量有关系2 多元线性回归目标值只与多个因变量有关系1.2【知道】线性回归APIsklearn.linear_model.LinearRegression(fit_interceptTrue)通过正规方程优化参数fit_intercept是否计算偏置属性LinearRegression.coef_ 回归系数 LinearRegression.intercept_偏置sklearn.linear_model.SGDRegressor(losssquared_loss, fit_interceptTrue, learning_rate constant, eta00.01)参数loss损失函数类型fit_intercept是否计算偏置learning_rate 学习率属性SGDRegressor.coef_ 回归系数SGDRegressor.intercept_ 偏置1.3 回归性能评估均方误差(Mean Squared Error, MSE)评价机制sklearn中的APIsklearn.metrics.mean_squared_error(y_true, y_pred)均方误差回归损失y_true:真实值y_pred:预测值return:浮点数结果2【掌握】损失函数误差概念用预测值y – 真实值y就是误差损失函数衡量每个样本预测值与真实值效果的函数2.1 回归的损失函数均方误差(Mean-Square Error, MSE)平均绝对误差(**Mean Absolute Error,MAE**)3 【了解】一元线性回归的解析解4 梯度下降算法4.1【掌握】梯度下降算法思想什么是梯度下降法求解函数极值还有更通用的方法就是梯度下降法。顾名思义:沿着梯度下降的方向求解极小值 • 举个例子:坡度最陡下山法输入:初始化位置S;每步距离为a 。输出:从位置S到达山底步骤1:令初始化位置为山的任意位置S步骤2:在当前位置环顾四周如果四周都比S高返回S;否则执行步骤3步骤3: 在当前位置环顾四周寻找坡度最陡的方向令其为x方向步骤4:沿着x方向往下走长度为a到达新的位置S‘步骤5:在S‘位置环顾四周如果四周都比S‘高则返回S‘。否则转到步骤3小结:通过循环迭代的方法不断更新位置S (相当于不断更新权重参数w)最终找到最优解 这个方法可用来求损失函数最优解 比正规方程更通用4.2【了解】梯度下降算法分类4.3【理解】正规方程和梯度下降算法的对比4 回归评估方法4.1【知道】平均绝对误差Mean Absolute Error (MAE)MAE 越小模型预测约准确Sklearn 中MAE的APIfrom sklearn.metrics import mean_absolute_error mean_absolute_error(y_test,y_predict)4.2【知道】均方误差Mean Squared Error (MSE)MSE 越小模型预测约准确Sklearn 中MSE的APIfrom sklearn.metrics import mean_squared_error mean_squared_error(y_test,y_predict)4.3【知道】 均方根误差Root Mean Squared Error (RMSE)RMSE 越小模型预测约准确4.4 误差对比MAE 和 RMSE 非常接近都表明模型的误差很低MAE 或 RMSE 越小误差越小。但MSE误差很大对比MAE 和 RMSE的公式RMSE的计算公式中有一个平方项因此大的误差将被平方因此会增加 RMSE 的值可以得出结论RMSE 会放大预测误差较大的样本对结果的影响而 MAE 只是给出了平均误差由于 RMSE 对误差的平方和求平均再开根号大多数情况下RMSEMAE5 正则化5.1【理解】 欠拟合与过拟合过拟合一个假设在训练数据上能够获得比其他假设更好的拟合 但是在测试数据集上却不能很好地拟合数据(体现在准确率下降)此时认为这个假设出现了过拟合的现象。(模型过于复杂)欠拟合一个假设在训练数据上不能获得更好的拟合并且在测试数据集上也不能很好地拟合数据此时认为这个假设出现了欠拟合的现象。(模型过于简单)5.2 过拟合和欠拟合的区别欠拟合在训练集和测试集上的误差都较大过拟合在训练集上误差较小而测试集上误差较大5.3【理解】 原因以及解决办法欠拟合产生原因学习到数据的特征过少解决办法1添加其他特征项有时出现欠拟合是因为特征项不够导致的可以添加其他特征项来解决2添加多项式特征模型过于简单时的常用套路例如将线性模型通过添加二次项或三次项使模型泛化能力更强过拟合产生原因原始特征过多存在一些嘈杂特征 模型过于复杂是因为模型尝试去兼顾所有测试样本解决办法1重新清洗数据导致过拟合的一个原因有可能是数据不纯如果出现了过拟合就需要重新清洗数据。2增大数据的训练量还有一个原因就是我们用于训练的数据量太小导致的训练数据占总数据的比例过小。3正则化4减少特征维度5.4【理解】正则化在解决回归过拟合中我们选择正则化。但是对于其他机器学习算法如分类算法来说也会出现这样的问题除了一些算法本身作用之外决策树、神经网络我们更多的也是去自己做特征选择包括之前说的删除、合并一些特征在学习的时候数据提供的特征有些影响模型复杂度或者这个特征的数据点异常较多所以算法在学习的时候尽量减少这个特征的影响甚至删除某个特征的影响这就是正则化注调整时候算法并不知道某个特征影响而是去调整参数得出优化的结5.4.1L1正则化作用用来进行特征选择主要原因在于L1正则化会使得较多的参数为0从而产生稀疏解,可以将0对应的特征遗弃进而用来选择特征。一定程度上L1正则也可以防止模型过拟合。LASSO回归: from sklearn.linear_model import Lasso5.4.2L2正则化作用主要用来防止模型过拟合可以减小特征的权重优点越小的参数说明模型越简单越简单的模型则越不容易产生过拟合现象Ridge回归: from sklearn.linear_model import Ridge
返回列表