<Machine Learning - 李宏毅> 学习笔记
<Machine Learning - 李宏毅> 学习笔记
b站视频地址:李宏毅2019国语
第一章 机器学习介绍
Hand crafted rules
- Machine learning ≈ looking for a function from data
- Speech recognition
- Image recognition
- Playing go
- Dialogue system
- Framework
- define a set of function
- goodness of function
- pick the best function
- Supervised Learning 监督学习
- Regression
- Linear model
- Non-Linear model
- Classification
- Binary Classification
- Multi-class Classification
- Regression
- 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 - 李宏毅> 学习笔记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
- ucos实时操作系统学习笔记——任务间通信(消息)
ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...
随机推荐
- [Design Patterns] 03. Behavioral Patterns - Observer Pattern
前言 参考资源 Ref: 史上最全设计模式导学目录(完整版) 观察者模式-Observer Pattern[学习难度:★★★☆☆,使用频率:★★★★★] 对象间的联动——观察者模式(一):多人联机对战 ...
- 给idea设置默认使用的JDK
一,前言 在文章给idea设置默认使用的maven配置中我给我的idea设置了默认使用的maven,并且在setting.xml文件中,设置了本地的maven仓库,这样就不会使用maven默认在C盘的 ...
- APP功能测试要点
1.功能性测试 根据产品需求文档编写测试用例而进行测试,包括客户端的单个功能模块以及功能业务逻辑(功能交互)如:涉及输入的地方需要考虑等价类,边界值,异常或非法等 1.1 安装与卸载测试 >软件 ...
- 后端(spring boot)解决跨区域问题
一.环境: 前端 vue element-ui 后端:spring boot 工具:IDEA Maven Node 数据库:MySql 二.首先我们需要了解什么叫跨区域访问问题 跨区域访问是指:不同域 ...
- 在vue项目中使用less
1.安装 less 和 less-loader. 命令: npm install less less-loader --save-dev 2.打开 build/webpack.ba ...
- Python学习笔记整理总结【Django】Ajax
一.Ajax(part1) Ajax即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,AJAX = ...
- 决策树(基于增益率)之python实现
如图,为使用到的公式,信息熵表明样本的混乱程度,增益表示熵减少了,即样本开始分类,增益率是为了平衡增益准则对可取值较多的属性的偏好,同时增益率带来了对可取值偏小的属性的偏好,实际中,先用增益进行筛选, ...
- 无广告版本Flash player 一枚,需要的拿走~
无广告版本flashplayer,国内flashplayer已经被植入了广告,安装后不断的弹出广告使用体验很差,最开始还以为是电脑被恶意植入捆绑插件, 检查半天发现竟然是浏览器的flash playe ...
- 我的mongoDb之旅(一)
开发环境 php版本:7.0.10 mongodb版本:1.5 开发框架:tp5 数据库工具:navicat12formongodb 可以参考的外部文件链接 tp5中mongodb的扩展说明:http ...
- 系统定时任务crond
1.Linux的定时任务:crond(crontab)服务 (1)crond 是什么? crond 是 linux 系统中用来定期执行命令或者指定程序任务的一种服务和软件:crond 服务默认情况(每 ...