机器学习入门三------线性回归(代码片段)

wangshouchang wangshouchang     2023-01-03     682

关键词:

线性回归

线性回归是一种找到最适合一组点的直线或超平面的方法。本模块会先直观介绍线性回归,为介绍线性回归的机器学习方法奠定基础。

人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁。数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据编入目录。Ruth 阿姨将她喜爱的蟋蟀数据库作为生日礼物送给您,并邀请您自己利用该数据库训练一个模型,从而预测鸣叫声与温度的关系。

首先建议您将数据绘制成图表,了解下数据的分布情况:

技术分享图片

图 1. 每分钟的鸣叫声与温度(摄氏度)的关系。

毫无疑问,此曲线图表明温度随着鸣叫声次数的增加而上升。鸣叫声与温度之间的关系是线性关系吗?是的,您可以绘制一条直线来近似地表示这种关系,如下所示:

技术分享图片

图 2. 线性关系。

事实上,虽然该直线并未精确无误地经过每个点,但针对我们拥有的数据,清楚地显示了鸣叫声与温度之间的关系。只需运用一点代数知识,您就可以将这种关系写下来,如下所示:

y=mx+b

其中:

  • y 指的是温度(以摄氏度表示),即我们试图预测的值。
  • m 指的是直线的斜率。
  • x 指的是每分钟的鸣叫声次数,即输入特征的值。
  • b 指的是 y 轴截距。

按照机器学习的惯例,您需要写一个存在细微差别的模型方程式:

y′=b+w1x1

其中:

  • y′ 指的是预测标签(理想输出值)。
  • b 指的是偏差(y 轴截距)。而在一些机器学习文档中,它称为 w0。
  • w1 指的是特征 1 的权重。权重与上文中用 m 表示的“斜率”的概念相同。
  • x1 指的是特征(已知输入项)。

要根据新的每分钟的鸣叫声值 x1 推断(预测)温度 y′,只需将 x1 值代入此模型即可。

下标(例如 w1 和 x1)预示着可以用多个特征来表示更复杂的模型。例如,具有三个特征的模型可以采用以下方程式:

y′=b+w1x1+w2x2+w3x3

关键字词

训练与损失

简单来说,训练模型表示通过有标签样本来学习(确定)所有权重和偏差的理想值。在监督式学习中,机器学习算法通过以下方式构建模型:检查多个样本并尝试找出可最大限度地减少损失的模型;这一过程称为经验风险最小化。

损失是对糟糕预测的惩罚。也就是说,损失是一个数值,表示对于单个样本而言模型预测的准确程度。如果模型的预测完全准确,则损失为零,否则损失会较大。训练模型的目标是从所有样本中找到一组平均损失“较小”的权重和偏差。例如,图 3 左侧显示的是损失较大的模型,右侧显示的是损失较小的模型。关于此图,请注意以下几点:

  • 红色箭头表示损失。
  • 蓝线表示预测。

技术分享图片

图 3. 左侧模型的损失较大;右侧模型的损失较小。

请注意,左侧曲线图中的红色箭头比右侧曲线图中的对应红色箭头长得多。显然,相较于左侧曲线图中的蓝线,右侧曲线图中的蓝线代表的是预测效果更好的模型。

您可能想知道自己能否创建一个数学函数(损失函数),以有意义的方式汇总各个损失。

平方损失:一种常见的损失函数

接下来我们要看的线性回归模型使用的是一种称为平方损失(又称为 L2 损失)的损失函数。单个样本的平方损失如下:

  = the square of the difference between the label and the prediction
  = (observation - prediction(x))2
  = (y - y‘)2

均方误差 (MSE) 指的是每个样本的平均平方损失。要计算 MSE,请求出各个样本的所有平方损失之和,然后除以样本数量:

MSE=1N∑(x,y)∈D(y?prediction(x))2

其中:

(x,y)

指的是样本,其中

  • x 指的是模型进行预测时使用的特征集(例如,温度、年龄和交配成功率)。
  • y 指的是样本的标签(例如,每分钟的鸣叫次数)。

  • prediction(x) 指的是权重和偏差与特征集 x 结合的函数。

  • D 指的是包含多个有标签样本(即 (x,y))的数据集。

  • N 指的是 D 中的样本数量。

虽然 MSE 常用于机器学习,但它既不是唯一实用的损失函数,也不是适用于所有情形的最佳损失函数。

机器学习入门:多变量线性回归(代码片段)

...的两个小技巧。本文分享自华为云社区《【跟着小Mi一起机器学习吧!】多变量线性回归(一)》,原文作者:Skytier。1 多维特征既然是多变量线性回归,那么肯定是存在多个变量或者多个特征的情况啦。就拿之前研究的线... 查看详情

机器学习入门之单变量线性回归(上)——梯度下降法(代码片段)

 在统计学中,线性回归(英语:linearregression)是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一... 查看详情

三天爆肝快速入门机器学习:线性回归逻辑回归岭回归第三天(代码片段)

三天爆肝快速入门机器学习【第三天】线性回归过拟合和欠拟合岭回归逻辑回归前言:这个系列终于写完了,只写了三篇,但是基础知识基本都写了,但是阅读量都不高,可能也是自己初次写这种系列的没什么经验,排版内容都有很大改... 查看详情

机器学习入门系列三(关键词:逻辑回归,正则化)

一、逻辑回归1.逻辑回归什么是逻辑回归问题,通俗地讲就是监督下的分类问题。通过前面的学习,我们已经掌握如何解决线性(非线性)回归的问题。那面对分类问题我们是否也可以用线性回归呢?简单起见,我们... 查看详情

机器学习入门实践——线性回归&非线性回归&mnist手写体识别(代码片段)

把一本《白话深度学习与tensorflow》给啃完了,了解了一下基本的BP网络,CNN,RNN这些。感觉实际上算法本身不是特别的深奥难懂,最简单的BP网络基本上学完微积分和概率论就能搞懂,CNN引入的卷积,池化等也是数字图像处理中... 查看详情

机器学习--线性回归的原理与基础实现(代码片段)

文章目录一、一元线性回归的实现1.1原理1.2Python底层实现一元线性回归二、多元线性回归的实现2.1参考文献2.2代码实现2.3相关性分析三、第三方库实现线性回归四、线性回归案例4.1回归知识复习4.2案例编写一、一元线性回归的实... 查看详情

机器学习笔记:大话线性回归(代码片段)

大家好,我是东哥。线性回归作为监督学习中经典的回归模型之一,是初学者入门非常好的开始。宏观上考虑理解性的概念,我想我们在初中可能就接触过,y=ax,x为自变量,y为因变量,a为系数也是斜率。如果我们知道了a系数... 查看详情

机器学习算法(代码片段)

机器学习常用算法一、线性回归1.基本概念2.代码实现二、逻辑回归1.基本概念Sigmoid预测函数2.代码实现三决策树1.基本概念2.代码实现四支持向量机(SVM)1.基本概念2.代码实现五全连接神经网络DNN1.基本概念全连接神经网... 查看详情

bagging策略和随机森林的应用以及线性回归与局部加权回归三种实例(线性回归adaboostgradientboostingregressor)机器学习(代码片段)

一.Bagging策略bootstrapaggregation有放回抽样集合从样本集中重采样(有重复的)选出n个样本在所有属性上,对这n个样本建立分类器(ID3、C4.5、CART、SVM、Logistic回归等)重复以上两步m次,即获得了m个分类器将数据放在m个分类器上... 查看详情

机器学习入门:线性回归及梯度下降

机器学习入门:线性回归及梯度下降  本文会讲到:   (1)线性回归的定义 (2)单变量线性回归 (3)costfunction:评价线性回归是否拟合训练集的方法 (4)梯度下降:解决线性回归的方法之一 (5)featurescali... 查看详情

andrewng机器学习入门——线性回归

本人从2017年起,开始涉猎机器学习。作为入门,首先学习的是斯坦福大学AndrewNg(吴恩达)教授的Coursera课程2单变量线性回归线性回归属于监督学习(SuperviseLearning),就是Rightanswerisgiven。课程中,举了一个估计房产价格的例子,在此... 查看详情

机器学习线性回归(回炉重造)(代码片段)

机器学习---线性回归1.简单线性回归2.多元线性回归3.线性回归的正规方程解4.衡量线性回归的性能指标MSERMSEMAER-Squared5.scikit-learn线性回归实践-波斯顿房价预测LinearRegression线性回归是属于机器学习里面的监督学习,与分类问题... 查看详情

机器学习_线性回归(代码片段)

线性回归 人工智能是机器学习的父类;机器学习是深度学习的父类 1.怎么做线性回归?2.理解回归--最大似然函数3.应用正态分布概率密度函数--对数总似然4.推导出损失函数--推导出解析解       &... 查看详情

机器学习——基础整理:线性回归;二项logistic回归;softmax回归;广义线性模型

...线性模型    二项Logistic回归是我去年入门机器学习时学的第一个模型,我觉得这个模型很适合用来入门(但是必须注意这个模型有很多很多很多很多可以展开的地方)。比较有意思的是那时候还不会矩阵微积分,... 查看详情

线性回归模型|机器学习(代码片段)

目录1.线性回归模型1.1一元线性回归模型1.2多元线性回归模型1.3损失函数2.相关代码2.1LinearRegression类2.2求解代码2.3绘图代码1.线性回归模型1.1一元线性回归模型简单的讲,一元线性模型就是指只有一个特征量,然后对应带... 查看详情

机器学习入门:线性回归及梯度下降

http://blog.csdn.net/xiazdong/article/details/7950084本文会讲到: (1)线性回归的定义(2)单变量线性回归(3)costfunction:评价线性回归是否拟合训练集的方法(4)梯度下降:解决线性回归的方法之一(5)featurescaling:加快梯度下降执行速度的方... 查看详情

机器学习一般线性回归(代码片段)

...归"模型。 0.概述线性回归应该是我们听过次数最多的机器学习算法了。在一般的统计学教科书中,最后都会提到这种方法。因此该算法也算是架起了数理统计与机器学习之间的桥梁。线性回归虽然常见,但是却并不简单。该... 查看详情

正规方程,梯度下降,岭回归——机器学习(代码片段)

线性回归一.介绍1.1线性回归API介绍——LinearRegression二.线性回归的损失和优化2.1全梯度下降算法(FG)2.2随机梯度下降算法(SG)2.3小批量梯度下降算法(mini-batch)2.4随机平均梯度下降算法(SAG)三... 查看详情