李宏毅机器学习笔记(1)

本文介绍了机器学习中的三种主要任务(回归、分类和结构化学习),详细讲述了从定义模型、损失函数训练到参数优化的过程,区分了线性与非线性模型,并重点讲解了sigmoid和ReLU在前馈神经网络中的应用。

机器学习通常做的任务

1.Regression(回归):做预测,例如根据今天的PM2.5预测明天的PM2.5数值一样,属于回归任务。
2.classification(分类):做分类,分为二元分类与多元分类,简单来说就是做选择题,例如目标检测里的检测该物是猫还是狗还是其他。
3.structered learning(结构化学习):让机器产生有结构化的物件,生成一张图片等。

机器学习做任务的三个步骤

在这里插入图片描述
step1:根据已有认知定义一个函数式子(模型),如y=w*x+b(其中w,b是参数,x是输入)。
step2:寻找损失函数来训练参数,例如,设置w=0.1,b=1,得到的y=0.1x+1,输入x后就能得到模拟真实值y,将其与实际真实值y’做差值比较,这时loss函数=I y-y’ I,这种绝对值的方法叫MAE,取平方的叫MSE。
step3:寻找最优的参数,从而将模型训练出来(用梯度下降法)。用各种参数求出不同的loss后,会形成一幅直方图,需要在直方图上做微分(寻找全局最优点),若是训练出来最优的参数都不满意,可以直接修改模型(修改函数式子)。

线性模型与非线性模型

上述的y=b+wx是是一个线性模型,即无论w,b参数怎么变,y与x的关系都是线性关系,但是实际问题中,并不是只有线性问题的,也可能存在非线性问题,因此需要引入非线性模型(激活函数)。

在这里插入图片描述
如图所示,任何曲线理论上都可以被一个常数+多组类似于sigmoid函数所组成的线来表示,意味着sigmoid函数可以表示任何线段。

名词解释

在这里插入图片描述

batch:就是把一组向量分成多个包(batch)。
epoch:把每个batch都看过一次,遍历了一遍,叫做一个epoch。
update:每次经过一个batch,都会update一个参数,接着经历下一个batch。

从sigmoid到Relu

上述提到了用sigmoid可以作为激活函数,而Relu可以用来表示sigmoid。 (两个Relu可以合成一个sigmoid)
在这里插入图片描述
在这里插入图片描述

前馈神经网络

前馈神经网络的作用找到一个合适的模型(式子)来解决问题,我们知道找到合适的模型实际上就是定义参数量和参数大小,常见的前馈神经网络主要是MLP(多层感知器),上述提到的y=w*x+b中只有w和b这两个参数,但实际上一个复杂的问题肯定是由很多参数与非线性问题组成的,一个层里的一个w代表一个感知器,一个层里的多个w代表多个感知器,因此多层里的w就代表多层感知器。如下图所示,表示的就是单层感知器的三个w和一个b。
前馈神经网络作用:我们定义模型式子,通过optimization更新参数,都是在前馈神经网络里进行定义参数和更新参数的。
在这里插入图片描述

题外话

sigmoid,relu不仅可以用来做模型定义的式子,还可以用来做和softmax类似归一化的功能,例如分类等。只不过现在我们更常用softmax来做归一化。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值