1 Supervised Machine Learning Regression and Classification

文章目录

  • Week1
    • OverView
    • Supervised Learning
    • Unsupervised Learning
    • Linear Regression Model
    • Cost function
    • Gradient Descent
  • Week2
    • Muliple Feature
    • Vectorization
    • Gradient Descent for Multiple Regression
    • Feature Scaling
    • Gradient Descent
    • Feature Engineering
    • Polynomial Regression
  • Week3
    • Motivations
    • Logistic Regression
    • Decision Boundary
    • Cost Function For Logistics Regression
    • Gradient Descent Implementation
    • Overfitting and Adressing Overfitting
    • Regulation

本系列参考视频:吴恩达的machine-learing 可去coursera官网查看
链接
然后就是比较偏向的是个人笔记,具体就是个人的理解能力以及复盘能力有所差异,这边仅当做个参考,做个笔记式的学习。

这边有看到有别的up进行搬运,这边就也一并粘贴出来:
链接

Week1

OverView

首先对于前三节P1,P2,P3
个人觉得不甚重要,主要介绍的就是关于机器学习的工作,应用,等一系列用途。这比较平淡,就没什么重点。

而我总结一下就是:当你编程的时候,你并不知道如何去定义一个编程思想的时候,你所用的就可以是机器学习,比如说,你想编程一个程序,让这个程序可以识别猫或者狗,这对于你纯编程而言,你并不知道如何去做,因为一张图片实际上到编程中,就是一堆的数字,像素点构成,而你不知道他们之间满足什么条件,他们是猫,他们之间满足什么条件,他们是狗,这是非常难的,用传统的算法方法进行识别,但这用机器学习就可以做到,这就是机器学习

Supervised Learning

什么是监督学习呢?
在他的ppt当中他是这么说的:
在这里插入图片描述
对于监督学习来说,他是有准确答案的,我们期望我们输入x,他就可以固定的输出这个y,而我们想要让机器学习的就是他们之间的这种mapping 映射关系,从而我们输入x,他能通过他学到的mapping关系进行映射出对应的y,替我们人类做出抉择。

而相同的对于监督学习来说,他一般是存在两种类型的任务:

  1. Regression
    在这里插入图片描述

就比如说预测房价的这个例子,我们给出一堆的x,也就是已知数据,然后让机器去学习其中的规律,最后比如说得到一条拟合曲线,也就是图中的蓝色线,可能是直线,也可能是曲线,看机器如何去识别出以及人类的算法采用的模型二者相关产生的拟合的曲线,然后我们在训练之后,我们仅仅需要输入x,就能得到对应的预测y-hat。值得关注的是关于回归问题,一般回归的值是一个连续值。
2. Classification
在这里插入图片描述
而对于分类问题而言,一般我们是让他通过分类得到一个值,而这个值一般都是离散值,比如0,1,2这样子的,并且每一个sparse都对应代表一个类别,或者输出一个概率值。

而我们想要做到的事情就是,我们还是想要让其学习到两种分类的边界的线,让我们可以明确分类,注意这个和聚类问题的区别,这边的分类是固定选项的,我们希望将其分成我们所固定好的label。
在这里插入图片描述
小的总结:
在这里插入图片描述
对于监督学习,实际上就是学习的data是一个有明确答案的data,然后一般分为regression和classification两类,前者预测出来的是一个具体的number,后者则是categories。

Unsupervised Learning

在这里插入图片描述
无监督学习和监督学习相比之下最为重要的差别就是无监督学习她学习的是没有标签 也就是文中的unlabeled的数据,或者就是说只有输入x,但是没有一个准确的y。

而对于无监督学习来说,它比较常见的任务如下:

  1. clustering
    聚类问题,用处一般挺多的,也是很流行的一种方式,他和分类问题其实很像,但是差别就是对于分类问题我们知道需要分成什么类,比如分成猫,分成狗,但是对于聚类来说,我们就不能知道到底需要分成什么类别,举个例子,我们希望根据网站用户的购买商品的情况,将用户划分成10类,在分类之前,我们并不知道这一类别的具体的属性,没办法做出label,也就无从训练,只能根据机器自己去学习,自己去分类。
    在这里插入图片描述
  2. dimensionality reduction
    降维 这边先不进行解释,之后特征工程处自然会懂得。
  3. anomaly detection
    异常检测,这实际上和二分类也很像,也需要区分,区别实际上和聚类问题差不多,需要知道的关键的区别就是:在训练的时候的数据是否存在label,那么就有人说了,那我们没有标签,那如何去判断到底是不是有异常呢?比较经典的做法其实就是按分位值来进行判断,这个就等待后续的解释,这边先略,有兴趣也可以去查找一下。

Linear Regression Model

线性回归模型或者线性分类模型,实际上就是我们的一种算法,我们认为我们的数据之间满足一种正相关的简单关系,线性关系,(但事实上不可能这么简单的,方便理解),然后我们通过数据去不断调整y = wx + b中w和b的值,最后得到一个好的w和b的值。

而对于简单的线性回归模型来说,数据一般采用如下图右侧的表格进行展示(当然可能有更多个特征,但在这里先不进行讨论。)
在这里插入图片描述
我们的任务或者说我们的目标就是根据右侧的表格中的数据,最后得出这条拟合曲线。

在这里插入图片描述
而对于这张图的理解就是,实际上是为了引出目标函数(代价函数)的相关知识,这边先介绍一点,我们训练或者初始化出来的一条y=wx+b这条函数(直线),我们拿去带入x,预测对应的y,我们称这个y叫做y-hat(estimated估值),而我们所指的y就是对应x的真实值,taget或者真实的y。

Cost function

现在我们已经知道了y=wx+b,但对于w和b的值我们完全是随机出来的,或者我们仅能随手画出一条较为可能拟合的曲线,这样听起来很不机器,换句话来说就是我们缺少一个评价标准,这个评价标准来评价这条拟合曲线的好坏。

这就引出了cost function 这一个函数来评估曲线的好坏:
在这里插入图片描述
也就是上文中的J(也称作loss损失函数),m的作用是避免点越多损失越大,所以除掉样本总数,2是方便运算用的(之后求梯度方便),y-hat就是预测值,y就是准确值。

而我们做的所有的目标就是为了利用数据集data求取在数据集当中使J最小的w和b,如此之后,在我们输入x之后进行预测的y-hat实际上就会使最为准确的值。
在这里插入图片描述

Gradient Descent

现在的问题就是有了评价标准J,之后我们应该如何通过J这个评价函数(目标函数,损失函数)去反向更新w和b,让新的w和b会使得J这个函数更小呢?现在提出的梯度下降就是来解决这个问题的。

我们来看一个比较生活化的例子:
在这里插入图片描述
对于这个图来说他的高度代表的就是J,损失,他的x和y轴代表的就是参数w和b,那么假设我们初始化的w和b让我们站在一个较高的位置,也就是那个小人所站在的位置,那么此时我们该怎么下山呢?沿着梯度下降(梯度也就是沿着我们向四周360看一圈,沿着最陡的方向去走,这样子下山的速度是最快的)这也就是我们下山的策略,也是我们梯度下降的原理。

此时的公式自然就是:
在这里插入图片描述
对于右半部分的求偏导就是梯度的具体体现,alpha就是学习率。

而至于代码上的实现:
在这里插入图片描述
需要注意的是,我们代码上的实现需要做到w和b的同时更新,不能像右边的式子,w先更新完后,我们拿着更新之后的w去更新b,这虽然也有效果,但明显不是我们想要的,追求完美的我们肯定不会这么做,hh。

而对于梯度下降更为数学的理解:
在这里插入图片描述
当梯度>0的时候,w = w- alpha乘一个大于0的数,所以他向小走,自然更接近谷底,当他<0的时候相反,也是朝谷底走,最后自然会落到谷底。(而假设我们的alpha是固定的,那么他的下降你会发现他的梯度是越来越小的,到达最底梯度为0,也就是此时他也就停下脚步,这时候你就会发现此后不论怎么走,他都是w = w - alpha*0 也就是w=w 做到了真正的停下脚步),至于alpha我们可以这么认为,alpha就是用来控制w变化的速率的,跳的快或者慢,当很大的时候,他可能跳不到谷底,当很小的时候他可能动的太慢,效果太差,这就算一个超参数,需要人为的去调整,当然之后也会有一些别的方法去做到优化,这边不细说。
在这里插入图片描述

但是有时候我们会发现其实我们落到的是一个局部最低点,并不是全局最低点,梯度下降只能做到帮助我们落到局部最优,至于是不是全局最优不一定,这取决于初始化,当然后面也会有相关的方法去优化,这边也不细说,重点是关于局部最优的理解:
在这里插入图片描述
就比如上图中,我们落到了黄点处,但此时w = w - alpha*梯度 此时梯度已经为0了,所以w已经不动了,但是真实的最低点时左边的那个最低点,这实际上也就是梯度下降的一个问题所在,之后adam什么的方法也是重点在解决这个问题,先不用了解。

然后就是现在还要了解的一点就是batch
在这里插入图片描述
实际上机器学习是拿一个batch,一个batch的数据来进行训练的,并不是一个数据一个数据来进行的训练,因为如果一个数据一个数据来,这实际上就很可能会受到极端数据的影响。

Week2

Muliple Feature

实际上我们的生活中不可能存在仅有一个特征的东西,一般是多种特征来共同决定,在之前的例子当中我们y = w * x + b ,但现在我们需要进行修改一下,比如说之前的预测住房的价格的我们选取的只有和size相关,但实际上他和很多因素相关:
在这里插入图片描述
这也就是行向量 我们最后的price = 多个x共同决定
在这里插入图片描述
画成线性代数,用dot product(点乘)来表示的话就是如下:
在这里插入图片描述
而对于这种多x的线性模型我们称之为:multiple linear regression

Vectorization

使用numpy进行计算的话:实际上很简单,直接使用np.dot()接口即可
在这里插入图片描述
而这个相比于前面的计算,他完成了并行计算,他比正常的算法流程来得更快,具体的计算原理这边不细说,只需要关注的是,我们在深度学习,机器学习当中一般使用的都是类numpy的矩阵计算库,不论是torch还是tf的矩阵表示,这边的计算方式都是使用cpu或gpu的计算运算。

Gradient Descent for Multiple Regression

其实也很简单:
在这里插入图片描述
这边就放一张图,不细说,实际上和之前的算法一样的流程,只是多求导几轮。

Feature Scaling

这边其实可以参照我的相关的引申介绍:链接

特征缩放是为了做到在一些情况下多个特征,但是其值的差距过大引起的某些维度的更新过慢的情况。

简单举个例子:
在这里插入图片描述
还是对于之前的那个预测房价的例子,x1是面积,x2是bedrooms的数量,我们此时会发现在整个数据集当中,我们的每一次训练x1的值是非常的大的,x2的值则是相对非常的小的,这样子会变成什么情况呢?

首先我们知道对于w的更新首先也取决于x的值:
在这里插入图片描述
在某一个w更新的过快,某一个w更新的太慢,最后的效果见下:
在这里插入图片描述
实际上就会让较大的那一个在真实点疯狂抖动,这是很不利于梯度下降的。

于是就诞生了特征缩放这一个概念:
比较常用的特征缩放就是归一化(mean normalization/maxmin normalization)和标准化(z-score)

在这里插入图片描述
在这里插入图片描述
而这两种方法之下,其实最常用的还是下面的这个标准化,第一种方法将数据缩放到0-1之间但易受到异常点的影响,第二种方法则还好,他把数据缩放到-1到1之间。

而对于什么时候需要进行特征缩放,对于数据本身就已经在很小的范围内,我们没必要进行特征缩放,但当数据范围很大或者很小,或者数据本身就已经很大的时候对于数据进行缩放。
在这里插入图片描述

Gradient Descent

在多次的迭代中,j会随着迭代次数的增加会变得越来越小,接近稳定,这是非常理想的情况下,当我们调整学习率,或者初始化数据不同的时候一般会变成后面的图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实际上就是J会不断变化或者就是变化的极慢,原因可能就是我们选择的alpha太大或者太小。

Feature Engineering

在正常情况下,我们采集的数据只有frontage和deepth,但是我们认为price取决于面积,于是我们可以自己产生一个size,作为x3,进行输入,这一部分其实比较取决于我们对于业务的理解,我们人类的经验。
在这里插入图片描述
有人此时会问,为什么frontage和depth不是已经存在吗,他俩不就能代表size?实际上确实可以,但是我们直接写一个size,实际上就是做到让他更好的去学习出size,而非让他自己猜出size,至于此时的frontage为什么存在,我们可以这么理解,此时我们考虑的就是单纯frontage对于price的增益效果。

Polynomial Regression

多项式的回归问题,实际上的分析中,问题一般都不是简单的线性问题,我们在机器学习当中一般会采用这种定义多项式去模拟,但现在证明这个方式已经快要过时了,不太适合于深度学习,这边深度学习都采用多层的线性,这边也就先跳过,只给出相关的理解,至于梯度的计算就留给你们自己了。
在这里插入图片描述

Week3

Motivations

这一节主要讲解的是在classfication的情况下,线性回归的缺点,为之后提出逻辑回归做了一个开头(注意),逻辑回归虽然叫做回归,但是他是解决分类问题的。

在这里插入图片描述
在这里插入图片描述

加入我们拿线性回归问题来解决分类问题,我们的处理就是当其预测出来的值小于0.5,我们取到的是no这个类别,当预测出来的值是大于0.5,那我们就当作是yes这一类,当然预测的数值会大于1也会小于0。这样子会有一个什么样子的问题呢,比如我们加上左右边的一个×,那么新的回归线就会是那条绿线,我们会发现此时有两个×被纳入了no这个家族,也就是对于线性回归来说,完成分类问题易受到异常值的影响。

总结一下,线性回归完成分类的坏处:

  1. 值没有在0-1之间,(我们一般采取的是0为no,1为yes)
  2. 易受异常值的影响。

Logistic Regression

替代的我们采用逻辑回归来替代线性回归,首先,先看一下,采用了逻辑回归之后,我们的图像:
在这里插入图片描述
我们希望我们绘制的图像是这样子的,始终在0-1之间,这个时候比如我们输出的值为0.7,我们可以将之认为这个值对应的就是预测是yes的概率是70%,这样子也是极好的,我们这边采用了sigmoid函数进行缩放,这也就是logistic和线性的区别,多采用了一层sigmoid函数进行包裹。

具体的实现函数:
在这里插入图片描述

Decision Boundary

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面的三张图,实际上就是关于决策边界的理解,实际上告诉我们的是,面对多维度的点集,我们使用逻辑回归之后,想要训练出来的东西和线性回归的一样,仍然是对应的w和b的值,最后构成相关的的曲线,对于这些数据进行包围,然后分类就是,将这些w和b与对应的x相乘之后,得到一个值,求这个值和0的大小,进行的分类。

Cost Function For Logistics Regression

训练集的格式
在这里插入图片描述
仍然是多个特征x1到xn,最后我们想要输出的是一个y,y的取值只能是0或者1,和预测的时候不一样,预测可以小数,后面会经过一个softmax或者直接设置阈值。

回忆一下我们之前采用的Square error 那可以用在logistics上吗?可以用,但是效果很不好,原因就是y的值非连续,最后出来的效果就是绘制的J损失函数的图像会有很多的局部最低点(非凸函数)。
在这里插入图片描述
这导致训练的时候就很难去达到最好的效果。

而相同的我们采用一个新的损失函数来让这一切可以训练,从而得到使得损失函数最小的w和b。
在这里插入图片描述
简单一点的式子,由于y只能取0或者1,所以有下面的式子。
在这里插入图片描述
解释一下式子吧:
在这里插入图片描述
在这里插入图片描述
当y=1的时候,实际上就是当经过sigmoid函数输出后得到的值是大于0.5的那一部分,也就是上图的0.5-1之间的那一部分,在这一部分当中,在这一段区间中,我们分析当输出为1,loss为0 正确的,当输出不为1,loss随之变化,且变化幅度越过0.5之前都还能接受,所以这是一个好的函数,相同的我们可以看y=0的时候,这个分析就留给你们自己了,一样的分析方法,而且我们会发现这两部分是完全对称y=0.5的函数,也就是说loss没有偏向性,没有更倾向于让哪一边更小,这也是很好的特性。

最后绘制出来的图像就是如下,手绘有点丑陋,理解意思即可哈。
在这里插入图片描述

Gradient Descent Implementation

关于这一部分其实实际上就和之前的线性方程的梯度下降是一样的,这边就不细说了,只是加上了链式求导。

在这里插入图片描述
更新方法也是一样的。

Overfitting and Adressing Overfitting

这边介绍一下回归 和 分类的overfitting:

回归:
在这里插入图片描述
分类:
在这里插入图片描述
我们通过看上文的图像我们自然可以明白三种类型的区别:

对于underfit,就是还未拟合,和我们想要的曲线还有差距,这时我们的做法应该是继续训练,或者调整训练模型,而对于just right 就是训练的正好,而overfitting就是学到了太多的东西了,他对于训练集非常有效,但是对于测试,或者不是这个训练集的一部分内容的元素来说,这就非常的有问题,泛化能力太差了,我们可以看到方差太大了。

而如何解决overfitting问题这边会有三个角度提供给你:
在这里插入图片描述

  1. 收集更多的数据
    在这里插入图片描述
    可以看到当点更密集,他就更容易学到这样子的效果。

  2. 选择你认为的比较相关的特征,而非全部特征
    在这里插入图片描述
    选择个人认为比较有用的特征。

  3. 正则化
    在这里插入图片描述
    把高的w的级数通过正则化算法调小(先这么理解,后面会解释,因为正则化实际上惩罚了所有的参数)。

Regulation

正则化采用的方式很简单,就是在原本计算损失函数的末尾加上一个参数,这个参数和所有参数的w相关:
在这里插入图片描述
这是通过实践证明了的方法,他会更容易让高级参数更趋向于0,而非直接等于0,所以他是一个L2类型的正则化,它可以做到让高级参数变小,低级参数想对于高级变化不大,进而提供更好的泛化能力,下面通过数学的角度进行解释一下为什么会变化:

对于线性回归:
在这里插入图片描述
对于线性回归来说,我们进行变化之后可以看到,实际上他会在每一次迭代过程中都对于w进行一次微小的缩小就是那个shrink-wj,这就做到了会让高级参数逐渐趋向于0(个人推测可能是因为低级参数比较好进行改变,高级的比较难,没有依据,纯猜测)。

而相同的对于logistic也是这个道理,这边就省略不写。

而我们对于b是否要进行正则化呢,其实没有严格的规定,要也可以,不要也可以,区别很小,所以就不要啦。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/143471.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5 - UI Material Lab 学习笔记

1、学习资料收集 UI Material Lab : https://www.unrealengine.com/marketplace/zh-CN/product/ui-material-lab 视频1&#xff1a;https://www.bilibili.com/video/BV1Hm4y1t7Kn/?spm_id_from333.337.search-card.all.click&vd_source707ec8983cc32e6e065d5496a7f79ee6 视…

记录一次 添加脚本的记录+改错记录

1.Update 和 Delete 一定要记得where条件 update 表名称 set 字段1‘修改的值’ &#xff08;单引号&#xff09; where 字段‘’ and Aid‘’; update jxkh22 set JXKH2200001 ,JXKH2201002 where B003 and JXKH22034;delete from table_name where condition delete from …

Linux控制---进程程序替换

前言&#xff1a;前面我们学洗了Linux进程退出的相关知识&#xff0c;了解了什么是进程退出&#xff0c;已经进程等待的相关话题&#xff0c;今天&#xff0c;我们来学习Linux中的进程程序替换&#xff0c;进程程序替换在Linux中可以用于实现新程序的启动、程序升级、多进程程序…

11.10 知识总结(数据的增删改查、如何创建表关系、Django框架的请求生命周期流程图)

一、 数据的增删改查 1.1 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 添加数据 id username password gender age action 修改 删除 1.2 修…

【数据库开发】DataX开发环境的安装部署(Python、Java)

文章目录 1、简介1.1 DataX简介1.2 DataX功能1.3 支持的数据通道 2、DataX安装配置2.1 DataX2.2 Java2.3 Python 3、DataX Web安装配置3.1 mysql3.2 DataX Web3.2.1 简介3.2.2 架构图3.2.3 依赖环境3.2.4 安装 4、入门使用4.1 DataX自带打印示例测试4.2 DataX生成任务模板文件4…

kubernetes集群编排——istio

官网&#xff1a;https://istio.io/latest/zh/about/service-mesh/ 部署 [rootk8s2 ~]# tar zxf istio-1.19.3-linux-amd64.tar.gz [rootk8s2 ~]# cd istio-1.19.3/[rootk8s2 istio-1.19.3]# export PATH$PWD/bin:$PATH demo专为测试准备的功能集合 [rootk8s2 istio-1.19.3]# i…

Linux文件系统之inode

文章目录 1. 磁盘1.1 认识磁盘1.2 磁盘物理构造1.3 磁盘逻辑结构 2. 文件系统3. 如何理解目录 1. 磁盘 1.1 认识磁盘 文件 内容 属性&#xff0c;而文件是存储在磁盘上&#xff0c;那么可以理解为磁盘上存储的文件 存储的文件内容 存储的文件属性。 文件的内容采用的是块式…

kube-bench-CIS基准的自动化扫描工具学习

仓库地址&#xff1a;GitHub - aquasecurity/kube-bench: Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark kube-bench,检查 Kubernetes 是否根据 CIS Kubernetes 基准中定义的安全最佳实践部署,下载…

应用协议安全:Rsync-common 未授权访问.

应用协议安全&#xff1a;Rsync-common 未授权访问. Rsync 是 Linux 下一款数据备份工具&#xff0c;支持通过 rsync 协议、ssh 协议进行远程文件传输。其中 rsync 协议默认监听 873 端口&#xff0c;如果目标开启了 rsync 服务&#xff0c;并且没有配置 ACL 或访问密码&#…

Redis05-集群方案

目录 Redis集群方案 主从复制 主从复制的基本原理 主从复制的工作流程 乐观复制 主从复制的优势 哨兵机制 哨兵的关键作用 服务状态监控 哨兵选举Master规则 分片集群 分片集群中的数据读写 数据写入 数据读取 一致性哈希和客户端分片 Redis集群方案 微服务时代…

TDengine 与煤科院五大系统实现兼容性互认,助力煤矿智能化安全体系搭建

近日&#xff0c;涛思数据与煤炭科学技术研究院&#xff08;以下简称煤科院&#xff09;已完成数个产品兼容互认证工作&#xff0c;经双方共同严格测试&#xff0c;涛思数据旗下物联网、工业大数据平台 TDengine V3.X 与煤炭科学技术研究院旗下煤矿复合灾害监测监控预警系统、煤…

Elasticsearch docker-compose 使用 Logstash 从 JSON 文件中预加载数据

在我们创建 Elasticsearch 进行开发时&#xff0c;最简单的办法就是在本地使用 docker-compose 来一键部署一个 Elasticsearch 集群。有时&#xff0c;特别是在准备测试环境时&#xff0c;开发人员希望从一开始就创建包含一些测试数据的数据库容器。我们可以使用 Logstash 来很…

什么是自动化测试框架?

无论是在自动化测试实践&#xff0c;还是日常交流中&#xff0c;经常听到一个词&#xff1a;框架。之前学习自动化测试的过程中&#xff0c;一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料&#xff0c;加上自己的一些实践&#xff0c;算是对“框架”…

使用python电脑轻量级控制手机—adb命令和手机投屏

文章目录 一、通过无线连接手机和电脑二、使用adb命令轻量级控制手机二、使用scrcpy控制手机 通过电脑控制手机有多种方式如appnium等&#xff0c;本文介绍的是两种轻量级的方案&#xff0c;使用adb命令刚和手机投屏。 一、通过无线连接手机和电脑 1、手机设置 开发者选项—us…

使用 MATLAB HDL Coder 和 FPGA 快速实现自动白平衡(AWB)

使用 MATLAB HDL Coder 和 FPGA 快速实现自动白平衡&#xff08;AWB&#xff09; 在此项目中&#xff0c;我们将使用 MATLAB Simulink 和 HDL 编码器创建自定义 IP -- AWB。 MATLAB 设计 自动白平衡模块的设计是使用 HDL Coder 在 MATLAB 和 Simulink 中创建的。HDL Coder能够生…

11.15 知识总结(模板层、模型层)

一、 模板层 1.1 过滤器 1.什么是过滤器&#xff1f; 过滤器类似于python的内置函数&#xff0c;用来把变量值加以修饰后再显示。 2. 语法 1、 {{ 变量名|过滤器名 }} 2、链式调用&#xff1a;上一个过滤器的结果继续被下一个过滤器处理 {{ 变量名|过滤器1|过滤器2 }} 3、有的过…

idea中搭建Spring boot项目(借助Spring Initializer)

创建新项目 启动端口 在项目配置文件application.properties中写入 #启动端口server.port8088编写测试方法 创建控制类文件夹–>便于规范我们新建一个controller包–>建一个HelloWorld.class package com.example.hellospringboot.controller;import org.springframew…

Linux下MSSQL (SQL Server)数据库无法启动故障处理

有同事反馈一套CentOS7下的mssql server2017无法启动需要我帮忙看看&#xff0c;启动报错情况如下 检查日志并没有更新日志信息 乍一看mssql-server服务有问题&#xff0c;检查mssql也确实没有进程 既然服务有问题&#xff0c;那么我们用一种方式直接手工后台启动mssql引擎来…

arcgis--填充面域空洞

方法一&#xff1a;使用【编辑器】-【合并工具】进行填充。首选需要在相同图层中构造一个填充空洞的面域&#xff0c;然后利用【合并】工具进行最后填充。 打开一幅含有空洞的矢量数据&#xff0c;如下&#xff1a; 打开【开始编辑】-【构造工具】-【面】进行覆盖空洞的面域的…

时间序列预测实战(九)PyTorch实现LSTM-ARIMA融合移动平均进行长期预测

一、本文介绍 本文带来的是利用传统时间序列预测模型ARIMA(注意&#xff1a;ARIMA模型不属于机器学习)和利用PyTorch实现深度学习模型LSTM进行融合进行预测&#xff0c;主要思想是->先利用ARIMA先和移动平均结合处理数据的线性部分&#xff08;例如趋势和季节性&#xff09…