第一周:李宏毅机器学习周报

本文介绍了机器学习的基本概念,包括寻找适合的函数,训练过程的简版和复杂线性模型的三个步骤。深入讨论了深度学习,特别是神经网络的正向传播和反向传播机制,以及过拟合问题。文章强调了损失函数在模型优化中的作用,并探讨了不同类型的模型和激活函数的应用。
摘要由CSDN通过智能技术生成

目录

摘要

一、机器学习基本概念

二、Training简版三步骤

1.Function with Unknown Parameters

​编辑 2.Define Loss from Training Data

 3.Optimization(最佳化)

三、更为复杂的Linear Models三步骤

1.Models Bias

2.怎么找到一个含有复杂参数的Function

3.Function with Unknown Parameters

4.Define Loss from Training Data

 5.Optimization of New Model

 6.ReLU

 7.神经网络

四、深度学习

1.正向传播

2.反向传播

总结


摘要

这周学了机器学习的基本概念,包括机器学习的函式输入输出类型以及函数类别有哪些,分析training过程的三个步骤,包括简版和复杂模型版。以及神经网络的的结构,通过正向传播得到神经网络计算的结果的误差值,采用反向传播求误差对权重的梯度,回传误差,以调整权值降低误差。

一、机器学习基本概念

机器学习的本质,就是寻找一个合适的函数(Function),能够基于输入,输出人类想要的结果。
函数的输入输出:
  • 函数的输入可以是向量、矩阵、序列等等;
  • 函数的输出可以是数值(称为regression 回归)、类别(classification 分类)、文本、图片等
688f826022e6454a8a424cb43074e2f2.png

函数的类型:

  • regression:函数的输出是一个数值92b39f7546cf42a9bb76f606814d8c14.jpg
  • classification:首先要给出类别选项,函数根据输入进行判断,输出其正确的类别,例如,输入一封邮件可,函数判断是否是垃圾邮件,给出yes/No两个选项,从中先出一个选项。classification 的选项可以有多个。56b664d2a6a44f3dbc1f35f436dd7ca9.jpg
  • structure learning:让机器学会创造

二、Training简版三步骤

在让机器学会学习之前,需要先通过training,机器怎么找一个函数?机器找该函数的过程,分成三个步骤。

1.Function with Unknown Parameters

这个function称为Model,x是从已知数据中得出的,叫作feature,w即weight权重,而b叫作bias。

52f5ec31de4b4d46914a55aba71a6cfd.jpg 2.Define Loss from Training Data

以youTube的点阅人数预测为例
step1:给出参数L(0.5k,1);
step2:利用参数以及Model:y=b+wx,计算某一天的点阅人数预测值,计算得出的预测值与实际值之差的绝对值即误差e
47670bc1d6624d5db6b7f4d970584f44.jpg
step3:根据计算得出每一天的误差值,计算Loss(L的值越大,即预测误差越大,说明这组参数不好;L的值越小,即误差越小,说明这组参数越好)
7d9fd823ac104b9ea5f87f94334d43ae.jpg

9976e95678174ec2966e27f542b3b885.jpg

loss函数可自己定义,以下常见两类:MAE、MSE,根据需求以及对任务的理解选择误差e计算方式。

ae8aa845273244a590560cbced9c11c6.png

 3.Optimization(最佳化)

寻找最佳的参数值w*、b*使得L的值最小,即最优解。

a7e7b83b551a43ae86db8e678181408f.jpg

可以根据观察的数据进行合适的调整,如图所示数据呈现周期性规律,七天为一个周期。

e09d1deda0bb4dada02965b03ac02bcc.jpg

因此需要修改模型,将前七天的数据都列入考虑。当考虑的天数越多时,L的值越小,当考虑天数到达一个极限时,L的值就不会再发生变化。

ee696e621a4c496a80b6191f6e5445e1.jpg

这些模型都是把输入的x(feature)乘上一个weight加上bias,这样的模型有一个共同的名字叫作Linear Models。

三、更为复杂的Linear Models三步骤

1.Models Bias

对于Linear models来说,x跟y的关系就是一条直线,无论怎么改w、b,它永远是一条直线。因此无法拟合复杂的折线。

560c74bc05a0412293ff9175058cb88b.jpg

2.怎么找到一个含有复杂参数的Function

观察红线是可以由一个常数加上若干条蓝色的Function组成。红线=0+1+2+3

 d9c687823ae54832ab8e9ff099d2085f.jpg

任何piecewise linear curve(分段线性线段)都可以看作是一个常数,再加上一堆蓝色的Function。
任何连续曲线,你只要取足够多的转折点,你都能用piecewise linear curve去逼近他

3.Function with Unknown Parameters

用来表示这些蓝色折线的Function就是Sigmoid Function。

417cd4e5e3f848e4a757014fbe20f2df.jpg
调整w、b、c的值可以产生不同形状的Sigmoid Function。
  • 调整w:函数的斜率变化
  • 调整b:函数的水平位置变化
  • 调整c:函数的高度变化
ad88e3b4f95a47ef87c75c3acf896c41.jpg

把不同的Sigmoid Function 叠起来以后,你就可以去逼近各种不同的Piecewise Linear 的 Function,然后Piecewise Linear 的 Function,可以拿来近似各种不同的 Continuous 的 Function。

9bd72539332746809306aa5066dc5c4e.jpg

更有弹性的含有未知参数的Function,可以通过带入不同的w、b、c,就可以变成不同的Function。通过Sigmoid函数可以一步一步进行扩展。

046f211afd3b4a978841e61bb376106f.jpg

此时x表示为输入的特征内容。一个x即一个输入特征,j个x则为j个特征。

例如第二天的播放量y与前28天的播放量x均相关时,则需输入28个特征值。 

6ed0ef13e9bd4d9dbffdcafcac0d6270.jpg

将上图的蓝框式子用网络结构图展开表示:其中r为x的线性组合

b6b58a61ad94424a8f7b830c34fb8b07.jpg

33b85884e2c84c6986171a929fdd2fcf.jpg

所以总过程可以总结为下图三个向量式。

1. 先由x的线性组合得到r;

2. 再将r输入进sigmoid得到向量a;

3. 再将a进行一个线性组合得到最终输出y。 4de2e63481674378b9996abe421883b8.jpg

最后 y 可以用一个线性代数式表示,其中x是特征向量(feature),W , b , cT, b (注意两个b不是一个意思哦~)是未知参数 ,将未知参数列成一列,统称为θ 

此时我们就重写了机器学习的第一步,重新定义了一个带多个未知参数的function!

4.Define Loss from Training Data

跟简版相比,区别就只是计算y的参数增多

bfab481077134b349534fde12bd3d2a7.jpg

 5.Optimization of New Model

寻找最佳的参数值组*使得L的值最小,即最优解。

fe594cce67ea4ae5b0df94aabe355ebf.jpg

当数据数据很多的情况下,进行训练的时候,可以将数据分为几个batch。每个batch对应一批新的输入,即对应一批新的参数,即生成一个专属loss和一个专属梯度g。

第一个batch使用初始θ0,计算出专属L1和g1后,利用g1更新参数θ0 -> θ1;
第二个batch使用更新后的θ1,计算出专属L2和g2后,利用g2更新参数θ1 -> θ2;
第三个batch...
以此类推,直到最后一个batch优化最后一次θ,该θ即为最优θ。

把所有的batch看过一遍,称为一个epoch。例如,N=10000,B=10,那么一个epoch包含1000次update。

48e475456ca6400db7f1945b56815f14.jpg

 6.ReLU

b0710f2f30eb4b14b724a0d4b46c7b25.jpg

 两个relu叠起来就可以变成一个Hard Sigmoid,故ReLU的数量为2i。ReLU和Sigmoid在机器学习里就叫Activatiom function(激活函数)。

7cfac6c373c348d3badf3ba28114ae66.jpg

 7.神经网络

输入x加权求和加偏差b后进入激活函数中称为一层layer,将输出a继续这个步骤第二次进入激活函数后输出称为第二层layer。多层意味着深,这样组成的网络即为deep learning。

将激活函数称作Neuron(神经元),运算的网络结构称为neural network(神经网络)

3d8c64b7d7f74babb885a20db1dcc192.jpg

layer越多越好吗?

321bc5ba71644e56bf13d728a20876cb.jpg

随着层数增加,测试集损失值在逐渐下降。但是,到第4层的时候,测试集的损失值反而上升了。我们把这种现象称为“过拟合”。意思就是在训练过得资料上有变化,但是在没看过的资料上没有变化。

四、深度学习

1.正向传播

一排neuron可能有若干个,Layer1的每个neuron会接给每一个Layer2的neuron,因此Layer2中的neuron的输入就是Layer1中每个neuron的输出,所以叫Fully Connect(全连接)。传递的方向是从前往后,所以是Feedforward(正向传递)

4fe0a1dfa11c4be49dc23730ebee8e74.jpeg

  fd756f26ee1e4187b518acc844609d88.jpeg

2.反向传播

efe59c83dc524e788b2d5764a28fce18.jpeg

c9aaf4afc49b495faf3ccc2340c30df7.jpeg

总结

e60207564d83474a8581a9a57e0c3046.jpeg

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值