粉丝1345获赞7369

好,然后我就简单的分享一个那个 metamb 神奇网络工具箱的一个简单应用吧。然后呃,这是就是为了那个节省时间,我把它每一个截了个屏,就是 那个不用不用运行,咱们就可以节省时间,但是里面内容都有。然后这是咱们直接进入那个 matamb 的界面, 大概就是这样样子。然后呃右边这这块地方叫工作区,他主要是用来查看你的那个呃函数,以及一些就是变量这些呃这些东西,然后这个是命令窗口,命令窗口的话是用于你输入一些命令,然后让他那个 出一些命令,比如说是我这两条命令,就是第一个 x, 呃,第一个就是我建立一个变量 x, 并让他从零到二派,然后不长是零 点一个派进行个取值,然后第二个是 y 乘以 y 是呃三 ex, 然后再加上零点一 round, round 一 round 一是随机,从零到一产生一个随机数,然后我乘以零点一的话,就是相当于是从零到零点一产生一个随机数, 然后我见这两个命令,命令完执行完之后,你就可以看到我在右边这个工作区,我就有这个 xoy 这两个边量以及他所存呃存储的数据了。呃,然后这是命令窗口,如果你需要就是写很多的代码的话,这上面会有相应的 就是按键,这里就不用再给大家叙述了。然后紧接着我是使用那个马达莫自带的呃工具包,也就是这个 app, 他一共有主页绘图 app, 你点这个 app 他会弹出这些东西, 然后我用的是这第二个,呃 nature, 呃 network, 呃,呃 fitting, 就是意思就是那个神经网络礼盒,然后左边这个的话,它是起一个剧类的功能,然后右边第二个右边就是相当于是第三个这个图标的话,它大概是一个识别的作用。然后第四个这个的话 就是可以起到一个类似于时间序列的一一个那个预测的功能,呃,大家如果有需要的话可以自己下去了解一下。然后这次我们主要讲这个第二个是你网络拟合工具箱,然后他这个大概意思就是一个是你网络的介介绍, 然后这边是他的一个流程图,然后那个杜老师上课也给咱们介绍过,然后我们直接点这个 next 就行。比如点 next 的话,我们就进入到这样一个页面,这个页面的话就是需要你输入,输入两 个就是输入变量,输入和输出变量,然后并且选择他的那个方式,然后我们输入进来之后可以看到右边这个呃 summary, 就可以呃 summary 里面就会弹出你这个数据的一些特征,比如我刚才说的它里面的特征就是二十一个样本一个元素, 然后我们把 x y 选择之后,就是通过你调这个呃竖,就是那个行矩阵和列列矩阵,通过调整这个呃软,就是这这两个按钮的话,你可以就是看到你这个 数据的呃 summary, 然后根据你呃的实际的 summary, 然后就是调整合适了之后,我们直接进入下一个环节,直接点 next 就行,然后进入下一个页面的话,它是这样一个样子,它主要是 就是默认的是呃训练,这个这三个分别代表我们神经网络里面的训练级、验证级和测试级,我们输入的二十一组样本,他就是默认百分之七十作为我们的训练级,然后进行神经网络的训练, 然后百分之十五作为我们的验证机,就是训练他通过将训练好的百分之七十的数据训练好的神经网络,呃, 再将这验证级的百分之十五的数据带入这个训练好的神经网络之中进行进行一个验证,验证出来,然后再进行呃,进行就是 呃进一步的调节这个神经网络精度,然后最后会有百分之十五来作为一个测试级,就是相当于对我们一个就是这个神经网络进行一个评价,然后这边的话 是他的一些就是介绍,然后我们呃就是直接按默认来就可以了,他也可以进行一个就是调整。直接点 next 的话,这里的话是 用用来那个填写那个隐含层个数,他默认是十层,是有一个隐含层个数,是有一个那个经验公式来算的,这里我就不再坠述了,大家有兴趣可以下去自己了解一下。然后我这里因为老师上课讲的是咱们用一层一个隐含层来, 就是那个试一下,我就这里先填一个隐含层,然后我们直接点 next, 这里这个页面的话就是, 哦,终于到了我们那个神经网络的训练的时候了。呃,上面这个按钮里面点开的话,点这个下三角这个符号的话,他会有三个方法,其实三个方法的话就是 有差异,但是呃在咱们大家就是平常日常使用的话就可以不用不用管他这个东西,然后我们直接按默认这个东西啊,默认这个方法直接点这个吹训练就行。 然后训练完之后他会弹出这样一个窗口,这样一个窗口的话是这个是迭代次数,这个 time 是他所耗费的时间。然后这些东西的话我都会给大家讲一下,然后我们从这个每一个按钮进行一个,就是我,我们我点开给大家看一下,然后这边的话是他一个 哦这里挡住了,然后我随从人家的那个就网上搜了一张图片,截了一个图给大家看一下。嗯,还记得刚才咱们有三个,那个就训练级、验证级和那个测试级吗?然后这三个级和他呃,在那个神经网络 礼盒的过程中,呃,然后与实际的数据之间的均方差和相关系数这里有一个值。然后我们也可以从就是从这几个按钮里面可以看到第一个按钮的话是这样一个图,他大概的意思就是我的 呃神经网络的迭代次数,然后这三根三条线的话是它分别的那个训练级、页任级和 测试级,这个图的话因为我们只有一层,而且这个数据只有二十一组,就是神经网络,大家众所周知都是需要大量的数据以及合适的这个隐含隐含层,这些进行一个训练数据太少,他会出现那种就是过敏核的 呃过敏盒的状态,然后我们这个的话就是不是很理想,后面有我,后面我提高了那个 数据的数量,会有那种比较有理想的图片,大家一会可以看一下。然后就不是很理想,但是就是系统运行他默认是第五次就达到了最优级,然后一共运行了十一次,一共进行了十一次迭代,在第五次的时候达到了最优级, 这个图就能表达这个含义。然后左边的中坐标是他的那个 mse, 也就是刚才说到这个军方误差。军方误差呃什么含义?大家如果不知道的话可以下去查一下,我这儿也不再赘述了。然后紧接着是第二个按钮,第二个按钮点开,他是会有这样一幅图, 大概的含义就是梯度变化,然后我们就不用管它就相当于是那个梯度变化的话,就是那个老师上课讲的那个不长,这个东西应该是。然后呃接着下一个按钮 点开的话,它是一个误差的直方图,就是呃,就就就是这么一个情况,他不同的数据局以及呃,以及他那个就是不同数据局的一个误差,做成了一个直方图的样子。然后这是他 每一个数据集与实际的呃实际数据的一个拟合的情况,然后它这个数据是 r, r 是越接近于一,它这个拟合情况是越好的。 然后紧接着这个东西的话是呃,我们就是最后的一个呃 fit, 这个按钮按完之后它会出现这么一张图,这个图是这条黑色的线,是我们拟合出来的函数,然后这里面每一个点 是我们输入的,应该是说我们输入的数据,然后这个就这个黄色的这个竖线是我们的一个误差,可以看出咱嗯,在我们数据较少的情况下,他拟合出来函数是这么一条。然后紧接着 当我们增加这个样本的训练个数,从不长,从零点一派到零点零一派,然后我们的数据也从二百二二十一组数据提升到了二百零一组数据。然后我们紧接着进行那个相同操作,但是 呃就是相同操作,其中隐含层的个数也还为一。然后使用方法以及啊训练级、验证级以及测试级,他的那个百分比也不改变的情况下,我们看一下他最后结果,这样来看的话,他这个叠带的这个线 就会比较符合实际情况,就不会像上一张那个图上一次迭代一样就出现那种过敏核情况啊。可以看出我们本次迭代只进行了十次,呃,进行十次迭代,然后在第四次我们就进行就是达到了我们的 最优解,然后这是他的那个呃不长,然后误差脂肪图以及他的这个拟合情况,哦,这是,然后我想着重给大家看的是这是咱们的那个拟合函数,大家从这就可以看出看这是零,然后这是一, 然后这边是二派,大家就可以看出他这一条你和曲线已经很接近于我们的那个呃就是呃赛引函数,但是他的这个 误差还是就是与实际数据的误差还是有很大的,就就是还是有很大的误差。 然后在此我们如果增加隐含层的个数会发生什么,我们就按他十层来计算,然后不不单独根据经验公式来测算他的隐含层个数,如果你进行科研活动的话,他这个隐含层个处是需要进行那个 根据我们那个经验公式来计算呃调出来的,我们这里就直接按他用默认值十层来进行计算,然后这是这可以看出我们就是当隐隐含层个数调成十层的话,他这个连带次数就上去了,但是 呃所花费的时间还是比较少的。然后我们每一个点开都看一下,这个接待的这个线路 就十分的美观,就我们可以看出在三百三,三百七十七次的时候,我们完成的迭代并得到了最优解。然后这是一个他的那个误差,然后误差脂肪图以及他拟合情况,我们这里就看他,他看到他那个拟合情况已经接近于一了,就 特别好,但是具体是不是过拟和情况的话,大家还是需要进行一个分析。然后这里的话我们可以看到他这个就基本不存在误差,然后拟和情况也非常好。 然后就是我的操作就到这里完了,但是其实他这个神经网络后面还可以进行保存,神经网络就是你对你现在训练得出的这个神经网络很满意的话,你就可以进行一个保存,紧接着在后续的科研活动中可以进行应用。所以我就从网上 找了些图片,然后给大家把后面的给讲一下,就是这是把那个图片关了之后,然后点 next 出现了界面,然后呃这个按钮确定就是我们如果你对这个手机网络不满意的话,我们可以进行再次训练,每次训练基本他最后得出来的手机网络是不一样的,所以 你如果不满意可以重复的进行训练,直到你满意为止,或者是一直不多次不满意,可以调节一些隐含层个数以及训练级的呃占比,然后我们直接就是呃下一步,下一步完了之后是 这个的话是让你就是他系统直接就把你这个神经网络代码生成了,但是上面这一块是生上面这个按钮是生成的比较复杂的 神经网络代码,然后下面的话是生成的比较简单的神经网络代码,具体就是如果大家感兴趣的话,可以自己下去,就是找一下他们的不同,然后下一步,下一步的话就是重点就是我们这里有一个保存网络的按钮,保存网络这里看他的 网络的名称,这些都是你可以进行自己自定义的,当你定义完成了之后,然后就可以在左下角这个 按钮一点就可以保存网络了。保存完网络之后,他这个网络就会保存到你的这个工作区这一块, 比如说你刚才呀,比如说你刚才命名的这个神经网络名称是呃。 net, 然后你这里保存完之后,它这个工作区就会出现一个。 net 的一个神经网络,然后当你需要 呃进行一个,就是重新导入一组数据进行预测啊,比如说,比如说,比如说我在这里,在我是一组数据输入一组数据,比如说是 x, 就是这个预测,然后道的函数调用,调用我们这个 刚才刚才保存的这个神经网络,然后通过这个 same 命令,然后将神经网络进行一个 进行,意思就是用我们刚才保存的这个网络对这个刚才这组数据进行一个仿真, 这这个 s i m 它的那个全称我,我不会拼,但是它这个意思是仿真,然后通过这一个命令操作,我们就可以将 x 的一个预测值 y 进行一个导出,当你这个命令操作完之后, 它这里会自动生成一个 y 的一个呃,那个变量以及它的值,然后我的那个内容就这么多,如果有错误的话,欢迎老师同学们就是批评指正。

哈喽大家好,上次我更新过那个优化工具箱的视频之后呢,很多同学反映他们用的是这个 mylive 二零一二的这个,他是没有那个优化工具箱的,点开这个优化工具箱之后呢,他就选只有这个进入这个实时优化工具箱, 那我们不要怕,就直接进就好了,那我们先就是根据这个呢来了解一下情况。如果大家有用过那个 passion 的胶皮特 notebook 这个工具的话,大家都会知道就是这个形式呢,其实跟那个形式是非常相似的,就是给你,给你一个窗口,然后你输入程序就运行完之后呢,这些 数据呢就会在这显示出来,我们把它 clear 掉。那今天呢就是我主要给大家讲讲两个简单的例子,一个例子呢就是一个简单的线性规划的一个例子,另外一个呢就是一个非线性规划的一个例子,因为我自己呢也没有做太多的用,用这个工具箱做太多工作,所以呢就是 后续有问题大家再继续进行交流。那首先呢我来就是简单介绍一下这个线性的一个例子,这个框框呢是输入我们就是在规划过程当中所需要用到的一些数据,那这里呢就是比如说我线性规划当中可能有一个目标的这个系数,比如说这里呢就是 啊 x 一乘以二, x 二乘以二, x 三乘以二这样的一个目标目标函数,就是我们可以用把它写在这里,然后可能还有约束,比如说我是单个约束的话,那我就直接写啊二一二,然后写一个二一, 如果我是多个的话,那我就写成一个矩阵的形式就可以了,然后下面这个写成一个竖组。那接下来呢就是我简单给大家讲一下他这个是怎么用的?就是比如说我们要做一个线性规划,那这个时候呢就是我们不要选这 非线性条件,因为不选择非线性条件之后,他会直接就是把这个线性规划这这个选择给过滤掉,我们把非线性条件去掉,我们选择上届下届,然后线性不等式、线性等式这些约束呢都可以用上, 然后呢他就会自动推荐我们使用这个线性规划这个算法,因为这个呢是最接近我们实际的这个模型的,然后呢我们进行系数选择,这这里我们直接选择之后呢我们发现这里并没有, 因为我们上面这个呢这个小框框他并没有运行,那怎么运行这个小框框呢?一方面呢就是我们可以就是点上面的实时编辑,然后点击这个运行结,然后他就会直接把这个运行出来,然后这里面就会显示他的变量, 然后我们也可以选择直接按这个 ctrl 加 enter 键,然后直接运行,这里呢也会出来他们这些变量, 这里出来这些变量之后呢我们再在下面进行选择的时候呢,他就会有选项,这里呢就会出现我们 target, 然后我们就选这个系数,然后呢下届下届的话我们就直接选一个负一吧。 当然了我们也可以就是自己进行设置对应三个三个数,比如说我们自己设置来自工作区,然后这里呢我们就可以选择 a, 那这里这个时候他对应的下界呢,就分别是 x 一对应的是大于等于负二, s 二呢大于等于一, s 三大于等于二,这里呢我们就直接选择一个所有边界相同,然后选择一个负一,比较简单的情况啊。第二个呢就是也是一个上上界,上界的话我们也是直接选择所有相同, 然后设置一个二式比较简单。嗯,线性规划的话我们也设置这个呢,线性不等式,我们设置 eq 一和 r 一,然后线性等, 是的话我们设置一扣二 r 二,这里呢还可以设置这个指定求解器的选项,我们可以点添加,然后看一下这里有容差算法设置,还有运行时间限制,这里可以自己就是设置一下,看一下结果,这里呢我们可以输出每次迭代的结果,然后也可以就是只输出最终的结果,我输出每次迭代的结果, 然后呢这里我们点开这里呢就也就是我们实际上就是在上面这些设置操作的时候呢,就是我们也可以把这个这些语句直接复制到下面,然后就是让他运行也可以,但是这里我们就直接运行, 直接按 ctrl 加 enter, 然后呢就会得到我们这一个迭代过程,然后这是迭代过程当中的一个值,然后我们看一下结果,这个 solution 跟这个 object 无 value 呢,就是我们的细数 x 的值和 y 的值,这是 x 分别取的值,这是 我们得到的这个最小值的一个结果,那这个呢就是我们就简单的完成了一个线性规划,那接下来呢我给大家就是换一个就是非线性规划的,非线性规划的话,我们需要设置,就是需要有一个目标函数, 那这个函数呢,我们可以就是直接在下面那个 objective 方式里面改就可以了。然后我们可以看一下这个 object objq 方式,它这里面有一个输入是 x, 有一个输入是 a, 这里这个输入 a 呢是必须要有的,如果你没有就是你把它删掉的话,它运行的时候会报错啊。我们呢就如果不用这个 a 的话,我们就可以直接把它删掉,或者就自己写的时候直接写成数就可以了,可以不要这个 a, 但是呢我们这个 就是函数上不能删掉这个 a, 嗯,那我们呢就是再设置一下他这个你当然自己也可以新建,然后也可以就是从文件里面读取, 就相当于是我们自己写一个目标函数也是可以的。然后这里呢我们优先输入的话就选 x, 然后固定输入的话选 b, 固定输入选 b, b 是一个数值,因为 a 的话是一个数组,他肯定会报错,然后 b 的话就是一个值,然后初始点就是 x 零有吗? x 零应该是没有的,那我给他设置一个选 a 吧,没有问题。然后, 哦,然后应该就可以了,然后我们在这里就直接按这个 ctrl 加 alt。 嗯,好,那我们现在看到的就是他已经开始画图了, 这就是我们迭代,迭代过程当中就是他一步一步变小的这个情况,然后他达到一定条件之后,他就会自动停止,这是迭代过程当中的一个变小的情况。然后呢这就是我们 们迭代过程当中的这个计算的历史,然后这个是那个迭代的图,然后呢我们也可以就是直接就是按这个 ctrl 加 enter 看一下这个 value, 它的 value 是这样的,然后它的最终这个值呢,我们也可以按一下 club 加 enter, 然后看一下它,它变成了十二点, 十二点一六三三,那我们呢这样呢就完成了一个非线性规划。嗯,当然了,我对这个工具箱的使用经验呢,也非常的小,也仅仅是刚开始使用,如果大家有什么问题的话,也可以在评论区下方进行交流。好的,如果大家觉得这期视频对你有用的话,请给我一个一键三连。好的,非常感谢,下期再见。

哈喽,大家好,今天呢我来给大家介绍一下这个 my life 它的这个优化算法的这个整个工具箱的一个工具的情况,那么我们可以看到就是它这个工具箱呢,它有特别多的这种就是方法和算法,但是我之前从来不知道它是干嘛用的。今天呢我来给大家 一个一个介绍一下。那么首先呢是他的这个多目多目标就是多目标小姐就是这里呢是你的那个目标函数,然后呢他可以就是求一个多目标的优化,他求的是 就是这里呢你可以就是固定你的目标值,比如说你的目标值是二十、五十、三十,那这样的话你就可以就是把这几个目标值全部写在这里,然后呢这里呢可以给你的那个目标值付一个权重,那也就是说相当于是给给他做一个加权,然后他优化的时候呢会优先去优 画哪个,然后呢这里呢他可以有那个线性线性物等式,线性等式,然后还有边界还有非线性的一些条件,大家可以去进行设置。嗯,那么第二个呢是一个单变量非线性最小值最小值的一个球结,这个呢就非常简单,如果说你有一个非常非常复杂的一个 非线性的一个函数,你想求他最小值在一定的区域上,那他是一个单变量的,那这个时候呢你就可以来用这个函数这个工具箱来进行求解,那这里呢就是他的最小值和最大值,然后这里呢就是这个函数啊,那么第三个呢是一个限制条件下的非线性, 非线性最小,其实这个就是那个呃非线性,非线性的一个规划求解,这里呢就是我们的目标函数,然后这里呢是起始点,然后这里是线 线性不等式,线性等式,然后编辑条件,嗯,这里呢是非线非线性限制,还也就是说那个非线性的条件,这里呢之前在遗传算法里面都有说啊,这里呢他有好几种的这个求解算法啊。好,下一个呢是 直接求最大最小最大最小优化的这样一个函数,那他呢就是跟刚才的其实是差不多的, 就是这里是目标函数,这里起始点,然后这里是限制条件,然后呢这里呢我们可以选择就是不同的那个计算方法, 然后去对他进行求解。再一个呢是搜索算法,这个这个算法呢是非限制的,就是没有限制条件的这个非限,没有限制条件的非限性求助调制,也就是说你这个目标函数呢?是啊,一个非限,非常复杂的非限性的一个 呃函数,但是呢他没有任何的限制条件,那这个时候呢你就可以用这个呢来进行求他的最小值啊,下一个呢是非限没有限制条件的非限性最小值啊,这个呢和刚才的那个呢基本上是 类似的,但是,但是这里呢他有好几种,就是就是那个优化的算法来供我们选择,刚才那个呢就是只有一种啊,兄弟们,这个这个半无线最小化这个东西呢,我也没有搞明白,等我搞明白了我再给大家说啊,下一个呢是非线性等式求解。 就是说你有一个,嗯,有一个那个什么非线性的等式,或者说非线性的这个方程组,那你都可以来就是通过这个呢,我们来进行一个求解,这里呢是他的那个初始点啊, 下一个呢是这个单变量非线性等式求解,也就是说求一个非线性等式的一个单单变量非线性等式的一个方程组,求他零点啊,那这里呢我们可以设置他的左边界,右边界值, 然后呢也可以让这个算法呢自动来进行选选择,你可以就是直接给他一个 x, 然后让他自动在某个区间内进行选择。下面这个呢就是基因算法,基因算法也就是遗传算法,上次呢我已经介绍过了,大家可以看我上期的视频 啊。另外呢这里呢我道个歉,这个呢确实是有这个多目标优化,就是遗传算法的多目标优化的这样一个工具工具。然后这里呢适应度函数,然后这个呢是变量的个数啊线线性条件,然后 边界非线性条件,然后就对他进行求解。但是具体的计算原理呢,就是大家可以去了解,这个呢我也没有做具体的案例,如果大家需要的话我也可以做一个。下面是是线性规划求解。线性规划的话也很简单,就是说我们有一个线性, 就是线性限制条件,然后线性的目标,然后这个时候呢我们可以用这个来进行求解,这里呢啊线线性不等式,线性等式,然后还有这个边界,这里呢有几种不同的这个求解的方法。 好,下一个是这个限制限制条件下的线性,嗯,其实就是那个最小二,最小二乘法就是,对,就是他就是最小二乘法,这里呢我们可以看一下他这个很不是很多很多个的线性方程组成的一个线性方程组,然后我们 对他进行一个求解,正确的就是设置一下边界,嗯,就可以了。然后我们这个点呢,也可以让系统自己进行选择啊。下一个呢是非线性的一个最小而成,其实就是,嗯,类似于线性的最小而成。但这里的这个 啊,函数呢,需要我们自己来写,因为非线性的形式是不固定的,有可能有 san 考 san x 平方, x 三次方这样的。然后这里呢是一个起始点,这里呢是最最小最大的一个范围,就是最变量的一个范围,下一个呢是非负的线性, 非负的线性最小二乘。这两句意思就是很明显就是说那个变量他不能取负的,只能取正的这样一个情况,然后跟刚才的那个线性最小二乘是一样的。下一个呢是这个部分搜索 算法,这个呢我不知道他的原理是什么,但是他其实跟那个一般的优化算法也是一样的,这里写目标函数起始点,然后哦线性条件边界,非线性条件,然后给他写上去,然后他就可以自动求解了。具体的原理呢,大家可以去看 my life 的说明。下一个呢是 二次规划,对,二次规划,二次二次规划呢,意思就是说他这里面有二次的那个 啊, x 有 x 平方向,然后有 x 向, x 平方向呢,我们就用矩阵 h 来表示出来,哎,然后这个 x 向呢,就用 f 来表示出来 这样一个情况,然后对他进行求那个最小制,这呢就是先先性的限制条件,最后一个呢是这个退火算法,他其实 其实呢也用的话也很简单,但原理的话大家需要自己看哈。这里呢就是也是就是设置一个模样函数,设置一个起始点,然后设置一个就是变量的最小范围和最大,嗯,最大方最小值和最大值,然后他就可以进行求解了。 然后呢,以上就是 mylive 他的这个优化工具箱的一个具体的情况,如果大家对哪个感兴趣的话,就可以在评论区告诉我,然后我可以给大家讲一下具体他是怎么用的。本期视频到此结束,非常感谢观看,拜拜。


哈喽,大家好,应大家的要求呢,今天呢我来给大家介绍一下关于 my life 遗传算法的这个工具箱,这里呢进来之后我们就直接选择这个 ga, 然后进入这个界面,这个界面呢就是我们那个 my life 工具箱的遗传算法了, 然后呢首先呢这里呢就是他的那个适应度函数,一般是要自自己写一个函数,这里呢就是我自己写了一个很简单的一个函数,这里就是 变量,就是输入的变量就是 x, 然后输出来是 g, g, 然后这里呢就是 x 呢,它是一个三 三个数的一个数组,就是目标函数呢也非常简单,也就是 x 一加上 x 二的平方,然后加上 x 三的三次方,然后最后得到我们的目标函数,然后再把目标函数函数返回,然后就是在这里我们我们需要怎么做呢?我们只需要就是艾特一下我们这里的这个 函数就可以了,然后就这样这样写写在这里就可以了,据我所知,他这个工具箱是不能计算多目标的,只能就是进行单目标的运算,所以说如果大家计算的是多目标的话, 建议就是把动物标给量化,量化成单目标的一个形式,然后来进行运算,那这里呢就第二个很简单,第二个就是我们变量的一个个数,那我这里呢舍得变量是三个,那我就直接在这里写一个三就可以了, 哦,对了,这个函数的话,大家写好记得保存一下,不然的话你运行会出问题。你写完函数之后呢,我们这里有一个保存,然后记得保存一下,然后就是运行的时候就不会出错了,不然可能会出问题。 另外就是接下来我说一下,就是这个是线性不等式,线性不等式的话就是,嗯,就是他们三个之间,三个之间就是有什么非,就是线性不等, 是的这个限制条件。比如说呢,我给大家举一个简单的例子,那这里呢我就随便写一个一二三, 然后这里呢我写一个八十,那这里这里就是这个意思呢,就是说 x 一加上二倍的 x 二加上三倍的 x 三, 然后小于等于八十,中间是小于等于号,这呢是一个单个的那个线性不等式,然后如果说我有很多个那个线性不等式的线的条件,那我就可以把 a 写成一个矩阵,比如说我,我这里呢就可以把 嗯 a a 写成一个,比如说我就简单写一个一二三四五六,那正确的 a a, a 就是一二三四五六,那它就是一个二维的, 我就直接我就直接把 aa 写到这里,然后我这里呢 b 呢也可以就是自己写一个,然后也可以就是直接在这写,写一个二十六十,然后这样呢就代表是两个不等式,也就是说 嗯, x 一加上二倍的 x 二加上三倍的 x 三是小于等于二十,然后四倍的 x 一加上五倍的 x 二加上六倍的 x 三是小于等于六十,然后这样两个条件。接下来呢我们说一下这个线性的等式呢,跟不等式其实是类似的,他只不过这里是个等号,然后写的时候也同样是的,就比如说我这里 写一个一一一很简单,然后这里呢就写一个二十,那也就是说我们的限制条件就是 x 一加 x 二加 x 三,然后是等于二十的这样一个限制条件。接下来呢是这个是关于这个变量的取值范围。变量取 就是如果我们直接这样写,就是写这里写一个一,这里写一个二十,那就意味着我们所有的变量都是从一到二十这个范围内来取值的。但是如果说我们也可以分开把它的变量就是进行取值,比如说我这里写一个负二 负五、负六,那这样的话就是说,嗯,这也改一下吧。这如果如果直接这样用的话,那就是说我第一个变量是从负二到二十,第二个是负五到二十,第三个是负六到二十,但是这里也可以写成这样的形式, 比如说我这里写一个二十、十三、五十六,那也就是说第一个变量是从负二到二十,第二个是从负五到十三,第三个就是负六到五十六这样的一个情况。再有一个条件呢就是非线性的这个限制方程,那也就是说这里是非线 非线性的限制,那这里呢也需要我们来自己写一个这个函数,函数怎么写呢?这里呢我写了一个简单的例子,这个函数的返回值呢,一定是 c 和这个 ceq, 这个是固定的,嗯,然后这个函数的名字呢,你可以去任意的去命名,然后到时候艾特他就可以了。 然后 x 呢是输入这里呢,就是意思就是说这个限制条件就是说 x 一的平方减去五, x 二的三分之二次方,加上 x 三的零点五次方是小于等于零的。 然后如果说大家的不等式,他不,他不是,就是左边是 x, 然后右边是零,那你就可以就是把他的那个长数项或者含 x 项全部移到左边,然后如果他是大于等于号,你就把它乘一个负号变成小于等于号,反正就是你左边全部要是 x 还有长竖向全部都在左边,并且他是一个小于等于号,然后这样的话,你就可以把那个方程写过来,然后写到这边。但是如果是你是多个那个限制条件的话,比如说我不仅仅有一个飞行性的限制条件,我可能有多个, 那这种情况下的话,我就可以在这里写成 c 一,然后在下面直接写啊, c 二是等于什么什么什么什么什么,然后就直就直接写就好,然后多个限制条件,这样就可以直接进行求解了。 然后呢还有一个就是这里呢是一个整数的,一个整数的先知指数,也就是说我控制哪些变量是整数的这样一个情况,那这里呢? 嗯,这这个呢,我就写上去,其实这个呢就是把这个函数给艾特过来就可以了,嗯,艾特 condition 好,然后这样就可以了,就可以直接用直接用这个非现金的限制条件了,然后这里呢是一个整数的那个,嗯,限制条件,那这里呢,我比如说 我要控制我的第一个变量和第二个变量都是整数,那我这里就写一个一二,并代表我的一一二个变量只能去整数 啊,如果是三个的话,那就是一二三,很简单。然后如果是第二个的话,那我就只写一个二就可以了。嗯,接下来就是要运行了,但是运行之前呢,要说一个问题,就是说我这里的这个线性条件和这个整数条件两个是不能同时同时用的,就是说我 就是要么我用用整数条件,要么我用这个现行条件,就是两个不能同时用。嗯,具体是为什么我也不知道,但是他这个工具箱就是这样设置的,如果我现在直接用的话,他就会提示我, 你看一下。嗯,空调放到 facebook 音中。好,这个条件设置的太苛刻了应该是啊,那我就把这个条件稍微改的简单一点,这里设一个一二三,然后八十。好, 嗯,那我们可以看到,那这里他就说就是不能同时满足等式和这个,呃,不能同时满足整数和这个等式条件,那我们就把其中一个去掉,我们把这个整整数的这个条件去掉,嗯,他就可以正常运行。 嗯,虽然只算了一步。那如果我们把这个这个线性的这个线性等式这个条件去掉呢,我们就可以填上这个整整 出的条件,那他这样也是可以,就是 mercurate your value 啊。非常抱歉啊,刚才是因为我这里设置的条件有点问题,因为这里呢是 他这里有一个开三分之二次方,还有一个开二分之一次方,但是我这里呢设置的刚才可以取到负数,所以他如果取到负数的话,他返回的值就不是实数,所以就会出问题,那现在的话,就,嗯,不会有问题了。 另外呢,这边的这些默认的选项呢,建议大家是不要动的,因为这边呢就是 mylab 它自己设置的都是挺好的 啊。最后呢,这里有一个结果部分,就是大家想展示什么结果呢?可以自己看一下,一般呢就是展示这个的会比较多一点,就是大家都可以自己尝试的试一下,然后看一下他展示的是个什么东西, 然后去结合这个东西去理解一下,都是可以的。嗯,好,那非常感谢大家的观看。嗯,本期视频到此结束,如果你觉得这个视频对有用的话,请给我一个一键三连,拜拜。

哈喽,大家好,我是活泼可男,那么今天呢,我给大家带来一个简单的一串算法的一个应用,那这个应用呢,也非常的实际,就是一个物流中心选址的一个优化模型。我们先看一下这个问题啊,就是他有某一个区域内呢,他有 n 个客户,然后呢要建一个物流中心, 然后我们知道这个客户 g 的位置坐标,也就是说我们知道所有客户的位置坐标, 包括他们的需求量,我们也是知道的,物流中心到这个客户的坐标,他的最大距离呢,我们也是知道的,我们需要做的就是确定物流中心的位置坐标,然后 使得他在满足最大允许配送的距离的前提下,总运输周转量最低。那这个很明显的就是一个最优化的一个问题,我们来看一下他的假设,假设两点之间的距离呢,用这个代替, 直接代替运输距离,也就是说我比如说我有两个点,然后我用他 x 的差值的平方加上外值差值的平方,然后求以开个方,然后呢就得到他们的之间的距离。第二点呢就是, 嗯,时效性约束,也就是说最大最大允许配送距离呢,他有一定的范围,那么我们这里的目标函数呢,就是把他所有的这个都加起来, wi 呢是他的需求量, 那么用他的需求量乘以他的那个运输距离,就保证他的那个运输周转量是最低吗?这个呢我们转化成数学模型,他的约束呢变成以下几个部分啊,第一个呢就是他的那个最大运输距离,那这个呢很明显就是他的运输距离, 然后减去它应该小于等于零,也就是说它这个运输距离应该小于等于 d i 这个值。然后 x 呢在一定的范围内, y 呢在一定的范围内,然后 其他的就没有约输了,那这个呢就很简单是一个规划问题。那接下来我们就看一下在 matlive 里面,我们怎么利用他的那个优化工具箱对这个问题来进行求解。这里的 pos 呢是我随机产生的一个数据,然后呢我们可以看一下 pos 的 x 坐标呢是在五十 到七十之间的,所有的这个数都是在五十到七十之间的外坐标呢,他是在五十到九十之间的那个数据, 那这样的情况下呢,我们就相当于是确定了一个那个位置信息。然后呢我们还要就是给另一个给定了是一个 wi, 也就是他各个点的需求量的一个问题, 需求量呢,我就随机产生了二十个零到一之间的这个随机数,然后代表他们的那个需求量。当然这个呢就是实际问题当中呢,大家可以换成实际的值啊,二十 十个是因为他有二十个位置,然后我一共选出来二十个点,这个呢是我对数据的一个介绍。那接下来呢,我们进入那个优化工具箱, 嗯,很简单,就是我是一八版的,然后这个 app 里面有一个优化优化工具,做优化工具,然后如果是二零以后的版本的话,它是一个在线编辑版,就大家自己注意一下就好, 如果想用这种的话,就下那个二零二零版本以前的就可以了。好,我们可以看到啊,打开这个工具箱之后呢,他并不是使用的 ga, 然后我们把这个界面呢换成 ga, 换成接以后呢,我们发现这里呢需要输入的有这个是适应度函数,然后这个是变量的数目,那我们这里呢对应的这个问题呢,很容易知道,他的变量的数目呢就是两个,那我们可以先把他这个数字给他填上两个,然后这里下面呢就是这个限制了,限制 一个是线性不等式限制,线性不等式限制,那这个呢在之前的视频里面呢,我有就是简单介绍过这个怎么用的,这个是线性等式限制,那这里呢我就不再介绍了,这个呢是边界,边界的话我们也可以先填上, 嗯,使用英文括号,边界的话是五十,五十,这个是最低边界啊,然后上边界的话应该是七十和九十,也就是也在我们的这个区域内。 接下来呢就是非线性限制的一个函数,这个呢是变量取整的一个限制。嗯,大家如果对这个感兴趣的话,可以去翻我之前关于那个工具箱遗传算法的一个介绍的视频。 那么接下来我们重点要关注的就是这个适应度函数和我们的这个非线性限制函数,这两个函数是怎么用的好,大家可以 看到呢,我这里呢其实已经把这个函数呢完整的去写好了,但是这个函数具体该怎么写呢?就是我来一步一步的给大家说一下。那首先呢就是我们换到这个 呃,主页,然后点击新建,这里有一个函数的选项,对吧?这个呢就是典型的一个 my love 的函数,嗯,这个呢就是它的函数名,然后这两个呢就是它的输入, 然后这个呢就是他的输出,嗯,这个就是函数的函数的定义,行,然后下面呢就是函数的计算内容,最后呢是一个结束。 哦,那我们这里要怎么做呢?嗯,我们可以看一下这个,这个呢就是我改了一个函数名,那我们把这个也改一下,改一遍,这个呢我们可以改成一个范一,就是按照 自己的那个什么,也可以不改,也可以不改,对吧?然后这里呢变量呢,输入变量就是 x, 返回值呢就是 f, 我们只需要返回一个值就好,或者返回一个数组。 那么接下来呢就是我怎么计算 x 得到 f 的一个问题,那我们可以看一下,在这里面呢,我首先是定义了两个量,这两个量呢是我通过定义得到的,然后 d 呢是判断我的维度, 也就是我有几个点,我们可以把这个几个呢直接复制过来, 这个代表的意思呢都很简单,就是这个 pose 呢,就是我们刚才看到的这个数组,对吧?就这个数组,然后我把它,就是我把这些数呢直接给它复 复制,然后你看把这些数复制,然后粘贴到 madlive 里面,它就会自动变成这样的一个形式,那我们这里都用不到。然后这个 w 呢也是这样的一组数,但是它有二十个,然后那个 pose 的话它是有四十个。 好,那么接下来呢 d 是什么呢?这个 normal, normal 这个函数呢,它是用来获取边量的个数的,比如说我们随便举一个例子, x 等于五十六十,那么我们可以看到 x 是等于一个数组,然后五十六十,我们可以取一下它的 这个。好,我们可以看到这是二,那我随机随机再写一个 x, x 呢等于一个 ren 字,二十点二十,那这个时候呢他就产生了很多的那个数,那我 我们看一下 xx, 他一共有四百个量,也就是说这个呢就是判断一个数组他到底有多少个元素,有多少个元素呢?获取的这个值呢就是多少。好,那接下来呢是 我们先定义一个 f, 定义一个 f 呢,它是等于零的,让它初始值是等于零的,然后接下来干了一件什么事情呢?接下来就用了一个负尔循环, 那这个负尔循环呢,其实就是我们目最关键的一个目标函数的计算。嗯,我们来看一下,这个呢是 w i, 然后 squared, 这个是开方,相信大家都知道这是乘号,这,这里是开方,然后呢是 x, 一减去 pose 一点 i, 然后平方, 这个是相当于是我们就直接对应过来,这里不是 w i 乘以它减它的平方,加上它减它的平方吗? 然后我们呢就直接对应过来,这是一个平方,这是一个平方,然后这里呢是开方,然后再乘以它的权重,然后加上,然后呢我们每次循环呢都把它加上,最后呢我们就得到了这个 f, 那我们把这个写完之后呢不算结束这个,这个时候呢我们一定要点击这里的。呃,编辑器保存 好,那我们这个函数名呢,就是我们保存的这个文件名啊,尽量和这个函数名一致,这样的话不容易出错。好,那我就直接保存,保存到这个路径下啊,保存到这个就是刚才你打开工具箱的时候是什么路径,你现在就保存到什么路径。 嗯,保存完之后呢,还要进行一下检查,检查一下我们这个函数有没有写对,怎么检查呢? 那这个时候呢,我就写一个范一,我刚才不是输入了一个 x 吗?然后我就看一下,你看他就会返回一个值,那这个时候呢就说明我这个函数是可以正常运行的。好,那我这里呢, 我就直接打开这个优化工具的这个界面,我直接 at 我们的饭一, 我就点击 star, 我没有写这个非线性这个函数,注意,我循环了五十八次,最后得到了这个值,是我们的那个最优化的最小值,也就是 f 的最小值。那我们对应的坐标呢?是五十七点八七八和六十八点六零八。嗯, 这里呢我画了一个图,这个是我就是位置的图,这个位置图呢也很简单,你看一下啊,就是我们 用这行命令就可以把位置的图给他画出来了,就是 plot, 然后这个 pose 一点,哎,这个这个呢很简单,就是代表他第一行第一行所有的元素,这个呢代表他第二行所有的元素,然后这个是用新号把它画出来,然后呢我们把这个先擦掉, 我们再把这个函数运行一遍,好,我们可以看到这个,对吧?那么接下来呢,我们再 hold on, hold on 的意思呢?就是我在原来作图的基础上接接着画,然后的话我们把刚才那个位置给他画上去, 看一下,结果啊,五十七点八七八和六十八点六零一。五十七点八七八多少?十八点六 六零一。好,这个时候呢我们再回车。好,我们可以看到呢,这个这个点呢就是我们最终确定的这个点,那可以看到呢,就是他基本上是非常符合我们的预期的,在我们所有点的基, 在我们所有点的一个中心的位置差不多。好,那这个这个完成了。那接下来我们说一下就是我们怎么样去写这个非线性的这个限制。好,那我们这个限制呢?其实非线性限制的话,他只有那么一个, 我们可以看,这里呢其实只有一个飞行线,也就是这个,其他两个呢?通过我们的这个棒的,这个就已经约束了,这里是最低,这里是最高,通过这个呢我们就已经进行约束了。好,那我们 看一下这个条件应该怎么写呢?我已经写好了,那我们就直接看我写好的,你在这里呢是我们同样的方法,同样的方法啊,就是我们还是就刚才我给大家讲的就是主页,然后新建函数,新建一个函数, 然后呢我们可以把名字改成我们想要的名字,这里呢我就写了一个这样的名字啊,然后输入量的话还是 x 输入的,输入量的话还是 x 输出的话,记住一定要是这个 就是中括号 c 和 c, 逗号 c e q, 这个一定要是这个返回,要不然他识别不出来,工具箱识别不出来。这个 pose 呢是刚才和那个,呃,目标函数里面的 pose 是一样的,那这里的 d 的话也是它的维度,那这里呢? 我设置了一个第一,第一的话是可以随便设置的,这里呢我给他设置一个二十吧。嗯,然后完了之后呢,我就开始,呃,就是这个 c 呢?嗯, d 的话就是第一的话就是我们的对应的那个对应的这个 di, 然后呢我把他所有的 di 都都让他一致都是二十 啊,当然了大家也可以把它改成一个数组,就像 wi 那样的,就是啦吧啦啦啦,一堆一堆数,就是二十个数嘛,二十个数分别对它进行限制。然后呢需要做的还有就是把这里的地改成一个 d 牌就可以了,这里呢我就不再详细说了。嗯,好,那就是我们进到 这个循环里面,我给大家说一下这个 c 和 c q 分别代表什么意思啊? c 他就是那个不等不等式,代表就是我这个式子呢是小于等于零的,就是如果你的式子 这个小于等于号右边还有其他内容,你可以把他所有的内容全部移到那个小于等于号的左边,然后让他右边是零,然后我把那个小于等于号的左边呢全写在这。呃,然后这个 c e q 是什么意思? c e q 是 非线性等式限制,也就是说我这个式子呢,就是如果我 ceq 是等于一个式子,那这个式子呢 就是会约束他是等于零的,他会有这样一个约束。当然这里呢我们没有非线性等式约束,我就直接让他等于一个空就可以了,记住,呃,如果我们不复制的话有可能会出错,但是我们复制的话 他就不会出错。这里这个循环呢,就是我对所有的位置呢都要满足我们的要求,我们可以看一下,就是对所有的所有的那个用户位置我都要满足这个最大运送距离的这个要求, 然后呢我就循对那个所有的进行循环,然后这里还是开方平方,开方平方,然后最后减去它,让它小于等于零这样一个条件。 嗯,好,那我们把这个呢也写进我们的这个工具优化工具箱里面,就直接在这里,在这里呢进行 at constrain, 嗯,好,那我们点击 start, 没有 constrain, 嫌名字写错了,应该是 con 少了一个 s, 如果大家名 名字写错的话,也会出现这样的错误,所以就是要仔细对照一下。 start, oh, running, okay, 我们可以看到他得到的还是这个,那说明我们给的这个限制呢,他是对他其实没有什么限制,那我们可以把它改小,改成十九点九。好,那么这个时候呢,我们再 start 好,我们发现这个结果就有点不一样了,然后这个呢也有点不一样,那说明这个限制呢就起到作用了,那我们还可以接着改改成十九点八九,可以看一下 他会不会有什么不一样啊?这个也是可以算的,我们可以看到这也有了一些微小的变化,嗯,变化不大,那这这个呢就是这一期所有的内容了,那么大家 如果有什么问题的话,可欢迎大家在那个视频下方留言到我,回复你之后就大家都可以看到这个问题。好,如果大家觉得这个视频对你有用的话,请给我一个一键三连,你的支持对我来说非常重要,谢谢大家。

hello, 大家好,今天呢我来给大家讲一下,就是关于 matlab 遗传算法工具箱常见的一个问题汇总。嗯,那就是我之前出了一期关于 matlab 遗传算法工具箱的入门视频,之后呢,就是很多 老同学呢都问了我一些问题,然后我把这些问题稍微汇总了一下,然后做了一个总结的视频。那么首先第一个问题呢,就是函数未保存的一个情况啊,这种情况呢,一般是这样的,比如说我把这个范二呢去给他删掉 did it, 好, 我们按照常规操作新建一个函数,然后新建函数完成之后呢,我们把这个三二呢去直接给他 复制过来, 然后我们就得到得到了这个函数,但是呢,我们现在还没有对这个函数进行保存,那这个时候呢,我们启动这个银川的工具箱,我们直接呃这个改一下名字,要不然名字一样了。 f 三方案三三吧, 那我们这里呢就艾特范三三,然后呢四个变量,确定四个变量,那这样的话我们就直接 start, 这些呢,我们就暂时不管他们。 好,这里有提示没有这个对应的函数,那这种情况下呢,我们需要把函数进行一个保存,保存呢有两种方法,第一个直接点保存,然后他就会出现这个界面,直接点保存就可以了,这个是名字。还有一种就是运行,运行,因为你没有保存,他会提示你进行保存, 那这样的话也是可以的,那我们就直接点保存范三三。嗯,好,那我们这里呢,再打开这个工具箱,然后点 start, 那这种情况下呢,我们就可以看到他运行出来呢,就已经有结果了啊,这个呢是变量对应的数值,然后这个呢是我们的目标函数对应的一个最小值。 好,这个错误呢不用管它,我们直接 c l c 调 c l c。 好,那我们看第二个错误,第二个错误呢是保存的名与函数名不一致,就是假如说我保存的这个函数名字和那个实际上这个 名字不一致,那这样的话,比如说我在后面加一个三,好,我们可以看到他这里会加一个波浪线,这里呢我们在工具箱里面也加一个三,那他会出现什么呢?会出现这个 没有对应,没有对应的函数,但是我们可以试一下啊,三三的话,哦,三三好像是可以的,你直接艾特这个也是可以的,但是这个名字跟这个,呃,跟这个不一致, 你需要跟这个名字保持一致,但是呢我们一般的就是在使用 matlab 的时候建立的函数名和它的对应的文件名都是要保,都是保持一致的,这样的话就方便我们就是使用和那个读取。好,那我们看下一个问题, 这里呢是函数的变量与工具箱输入的变量个数不一致啊,比如说呢是这样的,就是有的同学呢在输入变量的时候呢会输入,比如说我输入了五个变量 啊,这是 五个变量。好,那这里呢?这里呢写的是四,那这个时候点 stat 的话,它就会显示,所以你超出范围,那这个时候呢,就是我们要把这里改成五, 就是很多时候呢,我们比较着急,可能就比较着急的情况下,可能添了一个变量,但是我们忘了修改这里了,那这样的话也可能会引起错误,然后这里我们改正之后呢,就可以正常的运行了。 好,接下来看下一个。呃,函数保存的路径与当前的路径不一致,那这个什么意思呢?就是说我函数在这个路径下保存了,那好,我现在呢是在这个文件夹下面的,那这种情况下的话, 那我如果运行啊好,他就找不到这个函数了,我必须点到刚才的那个文件夹下面,下面有这个 fin 三三这个函数,那这个时候呢,我运行他才会是正常的,如果 如果没有在对应的文件夹下面就是来运行的话,那他可能会就给你报错。另外呢就是关于结果的绘图和迭代结果的输出了。嗯,这个的话其实也很简单, 我们在这个下拉,下拉之后呢,我们可以看到这里是停止的条件,嗯,然后这里是 plus 方式,我们可以画它的最佳适应度,然后我们还可以, 嗯,一般也就需要一个最佳的适应度吧。然后我们就先画这一个,其他的呢,大家也可以去看看他们的注视,然后自己去试着画一下。嗯,另外呢,我们不是要展示他每一次叠带的结果吗?那这里是 off, 然后我们就这个 final 呢,就直接展示最终的结果,然后这个艾特, 嗯,这个呢就是每次迭代的一个结果,那我们可以看一下他是效果是怎么样的。我们改完,改完这两个之后呢,我们直接点 start 之后呢,我们可以看到他这个图呢已经是画出来了。然后呢这个每次迭代的结果呢,他也会在我们的 command 窗口呢进行展示, 这里呢,等一下我 plot, plot 在这 我们可以看到,这里呢就是我们迭代的一个优化的图,然后这里呢就是他每次迭代得到的一个结果,一个是这个 best, 一个是 mean, 就是 best 呢,就是它这一这一个种群当中最好的,然后 me 呢,就是这一个种群当中的平均值。嗯,好,那 这个呢,我也讲完了,当然了,这个 my life 呢,它这个东西, 呃,就是它这个工具箱 mel, 当然了, metlive 这个工具箱呢,它的功能是很强大的,其实包括这些东西呢,我现在呢也没有完全的理解,所以说大家有的时候问的问题呢,我自己也解答不了,嗯, 我自己呢也解答不了,包括这他的那个遗传变异,遗传变异,还有那个选择 交叉这些遗传病,选择交叉这些算法呢,其实我自己呢也没有完全搞明白,所以呢,有的时候呢,大家的问题呢,我也解答不了,但是呢,还是欢迎大家来进行讨论吧。呃,一起进步。然后呢,还有件事情我想说,就是大家不要上来就问我一些很基础的问题啊,就是每个人 人的精力和时间都是有限的,就是关于 mylab 基础的编程问题,包括数组的使用啊,还有一些基础简单的函数的使用啊,还有一些就是 关于,嗯,自定义函数的一些用法啊,这些在百度上大家都可以找到,就不要一个一个私信我了,因为,嗯,就是这种东西呢,嗯,自己去百度,百度学完了之后,其实基本都能学会,就没有什么没有特别难,所以呢,建议大家就是 遇到问题不要就是先着急忙慌的去问别人,就自己先思考一下,先想一想,然后搜索一下,看看自己看别的东西能不能看明白, 如果这样的话,你还是有问题,你再来问我,我非常的欢迎,但如果你上来就是啥都没看,然后视频也没好好看,就上来问我,这种其实我会有点反感,但是我 不是拒绝跟大家交流,我欢迎大家有想法的人来跟我沟通好不好?那本期视频呢,就到此结束,如果你觉得这期视频对你有有用的话,你就给我点一个一键三连。好,那么下期再见。


哈喽,大家好,今天呢给大家带来一个那个 mylive 神经网络工具箱的一个使用,就是关于数据礼盒的那个工具箱 啊,那么在使用这个工具箱之前呢,我先介绍一下我这个数据礼盒当中呢要使用到的数据,这个是我自己创建的一些关系啊,首先呢是 k, k 呢是作为一个输入 啊,它是一个一一千乘以五的一个矩阵,我们可以看到这里呢是那个它的一个值的一个情况, 那然后呢我把这个 h h 呢是作为了一个结果, h h 呢是一千乘一的一个情况,它是一个结果。然后,嗯给大家看一下那个关 关系啊,这个呢是我创建的那个 k 和 hh 的关系,随便写了一个,这个就是他的第一个数呢,他是平方之后再乘以五,第二个数呢他是乘以三,之后再取零点八次方, 然后第三个呢是乘以十,之后呢再取零点五次方。第四个是乘以二,之后再取零点八次方。最后一个呢是乘以零点二,然后再取四次方,那这样一个关系。 好,那我接下来就使用神经网络来拟合一下他们俩之间的关系啊,这神经网络是在这里 aapps, 然后直接点这里有一个这个飞挺,飞挺这个,那就是用这个来就是进行你数据拟合啊。好,那 我们就这里呢他只是对神经网络的一个基本介绍,这个呢层数呢我们是不能改变的,他只能是两层。好,那我们直接进行下一步,那这里呢就是输入,这里呢是目标值啊,输入呢就是我们把 k 放上去,然后目标值呢就是 h h, 然后呢我们发现这里呢他是那个什么,他需要转制一下。 嗯,这里是五个,五个相当于是五个案例一千个元素,那肯定是不行的,让要一千个案例,然后五个元素,那这里呢就是,哦,这不对,这个 h 需要转制一下, 稍等我一下,兄弟们,把这个回撤一下, h h 等于 h h。 好的,嗯,那我们这样的话应该就可以了啊,我们重新重新来打开这个 apps, 嗯,这里然后点 next, 然后我们把这个输入呢它是,嗯,输入是 k, 结果这个目标值呢是 h h, 然后这里呢我们可以看到它是对应的,就是它是五乘五个案例一千个元素,然后这里呢是一个案例一千个元素,那实际上是我们要 就是实际上我们是一千个案例,然后那个对应他的那个什么,那就一千个元,一千个案例对应五个元素,然后一千个案例对应一个结果,每个对应一个结果啊,刚才呢我做了一个 h h 的转制,是因为就是如果我们 强行执行的话,就刚才如果我不转制,他这里呢是一乘以一千乘以五,然后这里呢是一乘一千,肯定是对不上的,他会提示你报错。然后如果大家不会自己就是生成数据的话,也可以在这里点这个加载,然后随便选一个,然后 哦去给他执行也是可以的。然后这里呢我就用我刚才生成的这个数据, 嗯啊,或者就是大家就是在执行的时候也可以直接用,就是我们已知的。当然这里呢可以是一个多个值,就是每次,嗯,比如说输入四个值,然后输出两个值,或者说输入八个值,输入两输出两个值, 两个值或者四个值都可以。这里呢我比我做的比较简单,就是说输入五个值,然后输出一个值,每次然后加 下来就点下一步。这里呢就是把这一千个案例呢分一下分成训练级,还有这个是这验证级,这个是测试级啊,这个呢一般按照他默认的比例就可以了,然后如果就是需要改动的话,可以稍微改一下也没有问题 啊,这个呢应该是有一个很好的最好的比例,但是呢我不是很了解,所以这里就不跟大家细说了,我就随便改了一下,然后我们再点下一步, 下一步之后呢这里呢要输入一个隐藏隐藏层的那个神经元的个数啊,这个个数的话,大家可以根据自己就是输入输出变量的个数以及数据的大小来进行决定 啊,一般呢就是如果你数据量比较小的话,输个十或者二十一般就够用了,但是如果你数据 量比较大,关系比较复杂的情况下,那建议你就是增大这个,增大这里的这个呃隐藏层的这个神经元的个数呢,他会有利于你结果的优化啊,这里呢我就输一个二十,然后我们直接点下一步。 好,那这里呢是到了方法选择的时候,他这里呢一共有三个三种方法啊,其中这个方法呢,他是就是 占用的内存呢会比较多,但是时间会很短,他他是会自动停止的,当他的那个呃军方差到达一定值之后,他就会自动停止,然后我们这个 第三种方法呢,他也是就是但是他占用占用的那个储存空间会比较少哦,然后他是也是会自动停止,当他的聚放差到达音质,然后这个呢他是啊 思政则化,这个呢用可以用于处理很复杂很复杂的那个关系,他会就是他会就是按照那个一千步把一千步算完,然后就是 把就是误差尽可能的集中在零附近,然后哦这样的一个算法。然后如果就是大家处理比较复杂的情况呢,用这种算法呢其实可以得到比较好的结果。然后一般情况下就是如果数据量不大,或者说那比较简单的 case 的话,我们用这个 算法就可以了。但是如果大家对相关的算法的原理就是有,就是需要了解的话,大家可以去查看数学建模相关的一些书籍,那上面都有一些原理的讲解啊。那接下来我们就点击训练就可以了。 好,我们看到他, 他在那个什么现在在跑, 好,现在他是跑到了九百四十四步,说明他是如果跑到一千步的话,说不定他是没有达到那个想要的误差,但是他跑到九百四十四步自己停了,那就说明他其实还是就是 迭代得到了那个误差,误差线,然后就自动结束了。那这里呢我们就来看一下结果。 呃,这个是 performance, 这个呢就是三个数据级的那个距方差下降的一个情况,那这里呢就是到这个点呢,是他应该是结果最好的一个情况, 我们可以可以看到他控制的误差呢是在十的负四次方以内。嗯,好,那接下来就是再看这个 training state, 这个呢是他的 迭代过程当中的这些量的变化情况,其实这个我不是很懂,这里就不跟大家细说了。嗯,这个呢是是他的误差的一个统计,我们可以看到呢,就是他的误差呢就这两个,这两个几乎上就是快,一,就是四百多,四百多基本上就八九百,就一千, 基本上就是这九百多了,九百多就是说明九百多个误差,就是误差呢都在这两个值以内,那说明这个误差还是非常非常小的,就是也是可以接受的。 当然这里呢肯定就是这里也有,这里也有一种情况,这里也有一种情况,可能就误差相对来说比较大一点,这是误差的一个统计情况。嗯,好,那这个呢是他的那个相关性相关性系数的一个分析,这里吹拧就是训练 那个数据集呢,他的号是等于一的,他相关性特别好,然后这个验证的呢,相关性也是等于一的,然后测试呢,相关性也是等于一的,那整体呢也是等于一的,那就说明这个礼盒的效果呢特别特别好,这个是没有的。 嗯,好,那接下来就是相当于是我们现在呢已经完成了这个礼盒了,礼盒,礼盒完成之后呢,我们就是还要用这个建立出来的关系,对不对?嗯,那我们就点下一步, 下一步他可以就是继续训练,就是为了得到更好的结果,也可以继续进行训练。嗯,然后呢也可以调整神经元的这个也就是中间层的那个隐藏隐藏神经元的个数, 然后也可以导入其他数据,那这里呢我们就不管,我们这个训练的结果,我们认为已经可以了,那我们就继续下一 步。这里呢我们可以导出它的那个。呃,就是神经网络,它获取的一个就是关系函数,也可以导出这个 steam link。 它的这个, 这个,这个我没有用过,我一般呢是直接用这个就可以,就用这个或者用这个就是这两个其中一个就可以了。那我们就是把其中一个打开吧,这个应该是只能用于计算矩阵,这个呢就是所有的都可以,那我们直接点开这个, 嗯,我呢是习惯于把后面的这个逗号给他删掉,因为我这个逗号呢我不知道他有什么用。然后一般我们直接输入输入这个呢,我们就会得到我们想要的结果。这个 x 呢就是我们刚才输入的那个。呃, k 的那个输 录制这里呢我们随便选取一组,嗯,选取靠前一点吧。嗯,这个第二组,我们记一下他是第二组,然后 x 呢是等于这个。好,那我们调用他的这个,嗯, 我们调用这个神经网络的这个函数,我去给他计算一下。 我们刚刚呢出现了一点点小问题,我发现是我输入 x 的方式错了。啊,刚才呢我们的 x 呢是是这样的,但实际上 x 应该是等于,实际上 x 应该是这样的,然后我们把 这个输入的话,就可以得到我们想要的结果了。我再运行一次, 然后没有定义,然后就把它泡一下 change folder。 好,我们可以看到我们得到了这个八点八三九七,然后呢我们这个 h s 呢对应的是八点四八四零七,其实呢它这个误差呢非常小。嗯, 当然了,就是我们得到这个结果之后呢,我们也可以利用这个函数去预测别的,就是五个值,我们可以随便写五个,那个五个五个数。然后呢就是去预测,比如说 x 等于 red, 哦,不对啊,就这样吧,那也是可以的。然后呢我们就直接执行, 嗯,他就会得到,就是一组预测,得到一组预测值,但是他是这样,这样,这样作为一组,这样作为一组,这样作为一组来进行预测的。然后这预测的结果呢分别是这些值, 这样的话我们就可以去使用神经网络去预测了。那么本期视频呢,就到此结束了,如果你觉得这个视频还算有用的话,就给我一个一键三连。好,谢谢,下期再见。

还在到处找妈的爱搬装包求人借帐号?二零二五 b 最新版永久安装,一步到位!首先我们先获取安装包,打开浏览器搜索,打开,在这里搜索对应软件即可免费下载安装包,这是刚下载好的安装包,右键解压, 解压完成后,打开二零二五 b 文件夹,右键以管理员身份运行塞塔搬装程序, 这里点击右上角快捷选项,选择未有安装密钥,点击四下一步,接着打开安装包,返回上一级文件夹,打开快口文件夹,双击打开万物文本,右键复制这串密钥,粘贴过去就行。 接着点击下一步,这里点击浏览,打开安装包快口文件夹里的来申索文件即可。 然后点击下一步,这里可以更改安装目录,我们改成 d 盘,点击下一步,这里勾选需要的产品,我们这里只勾选 mac, 根据需求来点击下一步, 这里勾选桌面快捷方式,接着点击下一步,点击开始安装, 这里点击关闭。接着打开安装包,右键复制 win 六十四文件夹, 点击桌面图标右键打开文件夹所在位置,这里点击空白处右键粘贴即可。 点击替换目标中的文件,然后关闭所有窗口,双击打开桌面 mark 图标, 这里可以看到软件可以正常打开使用了,感谢大家的观看。