训练集、验证集、测试集

机器学习简单流程:

  1. 使用大量和任务相关的数据集来训练模型;

  2. 通过模型在数据集上的误差不断迭代训练模型,得到对数据集拟合合理的模型;

  3. 将训练好调整好的模型应用到真实的场景中;

我们最终的目的是将训练好的模型部署到真实的环境中,希望训练好的模型能够在真实的数据上得到好的预测效果,换句话说就是希望模型在真实数据上预测的结果误差越小越好。我们把模型在真实环境中的误差叫做泛化误差*最终的目的是希望训练好的模型泛化误差越低越好*

★训练集:用于训练模型的训练参数。

★测试集用于检验已经训练好的最终模型的泛化性能(特别注意:经过测试集后,模型参数就不能再动了)

★验证集用于检验模型的性能(这点和测试集相同),但可以根据检验结果反过来调整模型参数,主要是超参数(这点和测试集不同)

验证集是训练集和测试集之间的一个中间件。根据前面的定义,我们发现了一个问题,如果只有训练集和测试集,是无法在测试集之前对模型进行评价的。实际上我们更希望在最终模型确定之前,可以先对模型进行一定的评价,然后根据评价结果调整模型参数(特别是超参数)后重新训练,直到我们认为模型已经不错了,最后再用测试集进行测试,测试就只为了查看模型的近似泛化性能,不再继续更新模型参数。正是为了这个目的,才划分出了一个验证集。可见,验证集一定程度上还是训练集,因为会根据验证集的结果调整模型参数。

单层神经网络

1958年,计算科学家Rosenblatt提出了由两层神经元组成的神经网络。他给它起了一个名字–“感知器”(Perceptron),也可翻译为感知机。

  • 输入层 输入层里的“输入单元”只负责传输数据,不做计算。

  • 输出层 输出层里的“输出单元”则需要对前面一层的输入进行计算。

把需要计算的层次称之为“计算层”,并把拥有一个计算层的网络称之为“单层神经网络”。有一些文献会按照网络拥有的层数来命名,例如把“感知器”称为两层神经网络。

什么是线性回归?简单举个例子,给定一个直线方程 y = k x + b 和位于该直线上的两点(x1,y1)、 (x2,y2) 。问x=x3时,y = y 3 = ? 根据中学知识,先利用已知两点求解直线方程参数k 、b ,再利用求得的直线方程求y3值。该求解过程就是一个简单的线性回归问题。 我们的现实生活中,有很多问题都可以看作是线性回归问题,如:预测房屋价格、气温、销售额等连续值问题。在深度学习中,一般会提供大量的数据,用于估计线性模型,最后根据模型完成回归任务。

线性回归模型实际是一个单输出的单层神经网络。

训练集一共N个,每一条数据是(x,t)x代表数据本身,t为x的标签,t要是只有两种就是二分类任务,否则就是多分类。右上角的n代表是第几个数据。

训练误差,每一条数据都会有一个属于自己的误差,每个人把自己的误差加起来,最后在平均就是总体的平均误差。n代表第几条数据,N代表数据总数。

最后的目的就是要利用梯度下降来缩小总体的损失函数。

在每一步的迭代计算过程中,我们首先要计算预测值(这一步也称为 Forward pass),然后计算预测值与真实值之间的损失函数loss。我们采用梯度下降来更新我们的预测参数 w 和 b ,以便在下一次迭代计算中减小损失函数。这一过程是反向的(Backprop),在此,我们要手动计算损失函数,求出对应参数的梯度,以此来更新权重 w 和偏置 b 。具体的计算过程如下:

损失函数一般都加一个二分之一,目的是方便求导,根据链式法则来调整w取值。

week1大部分以课程介绍为主,有问题请留言,后续会持续发布更新

Machine Learning Practical 爱宝课程记录week1相关推荐

  1. Machine Learning Practical 爱宝week2

    这节课主要讲 随机梯度下降,分类 1. 批量梯度下降(Batch Gradient Descent,BGD) 使用整个训练集的优化算法被称为批量(batch)或确定性(deterministic)梯度 ...

  2. MLP Coursework Machine Learning Practical

    代做MLP作业.代写Machine Learning作业.代做Python编程语言作业.Python课程设计作业代写 MLP 2018/19: Coursework 2 Due: 23 Novembe ...

  3. Blockchains Distributed L week3 爱宝授课记录(1)

    智能合约 smart contract 现在我们的生活几乎离不开合同,往大说,工作是与公司签订的劳动合同,买房是与房产公司签订购房合同,买保险是与保险公司签订保险合同:往小了说,网购.定外卖.打车.买 ...

  4. Blockchains Distributed L week3 爱宝授课记录(2)

    比特币与以太坊 相同点 比特币和以太坊都是成功的区块链技术应用,是最典型的代表.具体点是:有了比特币才有区块链技术,有了以太坊人们才认识到区块链还可以独立出来.不仅仅是比特币才能有区块链技术,还有以太 ...

  5. 最详尽翻译:Rules of Machine Learning: Best Practices for ML Engineering

    原文地址:https://developers.google.com/machine-learning/rules-of-ml/ 作者:Martin Zinkevich ##前言 Google大佬Ma ...

  6. Machine Learning - Andrew Ng on Coursera (Week 4)

    本篇文章将分享Coursera上Andrew Ng的Machine Learning第四周的课程,主要内容有如下,详细内容可以参考文末附件: 动机 神经网络 应用 动机 为什么要引入神经网络?在分类问 ...

  7. Machine Learning - Andrew Ng on Coursera (Week 2)

    本篇文章将分享Coursera上Andrew Ng的Machine Learning第二周的课程,主要内容有如下,详细内容可以参考文末附件: 设置作业环境 多变量线性回归 参数的解析算法 Octave ...

  8. Machine Learning - Andrew Ng on Coursera (Week 1)

    转载自:http://1.kaopuer.applinzi.com/?p=110 今天分享了Coursera上Andrew Ng的Machine Learning第一周的课程,主要内容有如下,详细内容 ...

  9. Coursera | Applied Data Science with Python 专项课程 | Applied Machine Learning in Python

    本文为学习笔记,记录了由University of Michigan推出的Coursera专项课程--Applied Data Science with Python中Course Three: Ap ...

最新文章

  1. LuoguP2617 Dynamic Rankings (动态主席树学习理解)
  2. Nginx源码分析--数据对齐posix_memalign和memalign函数
  3. JShell:Java REPL综合指南
  4. python语言特点有哪些-python的优点和缺点是什么?
  5. excel如何匹配同名数据_Excel如何查找名字重复的数据
  6. 【Eclipse】将控制台输出直接保存到文本文件
  7. 提高阅读源代码的效率 转
  8. [论文笔记] Towards an integrated crowdsourcing definition (Journal of Information Science, 2012)
  9. Object to XML
  10. 使用 Python 解数学方程
  11. leetcode100. 相同的树
  12. 第1-2讲 初识SLAM
  13. oracle数据库十六进制转字符串,Oracle中各种进制相互转换
  14. 设计OA系统的用户-角色-权限分配
  15. 技术架构图-软件研发流程
  16. 【数据分析|面试】如何介绍你的项目经历
  17. 图片隐写,盲水印,加密logo
  18. [Linux]FloppyLinux--中国石油大学(华东)计算机操作系统课程设计作业教程
  19. docker日志显示时间时区错误,时区UST问题/群晖docker日志时间不正确 寻找解答过程
  20. js取小数点后两位 方法总结

热门文章

  1. 计算机硬盘灯不亮,解决办法:如果计算机硬盘驱动器指示灯不亮,该怎么办?解决电脑硬盘指示灯不亮的问题_IT / computer_资料...
  2. 尼克 超级智能 路线_他山石|《超级智能》作者尼克·波斯特洛姆:超级智能将决定人类的未来...
  3. C++ 使用Poco库进行文件操作
  4. 手机浏览器java_三款最热java手机浏览器横评(组图)
  5. A Tutorial on Learned Multi-dimensional Indexes
  6. 【数据分析进阶】DCIC竞赛-task2 数据可视化
  7. 宁畅g40系列服务器发布,基于第三代至强可扩展处理器,宁畅G40系列服务器正式发布...
  8. adb 不可以网络连接问题
  9. 脖子上长痘痘吃什么好
  10. 扩展UbuntuTouch根目录,解决安装空间不足的问题