【BABY夜谈大数据】神经网络

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 你需要挑选芒果,你不知道什么样的芒果最好吃,所以你就尝遍了所有的芒果,然后自己总结出个大深黄色的比较好吃,以后再去买的时候,就可以直接挑选这种。 那什么是机器学习呢,就是你让机器“尝”一遍所有芒果。神经网络就是机器学习中常见的领域。本文简单阐述了什么是神经网络,帮助大家快速理解。

前言

如果你喜欢《BABY夜谈大数据》这本书,或者想要及时收到更新,可以到豆瓣上订阅和购买哦!

https://read.douban.com/column/3346397/


神经网络旨在模拟人的思考方式,思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。而神经网络主要就是模拟人类的逻辑思维。

逻辑思维是人们在认识事物的过程中借助于概念、判断、推理等思维形式能动地反映客观现实的理性认识过程,又称抽象思维。它是作为对认识者的思维及其结构以及起作用的规律的分析而产生和发展起来的。只有经过逻辑思维,人们对事物的认识才能达到对具体对象本质规定的把握,进而认识客观世界。它是人的认识的高级阶段,即理性认识阶段。

同时,逻辑思维是思维的一种高级形式。是指符合世间事物之间关系(合乎自然规律)的思维方式,我们所说的逻辑思维主要指遵循传统形式逻辑规则的思维方式。常称它为“抽象思维(Abstract thinking)”或“闭上眼睛的思维”。

例如由笛卡尔提出的著名的“我思故我在”,我无法否认自己的存在,因为当我否认、怀疑时,我就已经存在!”因为我在思考在怀疑的时候,肯定有一个执行“思考”的“思考者”,这个作为主体的“我”是不容怀疑的,这个我并非广延的肉体的“我”,而是思维者的我。所以,否认自己的存在是自相矛盾的。

这个“我思故我在”就是典型的逻辑思维产物。

神经网络可以算是人工智能领域中一个小小的部分,简单来说就是通过一些列函数的串行和并行来拟合一个已经产生了一系列数据(x,y)的黑箱系统。

因为神经网络的这种特性,让人很难追溯产生的结果的原因,所以一般很少会用于推荐、运营相关方面。

作为一个数学不太好的设计师,神经网络的入门可以说是对数学要求没有那么高对我等相对来说比较友好的一个方向。

神经网络的点和点通过权重连接。把神经网络训练好了(就是权重调整好)。然后,让它去识别一个输入,把一个输入从神经网络出来后,就会被映射到一个输出(一个分类)。 所以也很适合做分类器。

我这里引用PararthShah在Quora(贾伟 翻译)上对机器学习(神经网络是机器学习的一部分)的解释:

你需要挑选芒果,你不知道什么样的芒果最好吃,所以你就尝遍了所有的芒果,然后自己总结出个大深黄色的比较好吃,以后再去买的时候,就可以直接挑选这种。
那什么是机器学习呢,就是你让机器“尝”一遍所有芒果,当然,也假设它知道哪些好吃,让机器去总结一套规律(个大深黄色),这就是机器学习。具体操作,就是你描述给机器每一个芒果的特征(颜色,大小,软硬……),描述给机器其输出(味道如何,是否好吃),剩下的就等机器去学习出一套规则。

神经网络特别适合用于分类,比如图像识别、垃圾邮件识别等等。这种能自动对输入的东西进行分类的机器,也可以叫做分类器。

每进行一次分类就被称为一个神经元,理论上只要足够多次的分类就可以把任何复杂的东西都能分类。相似的神经元构成一层。

当一层神经元搞不定的时候,怎么办?两层呗,两层搞不定就三层呗,如此反复叠加。上一层的结果可以当做下一层神经元的输入,直到最后一层再输出结果。

比如:

第一层分类出是一只狗。

第二层分类出是一只黄色的狗。

第三层分类出是一只黄色的金毛。

看到上面的例子,我相信大家都大概明白了神经网络的运作原理吧。神经网络虽然听起来特别高深、让人肃然起敬,但其实并不是特别的难。让人容易想起一个弹幕-“什么都好,就是有点傻”。

不得不说神经网络从某种程度上来说是有点傻,在实际应用上一般是不会设计超过五层的神经网络,因为层数越多越复杂、性能越低。

想要训练神经网络认识狗的话,就给它看几百万只狗、几百万只猫并标识什么是狗什么是猫,让神经网络自己提取共用特征。然后让神经网络分批看几十万张随机挑选的动物图片,每张图片可以附带一个标注(人为标注出是什么),如果神经网络得出的结果与人为标注的结果不同则自动修正。

如此反复找到识别率最高的批次。

讲到这就不得不提BP了,BP算法是一种计算偏导数的有效方法,它的基本原理是:利用前向传播最后输出的结果来计算误差的偏导数,再用这个偏导数和前面的隐藏层进行加权求和,如此一层一层的向后传下去,直到输入层(不计算输入层),最后利用每个节点求出的偏导数来更新权重。

BP神经网络可以用作分类、聚类、预测等。需要有一定量的历史数据,通过历史数据的训练,网络可以学习到数据中隐含的知识。在你的问题中,首先要找到某些问题的一些特征,以及对应的评价数据,用这些数据来训练神经网络。

BP神经网络主要是在实践的基础上逐步完善起来的系统,并不完全是建立在仿生学上的。并且里面的某些算法,例如如何选择初始值、如何确定隐藏层的节点个数、使用何种激活函数等问题,并没有确凿的理论依据,只有一些根据实践经验总结出的有效方法或经验公式。

BP神经网络虽然是一种非常有效的计算方法,但它也以计算超复杂、计算速度超慢、容易陷入局部最优解等多项弱点著称,因此人们提出了大量有效的改进方案,一些新的神经网络形式也层出不穷。

决策树和神经网络都可以用来做预测,线性回归、逻辑回归也是可以做预测。方法还挺多,但一般我们选择准确率最好的那个模型。

决策树因为其特性可以清晰和直观的知道整个决策流程,而神经网路则是通过算法产生一个最终的结果,这个结果是一些权重数据。所以在大数据的应用领域我更赞成决策树。可能这个跟自己的一些理念有关。

由于本书并不希望讲得太过高深,所以我就不在这里讲太多神经网络相关的,神经网络的学习还是需要一定时间和尝试的。本篇文章主要是给大家继决策树后补充下相关的知识。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
网络协议 大数据 数据挖掘
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控(二)
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控(二)
|
27天前
|
分布式计算 运维 API
针对MaxCompute经典网络域名下线,Dataphin应对策略的公告
针对MaxCompute经典网络域名下线,Dataphin应对策略的公告
239 7
|
4月前
|
大数据 RDMA
神龙大数据加速引擎MRACC问题之MRACC-Spark利用eRDMA近网络优化插件来提升性能如何解决
神龙大数据加速引擎MRACC问题之MRACC-Spark利用eRDMA近网络优化插件来提升性能如何解决
52 0
|
6月前
|
分布式计算 NoSQL 大数据
MaxCompute产品使用合集之自定义udf连接云上vpc网络的redis获取数据的步骤是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
数据可视化 大数据 数据挖掘
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控(三)
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控(三)
|
大数据 数据挖掘 Go
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控(一)
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控
|
7月前
|
分布式计算 DataWorks NoSQL
MaxCompute资源问题之网络不通如何解决
DataWorks数据集是指在阿里云DataWorks平台内创建、管理的数据集合;本合集将介绍DataWorks数据集的创建和使用方法,以及常见的配置问题和解决方法。
|
7月前
|
分布式计算 网络协议 Hadoop
大数据成长之路------hadoop集群的部署 配置系统网络(静态) 新增集群(三台)
大数据成长之路------hadoop集群的部署 配置系统网络(静态) 新增集群(三台)
101 0
|
网络协议 大数据 网络性能优化
大数据开发基础的计算机网络的体系结构和分层模型
在大数据开发中,计算机网络是一个非常重要的概念。了解计算机网络的体系结构和分层模型对于实现高效的大数据处理和传输十分关键。
157 0
|
数据采集 存储 大数据
大数据数据采集的数据来源的爬取的网络数据
在大数据应用中,数据采集是非常重要的一步。网络爬虫技术可以帮助企业从互联网上获得更加丰富、多样化的数据,并为后续的数据分析和运用提供支持。
162 0