day2~神经网络学习

前言

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

于是我今天转战开始学神经网络了。准备从最基础的开始学。其实我数模用的就是神经网络预测,也靠这个投了一篇很好的期刊,但是还是对原理迷迷糊糊的,心里其实很想学好神经网络。所以这个算是一举多得了~

另外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

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


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值