机器学习入门三------线性回归

线性回归

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

人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁。数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据编入目录。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 常用于机器学习,但它既不是唯一实用的损失函数,也不是适用于所有情形的最佳损失函数。

原文地址:https://www.cnblogs.com/wangshouchang/p/9703781.html

时间: 2024-10-07 12:08:23

机器学习入门三------线性回归的相关文章

机器学习入门实践——线性回归&非线性回归&mnist手写体识别

把一本<白话深度学习与tensorflow>给啃完了,了解了一下基本的BP网络,CNN,RNN这些.感觉实际上算法本身不是特别的深奥难懂,最简单的BP网络基本上学完微积分和概率论就能搞懂,CNN引入的卷积,池化等也是数字图像处理中比较成熟的理论,RNN使用的数学工具相对而言比较高深一些,需要再深入消化消化,最近也在啃白皮书,争取从数学上把这些理论吃透 当然光学理论不太行,还是得要有一些实践的,下面是三个入门级别的,可以用来辅助对BP网络的理解 环境:win10 WSL ubuntu 18.04

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

机器学习入门:线性回归及梯度下降 本文会讲到: (1)线性回归的定义 (2)单变量线性回归 (3)cost function:评价线性回归是否拟合训练集的方法 (4)梯度下降:解决线性回归的方法之一 (5)feature scaling:加快梯度下降执行速度的方法 (6)多变量线性回归   Linear Regression 注意一句话:多变量线性回归之前必须要Feature Scaling! 方法:线性回归属于监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个

机器学习入门(三)

python关于向量 python中的List 的特点:不限制其中每一个元素的类型,可以使用下标访问,但是比较慢. 也可以使用array. 需要import arrary 这个包. import array arr=array.array('i',[i for i in range(10)]) arr 输出:array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) array创建之后其中只能有一种类型,这样array的效率会高一点,但是没有那么灵活. 如果你具体使用过

机器学习入门——单变量线性回归

线性回归的概念,在高中数学书里就出现过. 给你一些样本点,如何找出一条直线,使得最逼近这些样本点. 给出一个例子:假设 x 是房子面积,y是房子价格,确定一条直线需要theta0和theta1. 给出x,我们就可以计算出房子的价格 h(x) = theta0+theta1*x 关键是如何计算出theta0和theta1,也就是如何找出这么一条直线呢? 在这里,引入一个概念,叫做cost function.m表示样本个数,也就是训练样本数目 这是一个square error,学过统计的应该经常见到

机器学习--入门答疑

刚接触机器学习这一个月我都做了什么? 这一个月,从对机器学习充满好奇与畏惧,到对各种算法稍有理解以及围绕推荐场景的编码实践,算是对机器学习有了一个入门的体验.但是中间也踩过不少坑,比如啃过线性代数的教材.看过无聊的机器学习课程.追过高端的机器学习书籍.陷入一个算法无法自拔(最后也没整明白)...其实,学习机器学习没有那么难,也很容易走偏.谨以此文,作为ML入门小白的一个小小的参考... 本篇虽不是这一个月的流水账,但是基本按照下面的思路对着一个月做了一次总结: 什么是机器学习? 机器学习都有什么

机器学习入门资源--汇总

机器学习入门资源--汇总 基本概念 机器学习 机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法.机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法.因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论.算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法. 下面从微观到宏观试着梳理一下机器学习的范畴:

机器学习入门系列02,Regression 回归:案例研究

为什么要先进行案例研究? 没有比较好的数学基础,直接接触深度学习会非常抽象,所以这里我们先通过一个预测 Pokemon Go 的 Combat Power (CP) 值的案例,打开深度学习的大门. Regression (回归) 应用举例(预测Pokemon Go 进化后的战斗力) 比如估计一只神奇宝贝进化后的 CP 值(战斗力). 下面是一只妙蛙种子,可以进化为妙蛙草,现在的CP值是14,我们想估计进化后的CP值是多少:进化需要糖果,好处就是如果它进化后CP值不满意,那就不用浪费糖果来进化它了

Azure机器学习入门(四)模型发布为Web服务

接Azure机器学习(三)创建Azure机器学习实验,下一步便是真正地将Azure机器学习的预测模型发布为Web服务.要启用Web服务发布任务,首先点击底端导航栏的运行即"Run"按钮运行新的收入预测实验.实验开始运行之后,底端导航栏的发布Web服务即"Publish Web Service"按钮就变为有效,如下图所示. 图 即将发布Web服务地Azure 机器学习实验 此时,点击设计模式下底端导航栏的发布Web服务即"Publish Web Servic

FPGA机器学习之stanford机器学习第三堂1

请注意:csdn那边的博客http://blog.csdn.net/my_share.因为那边审核的时间太长.搬迁入这里.stanford机器学习前2堂在CSDN的博客里面. 刚开始他写了,这个公式第二堂讲的,是梯度下降法,预测房价的那个. 第二堂讲的线性回归,我们假设的房价的预测可以用线性方程来拟合.那只是一个假设量.其实可以用多次函数拟合.按照视频的说法就是,如果你只有7个样本,你就可以用一个6次函数完成拟合.这个结论可以记住,其实我csdn里面关于神经网络中隐层数量设计的时候,也涉及到这一