Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >神经网络是什么?又能干什么?

神经网络是什么?又能干什么?

原创
作者头像
人工智能的秘密
发布于 2018-01-18 07:15:23
发布于 2018-01-18 07:15:23
1.5K0
举报

现在深度学习炒得非常火热,其实它的本质还是把神经网络算法进行延伸和优化而已。那今天目标就直入主题用最简单的语言让大家了解神经网络是一个什么东西。

关于神经网络与人工智能的发展,以及神经网络各种生物学模型就不唠了,我是觉得把神经网络比作各种类人脑模型和生物学模型没有半点助于咱们理解,反而把简单的问题复杂了,这些恩怨情仇就不过多介绍了!

这张图就是我们的核心了,也是整个神经网络的架构,只要能理解这个,那就OK了!首先我们来观察整个结构,发现在神经网络中是存在多个层的,有输入层,隐层1,隐层2,输出层。那么我们想要得到一个合适的结果,就必须通过这么多层得到最终的结果,在这里咱们先来考虑一个问题,神经网络究竟做了一件什么事?

如果你想做一个猫狗识别,大家首先想到了神经网络,那它是怎么做的呢?先来想想咱们人类是怎么分辨的,是不是根据猫和狗的特征是不一样的,所以我们可以很轻松就知道什么事猫什么是狗。既然这样,神经网络要做的事跟咱们一样,它也需要知道猫的特征是什么,狗的特征是什么,这么多的层次结构其实就做了一件事,进行特征提取,我们希望网络结构能更好的识别出来我们想要的结果,那势必需要它们能提取处最合适的特征,所以神经网络的强大之处就在于它可以帮助我们更好的选择出最恰当的特征。

在第一张图中我们定义了多层的结构,在这里有一个概念叫做神经元,那么神经元真的存在吗?像大脑一样?其实就是一个权重参数矩阵,比如你有一个输入数据。它是由3个特征组成的,我们就说输入是一个batchsize*3的矩阵,(batchsieze是一次输入的数据量大小),那既然要对输入提取特征,我们就需要权重参数矩阵W了,在图中神经元的意思就是我们要把这个3个特征如何变幻才能得到更好的信息表达,比如中间的第一个隐层有4个神经元,那么我们需要的第一个权重参数矩阵W1就是3 * 4,表示通过矩阵链接后得到的是batchsize * 4的特征,也就是说我们将特征进行的变换,看起来好像是从3变到了4只增加了一个,但是我们的核心一方面是特征的个数,这个我们可以自己定义神经元的个数。另一方面我们关注的点在于,什么样的权重参数矩阵W1才能给我得到更好的特征,那么神经网络大家都说它是一个黑盒子,原因就在于权重参数矩阵W1内部是很难解释的,其实我们也不需要认识它,只要计算机能懂就OK了。那么这一步是怎么做的呢?计算机怎么得到最好的权重参数W1帮我们完成了特征的提取呢?这一点就要靠反向传播与梯度下降了,简单来说就是我们告诉神经网络我的目标就是分辨出什么是猫什么是狗,然后神经网络就会通过大量的迭代去寻找最合适的一组权重参数矩阵。(如果不清楚什么事梯度下降,先来看看我之前的文章吧!)

在神经网络中,我们刚才解释了什么是神经元,说白了就是一组权重参数。那整个网络不止这么一层呀,还有很多层次结构,这就是说我们的网络要想充分利用其价值就需要通过多种变换才能得到最终最合适的特征,一旦我们得到了最合适的特征,后续我们利用特征来进行分类或者回归任务就都随你啦。这就是神经网络的本质,其实我本质上认为神经网络就是一种特征提取器,通过这种设计可以让我们得到更有价值的信息!希望这篇文章能帮助大家对神经网络有了基础的认识,下一篇的时候我们再来讨论其中的细节!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Python】已解决:FutureWarning: The frame.append method is deprecated and will be removed from pandas in
在使用pandas库进行数据操作时,很多开发者习惯使用DataFrame的append方法来合并两个或多个DataFrame。然而,在近期版本的pandas中,使用append方法时会遇到一个FutureWarning警告,提示frame.append方法将在未来的版本中被移除,推荐使用pandas.concat来代替。
屿小夏
2025/05/23
1800
【Python】已解决:ValueError: Length mismatch: Expected axis has 5 elements, new values have 4 elements
已解决:ValueError: Length mismatch: Expected axis has 5 elements, new values have 4 elements
屿小夏
2025/05/22
1230
软件测试|数据分析神器pandas教程(三)
前面我们介绍了pandas Series数据结构,本篇文章我们来介绍另外一种pandas数据结构——DataFrame。
霍格沃兹测试开发Muller老师
2023/04/10
5140
Pandas入门教程
大家好,我是皮皮。其实这个pandas教程,卷的很严重了,才哥,小P等人写了很多的文章,这篇文章是粉丝【古月星辰】投稿,自己学习过程中整理的一些基础资料,整理成文,这里发出来给大家一起学习。
前端皮皮
2022/08/17
1.4K0
Pandas入门教程
Pandas数据结构之DataFrame
DataFrame 是由多种类型的列构成的二维标签数据结构,类似于 Excel 、SQL 表,或 Series 对象构成的字典。DataFrame 是最常用的 Pandas 对象,与 Series 一样,DataFrame 支持多种类型的输入数据:
用户1564362
2019/11/27
1.7K0
【Python】已解决:(pandas读取DataFrame列报错)raise KeyError(key) from err KeyError: (‘name‘, ‘age‘)
在使用pandas库处理数据时,我们经常会遇到需要读取DataFrame中特定列的情况。然而,有时在尝试访问某些列时会触发KeyError异常,这通常发生在尝试访问DataFrame中不存在的列时。本文将针对一个具体的报错信息KeyError: (‘name‘, ‘age‘)进行分析,并提供解决方案。
屿小夏
2025/05/23
2310
【Java报错已解决】ValueError: All arrays must be of the same length
在Java开发过程中,特别是在处理数组相关的数据结构和操作时,遇到“ValueError: All arrays must be of the same length”这样的报错,就像是在构建一座精密的数据大厦时发现了参差不齐的基石,让开发者和环境配置者感到头疼。这个报错表明在程序中存在数组长度不一致的问题,它可能隐藏在数据处理、机器学习、数据分析等众多应用场景的代码深处,严重干扰程序的正常运行。理解这个报错的根源并掌握有效的解决方法,对于确保程序的稳定性和数据处理的准确性至关重要。
鸽芷咕
2025/05/29
930
统计师的Python日记:第四天的补充
【第4天:欢迎光临Pandas】 第四天学习了Pandas,感受了Pandas数据的DataFrame数据格式的魅力: 看起来就像excel一样清爽! 但是后来我遇到了两个问题: 1)之前只学习了用
数说君
2018/04/04
9180
统计师的Python日记:第四天的补充
解决 ValueError: feature_names mismatch training data did not have the following f
在机器学习中,有时候我们可能会遇到 ​​ValueError: feature_names mismatch training data did not have the following fields​​ 的错误。这个错误通常是由于训练数据和测试数据在特征列上不匹配导致的。本文将介绍如何解决这个错误,并提供一些可能的解决方案。
大盘鸡拌面
2023/10/26
5400
【Python】已解决:ValueError: Worksheet named ‘Sheet’ not found
在Python编程中,处理Excel文件是一个常见的任务。通常,我们会使用像openpyxl或pandas这样的库来读取或写入Excel工作簿。然而,在这个过程中,有时会遇到“ValueError: Worksheet named ‘Sheet’ not found”这样的报错信息。这个错误通常发生在尝试访问一个不存在的工作表时。
屿小夏
2025/05/23
1020
【Python】已解决:AttributeError: ‘DataFrame‘ object has no attribute ‘ix‘
在使用Pandas进行数据处理时,开发者经常会遇到AttributeError: 'DataFrame' object has no attribute 'ix'报错。这通常发生在尝试使用旧版本Pandas中已被废弃的方法时。具体场景可能是,开发者正在访问或操作DataFrame的数据,例如,选择特定行或列。以下是一个典型的代码片段:
屿小夏
2024/09/15
4520
如何解决 `ValueError: could not convert string to float: ‘text‘` 错误:完整指南
大家好,我是默语!在处理数据时,尤其是涉及数据转换的操作时,常常会遇到 ValueError: could not convert string to float: 'text' 这个错误。这个错误通常表明代码中尝试将一个不能被转换为浮点数的字符串转换为浮点数。本文将详细解释该错误的成因,并提供各种解决方案,帮助你在开发中轻松应对这个问题。🤓
默 语
2024/11/22
1.2K0
数据处理(三)| 深入数据预处理:提升机器学习模型性能的关键步骤
今天要和大家继续讲解机器学习中一个看似枯燥但至关重要的环节——数据预处理。前面已经讲解过数据清洗和数据评质量评估(点击跳转),如果你已看过,那你已经打下了坚实的基础!今天这篇内容会更聚焦于预处理的核心技巧,手把手教你如何将原始数据“打磨”成模型的最爱。
CoovallyAIHub
2025/03/03
2790
数据处理(三)| 深入数据预处理:提升机器学习模型性能的关键步骤
【Python】已解决:ValueError: If using all scalar values, you must pass an index
在Python编程中,尤其是当使用pandas库进行数据分析和处理时,有时会遇到“ValueError: If using all scalar values, you must pass an index”这个错误。这个错误通常发生在尝试创建一个DataFrame对象,而提供给构造函数的数据都是标量值(scalar values),且没有指定索引(index)时。
屿小夏
2025/05/23
3310
修复Scikit-learn中的`ValueError: Input contains NaN`
大家好,我是默语,擅长全栈开发、运维和人工智能技术。在这篇博客中,我将带领大家解决在Scikit-learn中常见的错误——ValueError: Input contains NaN。这个错误通常发生在数据预处理中,是数据清洗的重要一环。关键词:Scikit-learn、ValueError、NaN、数据预处理、错误解决。
默 语
2024/11/22
6590
Pandas常用的数据处理方法
本文的Pandas知识点包括: 1、合并数据集 2、重塑和轴向旋转 3、数据转换 4、数据聚合 1、合并数据集 Pandas中合并数据集有多种方式,这里我们来逐一介绍 1.1 数据库风格合并 数据库风格的合并指根据索引或某一列的值是否相等进行合并的方式,在pandas中,这种合并使用merge以及join函数实现。 先来看下面的例子: df1 = pd.DataFrame({'key':['b','b','a','c','a','a','b'],'data1':range(7)}) df2 = pd.Dat
石晓文
2018/04/11
8.6K0
Pandas常用的数据处理方法
数据分析 ——— pandas数据结构(一)
之前我们了解了numpy的一些基本用法,在这里简单的介绍一下pandas的数据结构。
andrew_a
2019/08/02
2.2K0
Pandas数据应用:机器学习预处理
在当今的数据驱动世界中,机器学习(ML)已经成为各个行业中不可或缺的一部分。然而,要使机器学习模型发挥最佳性能,数据的预处理是至关重要的一步。Pandas是一个强大的Python库,专门用于数据操作和分析,它为机器学习提供了许多便捷的功能。本文将由浅入深地介绍使用Pandas进行机器学习预处理时常见的问题、常见报错以及如何避免或解决这些问题,并通过代码案例进行解释。
Jimaks
2025/01/13
3680
【Python环境】Python中的结构化数据分析利器-Pandas简介
Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术
陆勤_数据人网
2018/02/27
15.6K0
提高数据质量的步骤
在进行数据分析和建模之前,数据清洗与预处理是至关重要的步骤。通过清洗和预处理数据,我们可以去除噪声、填补缺失值、处理异常值等,从而提高数据质量,确保后续分析的准确性和可靠性。本文将介绍数据清洗与预处理的关键步骤,并分享一些实用的代码示例,帮助您掌握数据清洗和预处理的技巧,提高数据质量,为后续分析奠定坚实基础。
华科云商小孙
2023/10/08
3530
推荐阅读
相关推荐
【Python】已解决:FutureWarning: The frame.append method is deprecated and will be removed from pandas in
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档