day2~神经网络学习

day2~神经网络学习,第1张

前言

昨天简单和队友聊了一下,我们做的预测模型是多输入多输出的,输入是向量输出也是向量。


回归分析很难做到,通常传统机器学习算法都是单输出的(一个样本要么输出一个分类结果,要么输出一个回归数值)但是对于神经网络来说,网络可以输出的是个向量甚至是个多维的张量,因此用神经网络来做多输出是一件比较容易的事(至于使用什么样的网络结构,则是具体问题具体考虑的事情了)。


于是我今天转战开始学神经网络了。


准备从最基础的开始学。


其实我数模用的就是神经网络预测,也靠这个投了一篇很好的期刊,但是还是对原理迷迷糊糊的,心里其实很想学好神经网络。


所以这个算是一举多得了~

另外spss都能很好的实现神经网络和回归分析等一系列功能,但是我们会对其中的原理一无所知,考虑到我的远大理想,还是自己码代码实现比较好。


(话说做数模的时候都不屑于用spss

step 1:神经网络是什么

什么是神经网络?按我的理解,就和人的生物神经一样。


人一生下来,对这个世界近乎无知,通过不断地训练,认识新事物,了解新事物,最终有了自己的一套认知体系。


机器的神经网络也一样,通过大量的数据训练,学习到一些规律,就可以很好的预测数据了!(所以我们还需要大量的数据,据学长说用双目视觉采集。


所以这个不用担心哈哈

另外还有模型选择问题,共有二十几类模型,找到适用的模型,最好还能结合其他方法,这算一个创新点吧~

step 2:基本用法

大致流程就是:建立好每一个神经网络系统的每一个部件,把每个部件有序的联系起来,再把数据放进去进行运算,得到最后的结果。


 

开始写代码,又遇到了一个很难安装的库theano,于是开始打开csdn找解决方法,,,

这篇博客写的很好

(11条消息) 【python深度学习】theano环境搭建/安装_竹聿Simon的博客-CSDN博客_python theano

键入安装时,又遇到了pip版本太低的问题。




开始更新pip版本

 2.1MB下载了几分钟,,

 开始安装theano,速度真的很慢,有加速的方法吗??小白落泪

step3:神经网络选择

大致查了一些资料

keras

是一个非常方便的深度学习框架,支持多个输入和混合输入(混合输入即为不同类型的数据)。


它以TensorFlow或Theano为后端。


用它可以快速地搭建深度网络,灵活地选取训练参数来进行网路训练。


总之就是:灵活+快速。


tensoflow

深度学习通常意味着建立具有很多层的大规模的神经网络。


除了输入X,函数还使用一系列参数,其中包括标量值、向量以及最昂贵的矩阵和高阶张量。


在训练网络之前,需要定义一个代价函数,常见的代价函数包括回归问题的方差以及分类时候的交叉熵。


训练时,需要连续的将多批新输入投入网络,对所有的参数求导后,代入代价函数,从而更新整个网络模型。


这个过程中有两个主要的问题:1. 较大的数字或者张量在一起相乘百万次的处理,使得整个模型代价非常大。


2. 手动求导耗时非常久。


所以 TensorFlow 的对函数自动求导以及分布式计算,可以帮我们节省很多时间来训练模型。


另外还看了BP神经网络和卷积神经网络。


step4:结语

看了很多算法,后续就是敲定算法→学算法+获得数据→实现预测了,其实不难做hh

(又水了一天,看资料果然比上手码代码幸福得多~


 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/568095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存