进阶课程需要一些基础知识:

1、机器学习基础知识

2、概率论知识

3、线性代数和微积分

4、python编程

我们需要知道的机器学习基础知识:

1、线性回归:均方误差(MSE)、解析解

2、逻辑回归:模型、交叉熵损失、类概率估计

3、线性模型的梯度下降、均方误差(MSE)和交叉熵的求导

4、过拟合问题

5、线性模型的正则化

一、线性回归模型(linear model)

回归任务:收入预测、电影评分等预测结果是真实的数字

分类任务:对象识别、主题分类等预测结果是代无别的结果

线性回归模型:

线性回归模型以及参数:W系数(coefficients)、B偏差(bias),一共d+1个参数,求W参数的方法有以下两种

1、训练模型是均方误差(MSE)最小化的过程

2、W系数也可以通过帽子矩阵来求解,得出W的精确解,

但是对高维数据,求解X转置是很困难的,因此一般使用均方误差(MSE)最小化优化参数

线性分类模型:

二分类问题

多分类问题

分类问题使用准确率来评价,预测结果与y一致则为正确,否则错误

可以使用softmax继续进行转化测量这些时间之间的概率分布之间的距离

因此我们可以使用交叉熵损失函数,交叉熵只是真实类别的预测类别概率的负对数

二、梯度下降

梯度下降方法适用于均方误差(MSN)和交叉熵损失函数,使用梯度下降过程就是寻找损失函数最小化的过程

梯度下降如何实现参数优化的问题呢(损失函数最小)

t-1次的w参数与学习率和梯度向量的乘积之差仿佛更新参数,直到梯度向量达到结束循环的条件。

在这个过程中涉及到以下几个方面:

1、W参数如何初始化

2、η学习率怎么选取

3、什么时候结束循环

4、如何选取梯度向量去近似逼近

随机梯度下降的方法的原理:

随机梯度下降的特点

1、更新参数的过程中会出现更多的噪音干扰,loss不会是始终持续下降

2、没更新一次参数只需要一个样本

3、可以在在线环境中使用

4、需要谨慎选择学习率η

批量梯度下降(mini-batch gradient descent),每次使用m个样本进行训练

三、模型正则化

1、添加正则项对模型参数进行惩罚,正则项可选择L1、L2

2、数据降维

3、数据增强(data augmentation)

4、dropout

5、Early stopping

6、收集更多的数据

四、深度学习的优化方法

1、动量(momentum):动量的引入就是为了加快学习过程,特别是对于高曲率、小但一致的梯度,或者噪声比较大的梯度能够很好的加快学习过程。动量的主要思想是积累了之前梯度指数级衰减的移动平均(前面的指数加权平均),得到加速学习过程的目的。(引用自博客https://blog.csdn.net/u012328159/article/details/80311892)

原理如下:

2、Nesterov Momentum是对Momentum的改进,可以理解为nesterov动量在标准动量方法中添加了一个校正因子。用一张图来形象的对比下momentum和nesterov momentum的区别(引用自https://blog.csdn.net/u012328159/article/details/80311892)

原理如下:

3、AdaGrad:通常,我们在每一次更新参数时,对于所有的参数使用相同的学习率。而AdaGrad算法的思想是:每一次更新参数时(一次迭代),不同的参数使用不同的学习率。(引用自博客https://blog.csdn.net/u012328159/article/details/80311892)

原理如下:

4、RMSprop(root mean square prop):RMSprop是hinton老爷子在Coursera的《Neural Networks for Machine Learning》lecture6中提出的,这个方法并没有写成论文发表(不由的感叹老爷子的强大。。以前在Coursera上修过这门课,个人感觉不算简单)。同样的,RMSprop也是对Adagrad的扩展,以在非凸的情况下效果更好。和Adadelta一样,RMSprop使用指数加权平均(指数衰减平均)只保留过去给定窗口大小的梯度,使其能够在找到凸碗状结构后快速收敛。直接来看下RMSprop的算法(来自lan goodfellow 《deep learning》(引用自博客https://blog.csdn.net/u012328159/article/details/80311892)

原理如下:


5、Adam(Adaptive Moment Estimation):Adam实际上是把momentum和RMSprop结合起来的一种算法,算法流程是(摘自adam论文)(引用自博客https://blog.csdn.net/u012328159/article/details/80311892)

introduction to deep learning--week1简单线性回归、梯度下降、模型正则化、和深度学习中的优化方法相关推荐

  1. nfa确定化 dfa最小化_深度学习中的优化:梯度下降,确定全局最优值或与之接近的局部最优值...

    深度学习中的优化是一项极度复杂的任务,本文是一份基础指南,旨在从数学的角度深入解读优化器. 一般而言,神经网络的整体性能取决于几个因素.通常最受关注的是网络架构,但这只是众多重要元素之一.还有一个常常 ...

  2. 模型汇总-12 深度学习中的表示学习_Representation Learning

    我们在前面的<模型汇总_9 深度学习网络的表达方式汇总及模型分类方法>这篇文章中,指出了深度学习中常用的三种表示数据的方式,即局部表达.稀疏表达和分布式表达.深度学习强大建模和知识抽取的能 ...

  3. pytorch-用线性回归梯度下降模型-预测水果产量

    假设有如下数据集, 如何预测水果产量 假设水果产量与地区无关, 与只与温度, 降雨量, 湿度有关, 若用线性模型预测, 可以通过线性回归的方法, 预测产量.加入线性无关, 通过蓝色方框参数可以求解W1 ...

  4. 第一周:深度学习引言(Introduction to Deep Learning)

    1.1 欢迎(Welcome) 深度学习改变了传统互联网业务,例如如网络搜索和广告.但是深度学习同时也使得许多新产品和企业以很多方式帮助人们,从获得更好的健康关注. 深度学习做的非常好的一个方面就是读 ...

  5. 台大李宏毅Machine Learning 2017Fall学习笔记 (7)Introduction of Deep Learning

    台大李宏毅Machine Learning 2017Fall学习笔记 (7)Introduction of Deep Learning 最近几年,deep learning发展的越来越快,其应用也越来 ...

  6. A Gentle Introduction to Deep Learning for Graphs 图深度学习的温和介绍

    文章目录 1.简介 2. 高级概述 2.1.数学符号 2.2.动机 2.3.大图 2.4.局部关系和信息的迭代处理 2.5.语境扩散的三种机制 3.构建块 3.1.邻域(邻居)聚集 3.2.池化 3. ...

  7. 【2020新书推荐】Introduction to Deep Learning

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要5分钟 Follow小博主,每天更新前沿干货 概述 这本教科书提供了一个简明的,易理解的和引人入胜的深度学习的第一个介绍,提供了大量连接主义模 ...

  8. 李宏毅机器学习笔记4:Brief Introduction of Deep Learning、Backpropagation(后向传播算法)...

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  9. 自然语言处理NLP 2022年最新综述:An introduction to Deep Learning in Natural Language Processing

    论文题目:An introduction to Deep Learning in Natural Language Processing: Models, techniques, and tools ...

最新文章

  1. 【数据库】 兴唐第二十七节课只sql注入
  2. Kong APIGW — 安装与配置
  3. android 2.2.3,升还是不升 Android2.2与2.3性能测试对比
  4. MySQL触发器使用详解
  5. 51nod百度之星2016练习赛
  6. 【Java设计模式】GOF32 - 单例模式
  7. java linux 串口_Linux Java 串口通信 | 学步园
  8. oracle 临时表空间的增删改查
  9. 怎样用mysql查询测试_如何测试数据库查询优化器
  10. 人工智能ai 学习_人工智能中学习代理的要素
  11. tensorflow应用:双向LSTM神经网络手写数字识别
  12. mysql的sql性能分析器
  13. ProxySQL Getting started
  14. java中的测试类_java中测试类的方法
  15. 开源web管理系统mysql_10个基于Web的开源项目管理系统
  16. 修改计算机系统参数软件,机器码修改专家(修改电脑机器码工具) v2.0官方版
  17. 大型网站技术架构(八)——网站的安全架构
  18. 【欢聚时代】HR独家传授YY笔试面经小秘诀!
  19. nginx 的基本概念
  20. 被遗忘权_HTML:前5个被遗忘的元素

热门文章

  1. bigbang0106
  2. 【随想录12】01背包练习
  3. 一起学习Spark入门
  4. adb interface找不到驱动程序Android Studio (学习记录)
  5. 用JAVA编写一个Book类_Java编程:创建一个Book类包含两个String类型私有属性name(书名)和publish(...
  6. TI OMAPL处理器介绍
  7. 微型计算机如今的cpu,填补x86处理器“大小核心”的空白,英特尔Lakefield处理器简析...
  8. java超市会员积分管理系统
  9. Transformer与BERT详解
  10. bp神经网络和神经网络,bp神经网络的应用领域