嵌入式学习-(李宏毅)机器学习(3)-day30

难懂的来了:

第一个式子误差太大,所以用很多的sigmod函数叠加来逼近原始数据的折线就得到第二个式子;第二个式子只是考虑了前一天的数值,但是多考虑前几天的数的话,效果会更好,所以我们将第三个式子引入到第二个式子中,这个时候第四个式子就出现了。

r1, r2, r3的意思是将前三天的浏览量都和一个weight乘再加上一个bias后得出的东西,这个和前一节课讲的一样,可以降低10%的loss左右,就得到r1,r2,r3,如果没有用前三天的数据,只用了前一天的数据,那么这里的 r 也就是 bi+wix1

我们再将这个公式简化为矩阵的形式

我们再将r1,r2,r3通过sigmod 就得到了y

把东西连起来以后就是下面的这个式子

回到机器学习的三个步骤

我们现在改写了第一步,将一个简单的一元一次方程变成了现在这个由多个sigmod函数拼出来的函数而成

来到第二步,我们要定Loss

和之前都是一样的,将这些参数给定一个初始值,写进去,然后把一组feature带进去,估算一下是多少,再看和真实值差多少,差值平均就是Loss

optimization也和之前一样,没有什么不同,就算我们换了一个模型,演算法还是梯度下降

步骤是初始一个值 ,再对每一个未知数计算微分,把微分集合起来以后作为一个向量g,

倒三角形的意思是所有的参数对L做微分,

更新参数和之前的更新是一样的。

我们从所有N拿出来算loss 换成一个batch1拿出来算loss ,叫L1

再算出gradient,拿这个gradient更新参数

再拿另一个batch2,算出来loss,叫L2

再算出gradient,拿这个gradient更新参数

所有的batch更新完了,就叫一个epoch

为什么要分一个一个batch,我们下周才学

超参数就是自己设置的东西,Learning rate,sigmod ,batch 都是超参数

我做了一个epoch训练不知道更新了几次参数,要看batch size有多大

不止有sigmod函数,还有一个叫ReLU这个东西,其实也就是pytorch里面的非线性激活就是这么来的

把下面的ReLU加起来,就是上面的sigmod

不想用sigmod,想用ReLU的话,也可以,但是两个ReLU才可以变成一个sigmod,所以求和下面就是两倍,他们都叫做 Activation function(激活函数)

真实的资料上,100个ReLU有显著差别

接下来我们可以继续改我们的模型

我么可以经过一连串的变换产生a,再将a再做一连串的变换产生a撇,多做几次

要做几次?这又是一个超参数,第二轮的参数也第一轮的参数也不一样。

再加几层,多做几次ReLU,看起来是有进步的

这就是神经网络,就是deep learning

有很多层

为什么要有那么多层而不把这些都集中在一层呢?这个问题后面会讲

现在开始讲 Overfitting 过拟合

什么是over fitting 就是在看过的资料上表现更好,在没看过的资料是表现更差

用训练出来的预测新的东西,用三层的还是四层的,当然用三层的,用没有看过的资料上训练的最好的

相关推荐
微露清风6 小时前
系统性学习Linux-第二讲-基础开发工具
linux·运维·学习
阳光九叶草LXGZXJ7 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
biuyyyxxx7 小时前
Python自动化办公学习笔记(一) 工具安装&教程
笔记·python·学习·自动化
丝斯20119 小时前
AI学习笔记整理(66)——多模态大模型MOE-LLAVA
人工智能·笔记·学习
军军君019 小时前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three
bylander10 小时前
【AI学习】TM Forum《Autonomous Networks Implementation Guide》快速理解
人工智能·学习·智能体·自动驾驶网络
xxxmine10 小时前
redis学习
数据库·redis·学习
Yff_world11 小时前
网络通信模型
学习·网络安全
野犬寒鸦12 小时前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端·学习
科技林总12 小时前
【系统分析师】6.3 企业信息化规划
学习