嵌入式学习-(李宏毅)机器学习(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 就是在看过的资料上表现更好,在没看过的资料是表现更差

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

相关推荐
知识分享小能手1 小时前
React学习教程,从入门到精通, React 入门指南:React JSX 语法知识点详解及案例代码(8)
前端·javascript·vue.js·学习·react.js·前端框架·anti-design-vue
二向箔reverse6 小时前
深度学习中的学习率优化策略详解
人工智能·深度学习·学习
悠哉悠哉愿意6 小时前
【机器学习学习笔记】线性回归实现与应用
笔记·学习·机器学习
Rocky4017 小时前
在线测评系统---第n天
学习
qq_172805598 小时前
GO : cannot find module
学习·go
沐小侠9 小时前
软件设计师——软件工程学习笔记
笔记·学习·软件工程
GEO_JYB10 小时前
BERT家族进化史:从BERT到LLaMA,每一次飞跃都源于对“学习”的更深理解
学习·bert·llama
CC数分10 小时前
组长跟我说,她招人看重的是数据分析能力
学习·数据挖掘·数据分析·大学生·考证
网络安全大学堂10 小时前
【网络安全入门基础教程】网络安全零基础学习方向及需要掌握的技能
网络·学习·安全·web安全·网络安全·黑客
moxiaoran575312 小时前
Python学习笔记--使用Django修改和删除数据
笔记·python·学习