BP 神经网络 定位算法实现过程总结
2014-12-17 15:29
639 查看
如果有人搜索到BP 神经网络 实现 进来的,对不起啦, 这里面没有介绍神经网络以及实现神经网络的代码。只是一些牢骚和想法。
Python 实现 神经网络,用于8位geohash 回归。 效果还行,但就是8位geohash 太小,不能够进行比较。下一步进行7位geohash的回归
BP神经网络就不说了,参考http://blog.csdn.net/sealyao/article/details/6538361
Python 实现也不难。主要是控制步长,要不然收敛太困难。
代码就不写了,也不能写。哈哈
主要是发现这些训练数据太脏,
脏表现在以下几方面:
1、GPS 虚拟的
2、GPS 漂移
3、GPS不刷新
4、WIFI 不同手机 信号强度不同
5、WIFI 只能扫描30个。
6、一个IMEI号竟然爆发性的向上传了N条。 而且信号强度不一样。
现在主要是通过以下手段进行过滤:
过滤移动AP
过滤掉出现次数较少的mac
匹配mac -100
通过IMEI+时间维度进行训练数据的采样。
这样回归效果还行吧。
希望能想出其他方法。
==========================================分割线==============================================================
实现了 BP 前馈神经网络,对7位geohash 进行了回归,得出的结果是75% 左右的 数据落在了50米范围之内。
但是考虑如果对于在geohash 边界的点,很可能因为wifi 的位置训练不准确,没有落入7位geohash里面。
这样就需要求出多个7位geohash中的位置, 聚类 加权求平均了。
其实这样和指纹定位 差不多。 无论是进行匹配或者进行回归 都是一个match的过程。不像概率。
概率模型总是在找到概率最大的位置,概率模型其实有个很大的弊病。在于:
在这个分布中,最大的概率为30% 那么意思就是30% 的机会落在该区域内。
那么对于其他的几个区域的人 感觉就相当差。
还是梯度下降的方法比较合理。
============================================================================
想了想,不对,确定geohash, 应该再加一层,决策树 或者LR分类。 来确定geohash。
可以参考 垃圾邮件分类的想法。 可以试试,如果7位geohash 的准确率在 98% 以上。 那这个加上回归的 75%
效果杠杠的 比百度要好。
现在同事都在忙着修正Badcase 真的实在 不是研发太菜,真的是产品太**, 揪着几个badcase 不放。
比如:
1、周围荒山野岭就一个基站,定位超过了500米,
2、周围很少的wifi 还有一个基站,训练的wifi 位置和基站不一致, 相差很多, 你是相信基站呢 还是相信wifi 呢。 就是个抉择问题,无论你相信哪一个都可能出现Badcase
3、还有就是说人家在海边 给定位在海里了。(这个问题 真是 想骂街了, 产品你懂不懂定位, 懂不懂如何定位, 我定位的时候 还得先确定一下是不是在海里面? 你把海岸线坐标告诉我! 还有江河湖泊! )
多了不说了,说多了生气。或者说真的不是百度太强,真是的队友太SB
Python 实现 神经网络,用于8位geohash 回归。 效果还行,但就是8位geohash 太小,不能够进行比较。下一步进行7位geohash的回归
BP神经网络就不说了,参考http://blog.csdn.net/sealyao/article/details/6538361
Python 实现也不难。主要是控制步长,要不然收敛太困难。
代码就不写了,也不能写。哈哈
主要是发现这些训练数据太脏,
脏表现在以下几方面:
1、GPS 虚拟的
2、GPS 漂移
3、GPS不刷新
4、WIFI 不同手机 信号强度不同
5、WIFI 只能扫描30个。
6、一个IMEI号竟然爆发性的向上传了N条。 而且信号强度不一样。
现在主要是通过以下手段进行过滤:
过滤移动AP
过滤掉出现次数较少的mac
匹配mac -100
通过IMEI+时间维度进行训练数据的采样。
这样回归效果还行吧。
希望能想出其他方法。
==========================================分割线==============================================================
实现了 BP 前馈神经网络,对7位geohash 进行了回归,得出的结果是75% 左右的 数据落在了50米范围之内。
但是考虑如果对于在geohash 边界的点,很可能因为wifi 的位置训练不准确,没有落入7位geohash里面。
这样就需要求出多个7位geohash中的位置, 聚类 加权求平均了。
其实这样和指纹定位 差不多。 无论是进行匹配或者进行回归 都是一个match的过程。不像概率。
概率模型总是在找到概率最大的位置,概率模型其实有个很大的弊病。在于:
在这个分布中,最大的概率为30% 那么意思就是30% 的机会落在该区域内。
那么对于其他的几个区域的人 感觉就相当差。
还是梯度下降的方法比较合理。
============================================================================
想了想,不对,确定geohash, 应该再加一层,决策树 或者LR分类。 来确定geohash。
可以参考 垃圾邮件分类的想法。 可以试试,如果7位geohash 的准确率在 98% 以上。 那这个加上回归的 75%
效果杠杠的 比百度要好。
现在同事都在忙着修正Badcase 真的实在 不是研发太菜,真的是产品太**, 揪着几个badcase 不放。
比如:
1、周围荒山野岭就一个基站,定位超过了500米,
2、周围很少的wifi 还有一个基站,训练的wifi 位置和基站不一致, 相差很多, 你是相信基站呢 还是相信wifi 呢。 就是个抉择问题,无论你相信哪一个都可能出现Badcase
3、还有就是说人家在海边 给定位在海里了。(这个问题 真是 想骂街了, 产品你懂不懂定位, 懂不懂如何定位, 我定位的时候 还得先确定一下是不是在海里面? 你把海岸线坐标告诉我! 还有江河湖泊! )
多了不说了,说多了生气。或者说真的不是百度太强,真是的队友太SB
相关文章推荐
- 神经网络中 BP 算法的原理与 PYTHON 实现源码解析
- 神经网络(BP)算法Python实现及应用
- 神经网络(BP)算法Python实现及简单应用
- 神经网络学习(四)反向(BP)传播算法(2)-Matlab实现
- 神经网络中 BP 算法的原理与 Python 实现源码解析
- Runaway Robot游戏通关算法实现过程总结
- 机器学习_算法_神经网络_BP
- (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 神经网络分析算法)
- 如何用70行代码实现深度神经网络算法
- 大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 神经网络分析算法原理篇)
- 三层 BP 神经网络 matlab 实现
- BP 神经网络的 MATLAB 实现步骤
- 神经网络、logistic回归等分类算法简单实现
- [Step By Step]SAP HANA PAL 自组织映射神经网络算法Self -Organizing Maps实现案例SELFORGMAP
- C++实现BP 神经网络模拟二维机械臂运动_智能计算期末2
- 神经网络BP的简单实现
- 基于Levenberg-Marquardt训练算法的BP网络Python实现
- 神经网络算法--BP网络--人脸朝向
- 基于Levenberg-Marquardt训练算法的BP网络Python实现
- Andrew Ng机器学习笔记+Weka相关算法实现(三)神经网络和参数含义