<Machine Learning - 李宏毅> 学习笔记

b站视频地址:李宏毅2019国语

第一章 机器学习介绍

  • Hand crafted rules

  • Machine learning ≈ looking for a function from data
    • Speech recognition
    • Image recognition
    • Playing go
    • Dialogue system
  • Framework
    1. define a set of function
    2. goodness of function
    3. pick the best function
  • Supervised Learning 监督学习
    • Regression

      • Linear model
      • Non-Linear model
    • Classification
      • Binary Classification
      • Multi-class Classification
  • Semi-supervised Learning 半监督学习
    • Unlabel
  • Transfer Learning 迁移学习
    • Data not related to the task considered
  • Unsupervised Learning 无监督学习

  • Structured Learning 监督学习中的结构化学习
    • 输出有结构性
  • Reinforcement Learning 强化学习
    • 没有答案,只有一个分数来判断行为好坏
    • 当没有data的时候才会选择去做reinforcement learning.

第二章 为什么要学习机器学习

  • 不同model,loss function损失函数解决不同问题
  • 不一定能找出best function
  • 需要有经验
  • (loss function:通过最小化损失函数求解和评估模型 -参数估计/风险管理/最优控制理论)

第三章 回归 Regression

  • 定义

    • find a function
    • Input:feature X
    • Output:Scalar y
  • 步骤
    • step1:模型假设,选择模型框架(Linear/Non-Linear)
    • step2:模型评估,如何判断众多模型的好坏(损失函数)
    • step3:模型优化,如何筛选最优的模型(梯度下降Gradient Descent)
  • learning rate 学习率
    • 权重参数移动步长
    • 设置不同的learning rate加强拟合速度 - 动态赋值
  • 梯度Gradient:loss function对每个参数偏导排成的向量

  • 梯度下降Gradient Descent:即更新参数的方式
    • 新参数=原参数-学习率×原参数梯度
    • 向量广播
  • 梯度下降实现的挑战

    • 问题1:当前最优(Stuck at local minima) - 局部最优点
    • 问题2:等于0(Stuck at saddle point) - 一阶导为零的非极值点
    • 问题3:趋近于0(Very slow at the plateau) - 导数极小
    • 如果Loss Function是Convex(凸函数)- Gradient Descent找到的就是全局最优点
  • Overfitting过拟合
    • 当特征越多,输入越多,数据量没有增加,可能就会导致Overfitting
    • 过拟合:偏差小方差大 - 欠拟合:偏差大
    • bias(偏差)影响loss function的上下 - variance(方差)影响loss function的曲平
  • 步骤优化
    • step1:种类特征那个输入优化

      • 类别特征通过δ函数合并优化输入 - 通常是做独热码one-hot
    • step2:更多参数,更多输入

      • 特征与数据量的均衡,特征过多导致Overfitting过拟合
    • step3:Regularization正则化

      • 更多特征,会造成某些特征权重w过大,导致过拟合,于此引入正则化 - 正则化影响loss function平滑度,所以与方差/过拟合相关

      • Regularization的一种简单方式就是在Loss Function中加入正则项λΣ(wi)2 - 使w更小,因为越小的w曲线越平滑,即对变化越不敏感

      • 不敏感让loss function受高权重和噪音的影响小,降低过拟合风险

      • 超参数正则系数λ也不能过大 - 导致bias变大,欠拟合,过于平滑

小结

  • Gradient Descent梯度下降的做法
  • Overfitting和Regularization的表象

第五章 误差从哪里来

  • Error = Variance + Bias

  • Bias偏差
    • Bias = 真实值与输出期望之间误差 - 模型越简单,bias越高

    • Bias大,即模型欠拟合Underfitting,解决办法一般是优化模型,增加更多特征
    • 当Bias=0,即期望=真实值时,就是unbias无偏估计

  • Variance方差
    • Variance = 模型输出值与输出期望之间的误差 - 模型越复杂,variance越高

    • Variance大,即模型过拟合Overfitting,解决办法一般是增加训练数据量或者Regularization

    • 方差 - 数据分布离散程度

<Machine Learning - 李宏毅> 学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

  10. ucos实时操作系统学习笔记——任务间通信(消息)

    ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...

随机推荐

  1. 29道Zookeeper面试题超详细(附答案)

    原文链接 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件 ...

  2. java中String常见问题

    java中String常见问题 1.字符串比较==和equals ==:比较的是对象,判断两个引用的是否为同一内存地址(物理对象) equals:比较的是值 2.通过空白字符拆封字符串 str.spi ...

  3. 2018年蓝桥杯java b组第八题

    标题:日志统计 小明维护着一个程序员论坛.现在他收集了一份"点赞"日志,日志共有N行.其中每一行的格式是: ts id 表示在ts时刻编号id的帖子收到一个"赞" ...

  4. Vertx Future 异常处理

    Vertx Future 异常处理 异常发生 ​ 在使用Vertx进行开发的时候,必不可免使用Future异步编程框架.通过Future的 compose ,可以轻松实现不同异步任务的组合. ​ 但是 ...

  5. Dubbo学习系列之九(Shiro+JWT权限管理)

    村长让小王给村里各系统来一套SSO方案做整合,隔壁的陈家村流行使用Session+认证中心方法,但小王想尝试点新鲜的,于是想到了JWT方案,那JWT是啥呢?JavaWebToken简称JWT,就是一个 ...

  6. Exceptionless 5.0.0 本地Docker快速部署介绍

    在之前我有专门写两篇文章介绍过Exceptionless这款开源日志项目的使用和部署,但是当时是基于4.1.0版本(2017年的release),时隔两年多Exceptionless也推出了5.0.0 ...

  7. Spring boot 梳理 - 全局配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下。

    全局配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下.

  8. springboot 打包插件去除jar包瘦身

    1.pom文件配置 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>s ...

  9. 夯实Java基础系列17:一文搞懂Java多线程使用方式、实现原理以及常见面试题

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  10. $(document).height 与$(window).height的区别

    $(document).scrollTop() 获取垂直滚动的距离 (即当前滚动的地方的窗口顶端到整个页面顶端的距离)$(document).scrollLeft() 这是获取水平滚动条的距离 要获取 ...