一、机器学习/深度学习介绍(台大李宏毅 2021 学习笔记)

机器学习\approx找到一个函数,使得该函数能输出我们想要的结果:

常见的函数类型有两种:回归(例如预测第二天的PM2.5浓度)、分类(判断邮件是否是垃圾邮件)

对于围棋而言,同样可以划分到分类问题,只不过分类结果能达到 19*19种:

当然,除开回归、分类外,还有个更牛逼的机器学习类型:Structured Learning(牛逼到跟下文没啥关系,并且老师老二次元了)

机器学习的框架:

找到函数形式->定义损失函数->最优化参数(机器学习本质上是最优化问题?)

开始举例:关于youtube上的订阅人数(预测问题Regression)

目的:希望找到一个函数,使得能够预测2/26号的观看人数(订阅人数)

第一步:找到函数形式?

给出模型:,w跟b是未知参数,w称为weight ,b称为bias,是机器自己找到的参数

定义一个损失函数 L(b,w),用来衡量b跟w这两个参数到底多好

上述模型包含的信息是,第二天的视频观看量仅跟前一天的视频观看量相关

把模型输出的结果设为 \hat{y},如此就可以定义损失损失函数L,介绍了两种方法,一是MAE,二是MSE

,如此可以定义出Loss的表达式(接下来皆采用MAE):

直观的可以画出一个类似等高线的损失函数的图:
 

 

可以看出,颜色越偏红色,误差越大,越偏蓝色,误差越小。

如何选择最优的w跟b? --梯度下降:

对于w而言,假设b是常数,首先随机选择一个w^{0},然后计算L关于W的偏导,若偏导小于0,则增大w,反之减小w。

η称之为学习率。是一个主观的参数,由自己设定。后文会讲,梯度下降方法不好的原因不是因为下降不到全局最小点?

明显由图看出,上述模型效果不太OK,考虑到一周周五周六几乎没人学习:

考虑到以一周为单位,修正模型:,能够看出,损失函数的值变小了。

但线性模型太简单了,想换个牛逼的模型,所有的模型都可以近似为好几个常数项加上好几个折线:,哪怕连续的光滑曲线也能通过取点抽样同样转成折线近似拟合。但折线的方程式不好表示,这边改用sigmoid function进行拟合。

所以此时线性回归可以变成更牛逼的样子: ---->>

所以此时做出变化,由单纯的线性变成折线:

如何表示这些参数:

注意图片,竖着的表示向量,如r b x ,方形的表示矩阵,如W ,倒着的表示做转置,如ct

 

->

这样就完成了向量化的处理(有一说一这PPT做得真好,不需要文字我应该也能回忆起来在讲啥)

ok,接下来把所有的未知参数通通塞到θ这个向量里(包括上面的W,b,ct,b)(还有,前后两个b不一样)

第二步:定义损失函数

,L就是θ的函数了。

第三步:最优化

目的,求出θ,使得L的值最小。同上,采用梯度下降法。瞎吉儿找个θ0,然后一直更新就行。

 

 但在实际操作中,如果数据很多,一般的操作是,将全部N个数据分成随机分成n个batch,每个batch有B个数据,然后遵循如下规则进行更新:(why?跟数理统计有关吗?)

即对第一个batch更新后的值作为第二个batch的初始值再进行更新,keep updating。全做完一次称为 1 epoch。(我这边的理解是不是有点问题?)

*********************

然后就是sigmoid  --> ReLU(ReLU更好,为啥?)

深度学习的概念:

,即一层的sigmoid输出作为下一层的输入

层数越多,训练集训练效果越好,但测试集不一定(过拟合?)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值