首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >深入理解遗传算法(一)

深入理解遗传算法(一)

作者头像
算法与编程之美
发布于 2019-07-17 09:21:42
发布于 2019-07-17 09:21:42
4930
举报

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

首先来看一个线性方程组的求解问题。

已知N元一次方程y = w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + w6x6

其中给定 x1, …, x6的数据如下:

x1

x2

x3

x4

x5

x6

y

4

-2

7

5

11

1

44.1

将列表中的x1, …, x6代入到上述方程得到

y’ = 4w1 - 2w2 + 7w3 + 5w4 + 11w5 + w6

试求出一组w1,w2, …, w6使得y’的值尽可能的接近于y.

方案一

随机的给定一组w的值如下:

w1

w2

w3

w4

w5

w6

2.4

0.7

8

-2

5

1.1

计算 y’ = 4w1 - 2w2 + 7w3 + 5w4 + 11w5 + w6

= 110.3

y = 44.1

定义|y’ - y| 为预测值y’与真实值y之间的误差error,可以得到上面的误差为:

error = |y’ - y| = |110.3 - 44.1| = 66.2

方案二

接下来,再观察另外一组随机给定的w值。

w1

w2

w3

w4

w5

w6

-0.4

2.7

5

-1

7

0.1

计算 y’ = 4w1 - 2w2 + 7w3 + 5w4 + 11w5 + w6

= 100.1

error = | y’ - y| = |100.1 - 44.1| = 56

方案二的误差56比方案一的误差66.2要小,因此方案二的w取值更好。

思考

通过方案一和方案二的示例可以看出,给定任意的一组w值,期望y’的值越接近y则这组值越好,这就是评估w值的好坏的方法。

方案一和二都是通过随机的给定一组w值,接着计算y’的值,最后通过评估|y’ -y|的差值来判断当前选取的w值的好坏。如果按照这种方式继续进行下去,则不能保证每一次随机的取值都能更好的缩小误差,也许上一次选取的w值更好。

要想求的一组w值,使得y'无限接近于y,没有办法一次性就可以得到想要的结果,通常情况都需要经过多次的迭代,总是希望每一次迭代后的结果比上一次要好,即|y'-y|的值越来越小。这样经过多次迭代就可以慢慢的逼近y,进而求得最优的值。

如何达到上述目的,下一讲将介绍遗传算法的不一样的思路,敬请持续关注。

更多精彩文章:

算法|从阶乘计算看递归算法

算法|字符串匹配(查找)-KMP算法

JavaScript|脚本岂能随意放置

开发|优秀的Java工程师的“对象”一定不错

谈一谈|2019蓝桥杯回顾与分享

where2go 团队


微信号:算法与编程之美

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
深入理解遗传算法(三)
已知N元一次方程y = w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + w6x6
算法与编程之美
2019/07/17
4620
深入理解遗传算法(三)
深入理解遗传算法(二)
”物竞天择,适者生存。“这是达尔文关于生物进化论的著名观点,指的就是一个种群经过不断的发展,逐步淘汰不适应外部环境,而能够得以生存留下的都是能够适应环境的。
算法与编程之美
2019/07/17
4610
关于 word2vec 我有话要说
本文介绍了如何使用Spark MLlib库进行Word2Vec训练,将词嵌入转换为Google Word2Vec格式。首先介绍了Word2Vec的原理和算法,然后讨论了Spark MLlib库在词嵌入训练中的应用。最后,通过实验评估了训练效果,包括词聚类、词相关性、类比推理和分类任务。
old zhang
2017/08/25
8.5K3
关于 word2vec 我有话要说
人工神经网络(ANN)
        初学人工智能不久,今天碰上了人工神经网(ANN),开始学的时候很懵,一大堆理论、公式、推导…..作为一名小白,还是很痛苦的,不过经过摸索,大概了 解了什么是ANN,公式的推导以及一些其他问题,下面我就总结下自己的理解,一方面作为自己的笔记,日后方便巩固;另一方面,也可以分享给其他有意者。
Flaneur
2020/03/25
1.6K0
你看到的最直白清晰的,神经网络中的反向传播法讲解
最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的译者在翻译的时候会对省略的公式推导过程进行补充,但是补充的又是错的,难怪觉得有问题。反向传播法其实是神经网络的基础了,但是很多人在学的时候总是会遇到一些问题,或者看到大篇的公式觉得好像很难就退缩了,其实不难,就是一个链式求导法则反复用。如果不想看公式,可以直接把数值带进去,实际的计算一下,体会一下这个过程之后再来推导公式,这样就会觉得很容易了。   
机器学习AI算法工程
2018/03/15
1.1K0
你看到的最直白清晰的,神经网络中的反向传播法讲解
机器学习算法(一)SVM
机器学习的一般框架: 训练集 => 提取特征向量 => 结合一定的算法(分类器:比如决策树、KNN)=>得到结果
全栈程序员站长
2022/11/08
2.5K0
机器学习算法(一)SVM
给出一个生活中的最简单的两层神经网的实际例子
下面我们给出一个生活中的最简单的两层神经网的实际例子。比如,在我们的心目当中,只要有游泳池这种设施的房子就属于高档住宅。先进行一个初步判断,高还是低? 最后才进行最终的价格判断,所以这样就有了两层神经网络。先看是高档还是低档住宅,之后高档住宅的价格偏移和低档住宅的价格偏移是完全不一样的。马克-to-win @ 马克java社区:在下图中,判断高档和低档住宅的这一层叫做隐含层,英文叫hidden,我们这里用h1和h2代表。加上输入层,x1和x2,这样就构成了两层的神经网络。隐含层可以做一个初步的判断。将来可以有更多的隐含层。比如有一处房子,地点在天安门旁边东华门,输入x1就应该等于五万元一平米,权重w1,w2的值都是0.5。马克-to-win @ 马克java社区:而这处房子带游泳池,于是x2=1,000,000,w3是0.8,w4是0.001,(为什么? 因为高档设施对判断为高档住宅贡献较大)b1=50000,b2=10000,w5=0.8, w6=0.001(为什么? 因为高档住宅对最终的价格贡献较大),b3=1000于是: h1=x1*w1+x2*w3+b1=50000*0.5+1,000,000*0.8+50,000=875,000。 h2=x1*w2++x2*w4+b2=50000*0.5+1,000,000*0.001+10000=36000 o1=h1*w5+h2*w6+b3=875,000*0.8+36000*0.001+1000=701,036 现在:另外有一处房子在6环,无游泳池。输入x1就应该等于一万元一平米,权重w1,w2的值都是0.5。而这处房子无游泳池,于是x2=100,w3是0.8,w4是0.001,b1=50,000,b2=10000,w5=0.8, w6=0.001,b3=1000于是: h1=x1*w1+x2*w3+b1=10000*0.5+100*0.8+50,000=55080 h2=x1*w2++x2*w4+b2=10000*0.5+100*0.001+10000=15000.1 o1=h1*w5+h2*w6+b3=55080*0.8+15000.1*0.001+1000=45079.0001
马克java社区
2019/09/07
3240
给出一个生活中的最简单的两层神经网的实际例子
【机器学习】神经网络浅讲:从神经元到深度学习(一)
神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向--深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。
abs_zero
2021/04/13
1.1K0
【机器学习】神经网络浅讲:从神经元到深度学习(一)
一文弄懂神经网络中的反向传播法——BackPropagation
本博客所有内容以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,并且是非商业用途,谢谢! 最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的译者在翻译的时候会对省略的公式推导过程进行补充,但是补充的又是错的,难怪觉得有问题。反向传播法其实是神经网络的基础了,但是很多人在学的时候总是会遇到一些问题,或者看到大篇的公式觉得好像很难就退缩了,其实不难,就是一个链式求导法则反复用
Charlotte77
2018/01/09
1.5K0
一文弄懂神经网络中的反向传播法——BackPropagation
实例解析神经网络的工作原理
在机器学习和相关领域,人工神经网络的计算模型灵感正是来自生物神经网络:每个神经元与其他神经元相连,当它兴奋时,就会像相邻的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个阈值,那么它就会被激活(兴奋),向其他神经元发送化学物质。
算法进阶
2023/11/27
3670
实例解析神经网络的工作原理
深度学习基础:3.反向传播和梯度下降
计算图可以用来表示两个变量之间的关系。例如,构建y=x^2,则可用一张简单计算图进行表示。 pytorch支持动态计算图,动态意义在于,当创建其它由计算图中变量而来的新变量时,新变量会自动添加到计算图内。 而Tensorflow v1仅支持静态计算图,需要提前定义各个变量的关系,灵活性不如动态计算图。
zstar
2022/06/14
4710
入门机器学习(二)-------线性单元和梯度下降及其代码实现(代码实现)
通过上一篇文章,我们学会了一个简单的感知器,了解了阶跃函数(更喜欢叫二分类,简单明了哈哈),还有训练感知器的感知器规则。在这里学习另一种感知器——线性单元,通过此线性单元来了解机器学习的一些基本概念, 比如模型,目标函数,算法优化等。以此来简单了解机器学习。
andrew_a
2019/07/30
5750
入门机器学习(二)-------线性单元和梯度下降及其代码实现(代码实现)
从零学习:从Python和R理解和编码神经网络
作者:SUNIL RAY 编译:Bot 编者按:当你面对一个新概念时,你会怎么学习和实践它?是耗费大量时间学习整个理论,掌握背后的算法、数学、假设、局限再亲身实践,还是从最简单的基础开始,通过具体项目解决一个个难题来提高你对它的整体把握?在这系列文章中,论智将采用第二种方法和读者一起从头理解机器学习。 “从零学习”系列第一篇从Python和R理解和编码神经网络来自Analytics Vidhya博主、印度资深数据科学开发人员SUNIL RAY。 本文将围绕神经网络构建的基础知识展开,并集中讨论网络的应用方式
企鹅号小编
2018/03/02
8360
从零学习:从Python和R理解和编码神经网络
深度学习理论篇之 (七) -- 反向传播
BP算法(即反向传播算法)适合于多层神经元网络的一种学习算法,它建立在梯度下降法的基础上。BP网络的输入输出关系实质上是一种映射关系:一个n输入m输出的BP神经网络所完成的功能是从n维欧氏空间向m维欧氏空间中一有限域的连续映射,这一映射具有高度非线性。它的信息处理能力来源于简单非线性函数的多次复合,因此具有很强的函数复现能力。这是BP算法得以应用的基础。
用户5410712
2022/06/01
7970
深度学习理论篇之 (七) -- 反向传播
彻底弄懂LSH之simHash算法[通俗易懂]
  马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。
全栈程序员站长
2022/09/20
2.1K0
相似文档查找算法之 simHash 简介及其 java 实现
传统的 hash 算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。产生的两个签名,如果相等,说明原始内容在一定概 率 下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差别极大。从这个意义 上来 说,要设计一个 hash 算法,对相似的内容产生的签名也相近,是更为艰难的任务,因为它的签名值除了提供原始内容是否相等的信息外,还能额外提供不相等的 原始内容的差异程度的信息。 而 Google 的 simhash 算法产生的签名,可以满足上述要求。出人意料,这个算法并不深奥,其思想是非常清澈美妙的。
用户1177713
2018/02/24
5.5K0
相似文档查找算法之 simHash 简介及其 java 实现
CNN卷积神经网络之通俗理解!
简而言之,卷积神经网络(Convolutional Neural Networks)是一种深度学习模型或类似于人工神经网络的多层感知器,常用来分析视觉图像。卷积神经网络的创始人是着名的计算机科学家Yann LeCun,目前在Facebook工作,他是第一个通过卷积神经网络在MNIST数据集上解决手写数字问题的人。
智能算法
2019/07/12
1.8K0
CNN卷积神经网络之通俗理解!
算法—对称加密—AES算法(Rijndael)
因为 DES的诸多弊端。因此需要更高级的算法。所以AES(Advanced Encryption Standard,AES)孕育而生。
用户10929791
2025/06/11
2660
神经网络分类算法原理详解
(forward-propagation):指对神经网络沿着输入层到输出层的顺序,依次计算并存储模型的中间变量。
zhangjiqun
2024/12/14
2.5K2
神经网络分类算法原理详解
最通俗易懂的BiLSTM-CRF模型中的CRF层讲解
本文翻译自GitHub博客上的原创文章,结尾有原文链接。文章没有晦涩的数学公式,而是通过实例一步一步讲解CRF的实现过程,是入门CRF非常非常合适的资料。
机器学习AI算法工程
2019/10/28
4.2K0
最通俗易懂的BiLSTM-CRF模型中的CRF层讲解
相关推荐
深入理解遗传算法(三)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档