机器学习入门02 - 深入了解 (Descending into ML)

时间:2022-04-16 10:37:00

原文链接: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) 较高

机器学习入门02 - 深入了解 (Descending into ML)

解答

右侧的数据集。--- 正确
线上的 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. VR定制开发、AR定制开发(长年承接虚拟现实、增强现实应用、VR游戏定制开发,北京公司,可签合同)

    Cardboard SDK for Unity的使用 上一篇文章作为系列的开篇,主要是讲了一些虚拟现实的技术和原理,本篇就会带领大家去看一看谷歌的Cardboard SDK for Unity,虽然目 ...

  2. 非静态的字段、方法或属性“System.Web.UI.Page.ClientScript...”要求对象引用 (封装注册脚本)

    在写项目时想对asp.net的注册前台脚本事件进行封装,就添加了一个BasePage.cs页面,但一直报错‘非静态的字段.方法或属性“System.Web.UI.Page.ClientScript.. ...

  3. JavaScript之面向对象学习五(JS原生引用类型Array、Object、String等等)的原型对象介绍

    1.原型模式的重要性不仅仅体现在创建自定义类型方面,就连所有的原生的引用类型(Obejct.Array.String等等)都在构造函数的原型上定义方法和属性.如下代码可以证明: alert(typeo ...

  4. CDOJ 1272 Final Pan's prime numbers

    有些问题,不做实践与猜测,可能一辈子也想不出答案,例如这题. #include<stdio.h> #include<math.h> long long x; int main( ...

  5. 5&lowbar;jQuery选择器

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/stric ...

  6. C&num;中form窗体之间的传递几个方法

  7. C&bsol;C&plus;&plus;程序结束另外的进程

    WinExec("taskkill /f /im center_flextrbo.exe",SW_HIDE);

  8. VLAN入门知识

    版权声明: https://blog.csdn.net/xinyuan510214/article/details/52020987 本文乃fireaxe原创,使用GPL发布,可以*拷贝,转载.但转 ...

  9. ganglia

    A.lamp界面快速搭建---------------------------------------------------------------------------------------- ...

  10. (匹配)The Accomodation of Students --HDU --2444

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=2444 http://acm.hust.edu.cn/vjudge/contest/view.action ...