原文链接:https://developers.google.com/machine-learning/crash-course/descending-into-ml/

线性回归是一种找到最适合一组点的直线或超平面的方法。

1- 线性回归

线性回归是一种找到最适合一组点的直线或超平面的方法。

以数学形式表达:$y = mx + b$

  • y指的是试图预测的值
  • m指的是直线的斜率
  • x指的是输入特征的值
  • b指的是 y 轴截距

按照机器学习的惯例来书写此方程式:

$y' = b + w_1x_1$

2- 训练与损失

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

损失是一个数值,表示对于单个样本而言模型预测的准确程度。如果模型的预测完全准确,则损失为零,否则损失会较大。
训练模型的目标是从所有样本中找到一组平均损失“较小”的权重和偏差。

能否创建一个数学函数(损失函数),以有意义的方式汇总各个损失?

平方损失(L2 损失

平方损失是一种常见的损失函数。

单个样本的平方损失是“标签值与预测值两者差平方”:(observation - prediction(x))2 ,也就是 (y - y')2

均方误差 (MSE) 指的是每个样本的平均平方损失。
要计算 MSE,请求出各个样本的所有平方损失之和,然后除以样本数量。
         $MSE = \frac{1}{N} \sum_{(x,y)\in D} (y - prediction(x))^2$

  • (x, y)指的是样本,其中x指的是模型进行预测时使用的特征集,y指的是样本的标签。
  • prediction(x)指的是权重和偏差与特征集x结合的函数。
  • D指的是包含多个有标签样本(即(x, y))的数据集。
  • N指的是D中的样本数量。

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

3- 理解

问题

对于以下曲线图中显示的两个数据集,哪个数据集的均方误差 (MSE) 较高

解答

右侧的数据集。--- 正确
线上的 8 个样本产生的总损失为 0。不
过,尽管只有两个点在线外,但这两个点的离线距离依然是左图中离群点的 2 倍。
平方损失进一步加大差异,因此两个点的偏移量产生的损失是一个点的 4 倍。
$MSE = \frac{0^2 + 0^2 + 0^2 + 2^2 + 0^2 + 0^2 + 0^2 + 2^2 + 0^2 + 0^2} {10} = 0.8$

左侧的数据集。
线上的 6 个样本产生的总损失为 0。
不在线上的 4 个样本离线并不远,因此即使对偏移求平方值,产生的值仍然很小:
$MSE = \frac{0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 0^2} {10} = 0.4$

4- 关键词

偏差 (bias)
距离原点的截距或偏移。偏差(也称为偏差项)在机器学习模型中用 b 或 w0 表示。
例如,在下面的公式中,偏差为 b:

$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$
请勿与预测偏差混淆。

权重 (weight)
线性模型中特征的系数,或深度网络中的边。
训练线性模型的目标是确定每个特征的理想权重。
如果权重为 0,则相应的特征对模型来说没有任何贡献。

线性回归 (linear regression)
一种回归模型,通过将输入特征进行线性组合输出连续值。

推断 (inference)
在机器学习中,推断通常指以下过程:通过将训练过的模型应用于无标签样本来做出预测。
在统计学中,推断是指在某些观测数据条件下拟合分布参数的过程。(请参阅维基百科中有关统计学推断的文章。)

经验风险最小化 (ERM, empirical risk minimization)
用于选择可以将基于训练集的损失降至最低的函数。与结构风险最小化相对。

损失 (Loss)
一种衡量指标,用于衡量模型的预测偏离其标签的程度。或者更悲观地说是衡量模型有多差。
要确定此值,模型必须定义损失函数。
例如,线性回归模型通常将均方误差用作损失函数,而逻辑回归模型则使用对数损失函数。

均方误差 (MSE, Mean Squared Error)
每个样本的平均平方损失。MSE 的计算方法是平方损失除以样本数。
TensorFlow Playground 显示的“训练损失”值和“测试损失”值都是 MSE。

平方损失函数 (squared loss)
在线性回归中使用的损失函数(也称为 L2 损失函数)。
该函数可计算模型为有标签样本预测的值和标签的实际值之差的平方。
由于取平方值,因此该损失函数会放大不佳预测的影响。
也就是说,与 L1 损失函数相比,平方损失函数对离群值的反应更强烈。

训练 (training)
确定构成模型的理想参数的过程。

机器学习入门02 - 深入了解 (Descending into ML)的更多相关文章

  1. 【机器学习】机器学习入门02 - 数据拆分与测试&算法评价与调整

    0. 前情回顾 上一周的文章中,我们通过kNN算法了解了机器学习的一些基本概念.我们自己实现了简单的kNN算法,体会了其过程.这一周,让我们继续机器学习的探索. 1. 数据集的拆分 上次的kNN算法介 ...

  2. 机器学习入门 - Google机器学习速成课程 - 笔记汇总

    机器学习入门 - Google机器学习速成课程 https://www.cnblogs.com/anliven/p/6107783.html MLCC简介 前提条件和准备工作 完成课程的下一步 机器学 ...

  3. [转]MNIST机器学习入门

    MNIST机器学习入门 转自:http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mnist_beginners.html?plg_ ...

  4. Azure机器学习入门(三)创建Azure机器学习实验

    在此动手实践中,我们将在Azure机器学习Studio中一步步地开发预测分析模型,首先我们从UCI机器学习库的链接下载普查收入数据集的样本并开始动手实践: http://archive.ics.uci ...

  5. tensorfllow MNIST机器学习入门

    MNIST机器学习入门 这个教程的目标读者是对机器学习和TensorFlow都不太了解的新手.如果你已经了解MNIST和softmax回归(softmax regression)的相关知识,你可以阅读 ...

  6. TensorFlow.NET机器学习入门【0】前言与目录

    曾经学习过一段时间ML.NET的知识,ML.NET是微软提供的一套机器学习框架,相对于其他的一些机器学习框架,ML.NET侧重于消费现有的网络模型,不太好自定义自己的网络模型,底层实现也做了高度封装. ...

  7. TensorFlow.NET机器学习入门【3】采用神经网络实现非线性回归

    上一篇文章我们介绍的线性模型的求解,但有很多模型是非线性的,比如: 这里表示有两个输入,一个输出. 现在我们已经不能采用y=ax+b的形式去定义一个函数了,我们只能知道输入变量的数量,但不知道某个变量 ...

  8. 【网络爬虫入门02】HTTP客户端库Requests的基本原理与基础应用

    [网络爬虫入门02]HTTP客户端库Requests的基本原理与基础应用 广东职业技术学院  欧浩源 1.引言 实现网络爬虫的第一步就是要建立网络连接并向服务器或网页等网络资源发起请求.urllib是 ...

  9. CSS3基础入门02

    CSS3 基础入门02 边框相关属性 border-radius 通过这个属性我们可以设置边框圆角,即可以将四个角设置为统一的圆角,也可以单独的设置具体的某一个角的圆角. grammer: borde ...

随机推荐

  1. Pytorch之训练器设置

    Pytorch之训练器设置 引言 深度学习训练的时候有很多技巧, 但是实际用起来效果如何, 还是得亲自尝试. 这里记录了一些个人尝试不同技巧的代码. tensorboardX 说起tensorflow ...

  2. LR 11录制IE起不来

    注:LR 11一般使用的是IE8或IE9 1.在录制脚本时Start Recoding中,默认如下,这样有可能IE打不开,需要更改路径,到对应的IE路径再尝试. 2.降低IE版本到IE8或者9 3.I ...

  3. 29. pt-table-usage

    pt-table-usage --query="select * from t01 join t02 on t01.id=t02.id where t01.code=2" pt-t ...

  4. Vb6调用C#生成的dll

    namespace ClassLibrary1 { [ClassInterface(ClassInterfaceType.AutoDispatch)]     //注意这行,这行是关键     pub ...

  5. 解决初次安装PyCharm后 No Python interpreter selected的问题

    原文链接:https://liuzhichao.com/p/1543.html PyCharm 是由JetBrains打造的一款 Python IDE.具有智能代码编辑器,能理解 Python 的特性 ...

  6. 地磁应用中的低功耗无线数传模块xbee PRO S2C

    地球上每一个地理坐标点,在一段时间内磁场强度是恒定的,当车辆这种铁磁物质经过这个点时,对这个点的磁场强度产生一个连续的扰动,通过磁传感器采样数据与初始采样数据(该点的地球磁场值)进行对比,其差值为车辆 ...

  7. git的使用方式总结

    1.先用 git clone url 克隆下来项目 2.查看下载的项目里面有没有一个名字叫git的文件夹 3.用git branch查看当前所有的本地分支,绿色的代表当前所处的分支 4.若本地只有一个 ...

  8. HCNA之网络通信基础

    一.通信与网络 通信的概念我们并不陌生,在人类社会的起源和发展过程中,通信就直伴随着我们.般认为, 20世纪七.八十年代,人类社会已进入到信息时代,对于生活在信息时代的我们,通信的必要性和重要性更是不 ...

  9. Linux下安装numpy

    转自:https://blog.csdn.net/abc_321a/article/details/82056019 1.下载源码包 ,命令如下 wget http://jaist.dl.source ...

  10. lombok学习

    lombok的官方地址:https://projectlombok.org/ lombok的Github地址:https://github.com/rzwitserloot/lombok lombok ...