<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. 【POJ - 3723 】Conscription(最小生成树)

    Conscription Descriptions 需要征募女兵N人,男兵M人. 每招募一个人需要花费10000美元. 如果已经招募的人中有一些关系亲密的人,那么可以少花一些钱. 给出若干男女之前的1 ...

  2. 使Flask的url支持正则表达式以及一个api小demo

    from flask import Flask from flask import jsonify from flask import request from werkzeug.routing im ...

  3. Django之choices选项和富文本编辑器的使用

    项目准备 1.创建数据库 create database choices_test default charset utf8; 2.创建一个名为 choices_test 的Django项目: 3.创 ...

  4. VMbox 安装 LInux系统流程

    STEP 1 文件--新建---(自定义高级)---(默认设置)---(稍后安装系统)---(Linux+选择版本)---(虚拟机名字+存放位置)---(处理器2+核数2)---(虚拟机内存)2G一般 ...

  5. Linux mint 启动文本模式(不启动图形界面)

    Linux Mint 系统用了很久,很顺手,赞一个! 有一天想同时运行多个虚拟机linux系统做实验,想着只启动文本模式可以省点内存资源,结果试了多种方法都不成功,网上现有针对Ubuntu原版和Cen ...

  6. Python爬虫(三):BeautifulSoup库

    BeautifulSoup 是一个可以从 HTML 或 XML 文件中提取数据的 Python 库,它能够将 HTML 或 XML 转化为可定位的树形结构,并提供了导航.查找.修改功能,它会自动将输入 ...

  7. 自创ant-design-pro组件

    ant design蚂蚁金服基于react打造的一个服务于企业级产品的UI框架.而ant design pro呢?就是基于Ant Design这个框架搭建的中后台管理控制台的脚手架. 话不多说,今天给 ...

  8. Javascript设计模式——建造者模式

    建造者模式是相对比较简单的一种设计模式,属于创建型模式的一种: 定义:将一个复杂的对象分解成多个简单的对象来进行构建,将复杂的构建层与表现层分离,使相同的构建过程可以创建不同的表示模式:    优点: ...

  9. 11g bug event 'cursor: mutex S'-引发的CPU冲高问题

    问题背景:客户反应数据库服务器CPU占用过高 1> 确认问题根源登录客户DB服务器: top 查看当前负载 (几乎100%)top - 10:47:55 up 29 days, 21:51, 3 ...

  10. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):在 .NET Core 2.0/3.0 中使用 MessageHandler 中间件

    概述 在 <Senparc.Weixin.MP SDK 微信公众平台开发教程(六):了解MessageHandler> 中我们已经了解了 MessageHandler 的运行原理和使用方法 ...