云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

京东云_快快云服务器_测评

小七 141 0

基于神经网络的共享单车出行预测

个人电脑:https://www.flickr.com/photos/philipcohen/Deep学习的巨大潜力激发了我的想象力。以至于我报名参加了Udacity的深度学习课程。当我深入了解这个话题时,我将记录我的旅程(抱歉,无法抗拒双关语)。现在,这个过程本身进展得相当缓慢,因为我在硅谷最热门的科技公司之一工作——谈谈第一世界问题。那个第一个项目是根据过去的租赁数据,预测一家自行车共享公司在路上需要的自行车数量,以满足需求。数据本身来自UCI机器学习库。自行车共享公司已经在世界各地流行起来,其优点在于,个人的骑行记录下来,从而形成了一个虚拟的传感器网络来感知一个城市的流动性(我没有提出这个敏锐的观察——UCI是这样做的)。这个神经网络(NN)是使用Python中的库构建的,比如Numpy,Pandas和Matplotlib或as中没有使用机器学习或深度学习框架。我将把构建网络本身的细节留到以后的博客上,集中讨论一些有趣的事情观察。观察1: 有大量的数据和大量的数据压倒了17000行数据,这些数据按小时记录了租车情况。有59个特征,如风速、温度和湿度为这些数据带来颜色。大量的数据势不可挡。一次我绘制了数据(感谢Udacity——他们提供了大部分代码,而我只是花时间构建了NN)有一些好消息。好像有一个模式这里。观察2: Jupyter notebook和pythonrocki非常喜欢Python数据库,尤其是Jupyter notebook。如果我能开始掌握这些库,那就太棒了。也就是说,Python文档非常简洁,如果没有食谱或代码,很难看到发生了什么。作为一个Java人,我想知道为什么Java不能这么简单:—)。观察3:神奇之处在于NN的隐藏层,输入层是数据的输入层(它的59列,遍历所有17k行),而输出则是预测结果的来源——简单够了。那个有趣的一点发生在"感知器"或隐藏的每个节点中 每一层输入乘以随机权重-疯狂矩阵数学中的线索,输入到一个sigmoid函数并推送到输出层。sigmoid函数将数值输出转换为预测接近实际的概率数据。观察4: 真正神奇的是反向传播和梯度下降,真正神奇的是神经网络在前向通道上输入数据,将预测结果与实际数据进行比较,并计算出误差。这个错误通过网络被推回到隐藏层,在每个阶段,权重都会被调整,这样预测就开始更接近实际数据了-哇!设置学习速率来调整学习量梯度下降公式调整权重,使权值按名义量调整,算法找到全局最小值或正确值回答。我们对一些"时代"或迭代(成百上千次)执行整个过程。这叫做训练数据。最终,训练好的神经网络会被输入一个单独的数据集,称为测试数据,以查看网络有多好表演。观察5: 预测的乐趣接近15小时的纯任务时间-哇!你可以看到,除了圣诞节和年底以外,我的NN在大多数日子里都很活跃。失败的原因是这个数据集已经使用了两年,而NN只看到了圣诞节的两个数据点。这些数据不足以让它做出可靠的判断预测。其他更重要的是,这是纯粹的喜悦,到了这一点-爱它。忘了矩阵数学的痛苦和事实,我不太记得梯度下降是从哪里来的:-)-这是三周前我写这篇文章的时候,所以我应该休息。你这里可以看到我的Jupyter笔记本的结果,这里是我的神经网络课程。在Twitter和LinkedIn上关注他。