惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Jina AI
Jina AI
雷峰网
雷峰网
The Register - Security
The Register - Security
The Cloudflare Blog
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
I
InfoQ
博客园 - 三生石上(FineUI控件)
H
Help Net Security
博客园 - 司徒正美
Vercel News
Vercel News
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
云风的 BLOG
云风的 BLOG
B
Blog
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
L
LangChain Blog
人人都是产品经理
人人都是产品经理
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recorded Future
Recorded Future
小众软件
小众软件
Martin Fowler
Martin Fowler
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
腾讯CDC
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Apple Machine Learning Research
Apple Machine Learning Research
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - Franky
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
V
Visual Studio Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
V
V2EX
Blog — PlanetScale
Blog — PlanetScale

Posts on Changkun's Blog

Why High-Output Systems Are Often the First to Stop Growing Dark Forest Theory: A Formal Derivation Agents (or Humans) in Goal-Directed and Goalless Environments: On Pipelines, Priors, and the Rhythm Between Exploration and Exploitation At the Boundary of Self-Reference: From Stable Structures in Artificial Intelligence to the Self as a Recursive Model in an Open Dissipative System 2023 Reading List 2022 Reading List 2021 Reading List Are PSS/USS and RSS Actually the Same Thing? Performance Differences from Page Faults vs. Prefetching 2020 Year-End Review Migration with Zero Downtime 2020 Reading List The All in Go Stack Pointers Might Not Be Ideal for Parameters Eliminating A Source of Measurement Errors in Benchmarks Setup Wordpress in 10 Minutes 我为什么不再写博客了? 2019 年终总结 2018-2019 读书清单 Ten years of blogging Rethinking the Reflections on Communications and Trusts 2018 年终总结 Go source code study is open source Go source study: unsafe Pattern Go source study: sync.Pool Go runtime programming A Million WebSocket and Go Designing Asynchronous RESTful APIs 分布式杂谈01:CAP 理论的误解 Issues of Human-Bot Interaction 压缩法与深度网络的泛化性 Go in 1 Hour UMSLT04: The Past and Present of SGD UMSLT03: A Gentle Start of Learning Theory UMSLT02: A Breif History of Neural Networks UMSLT01: A Breif History of Regularization 不笑不足以为道 论文笔记:Generalization in Deep Learning 2017 年终总结 2017 读书清单 深度学习的泛化理论简介 删除 GitHub 上已经提交的敏感信息 硕士生涯的第一年就这样告一段落了 人肉计算(10): 系统参与激励 人肉计算(9): 陷阱的解法 别聊,一聊你就暴露 人肉计算(8): 人肉计算与数据科学中的陷阱 人肉计算(7): 社会行为分析 Hexo + GitHub + Travis CI + VPS 自动部署 人肉计算(6): 预测市场 人肉计算(5): 信用风险评级模型 读书与回报 瞎扯: 对现代企业理论与当下IT企业的商业模式和信息产业链的规律性的思考 人肉计算(4): 输入数据聚合与PageRank 又一次打整了一下博客 人肉计算(3): 输入数据聚合与链路预测 人肉计算(2): 意图博弈 GWAPs 人肉计算(1): 众包与群众智慧 对后辈同学在计算机专业上的答疑与解惑 在德国的医疗及住院体验 这可能不是一个技术博客了 实验楼楼赛第3期-Python-题解 迅速更换了 DISQUS Electron 深度实践总结 良好的编码体验的三个方面 2016 年终总结 2016 读书清单 最近在着手写的文章 微信小程序文档极致总结 谈谈过去三个月在实验楼的实习经历 Built a Desktop Client for My Blog Guacamole 源码分析与 VNC 中 RFB 协议的坑 《高速上手 C++11/14》正式发布 Docker 极速入门教程02 - 镜像与容器管理 Docker 极速入门教程01 - 基本概念和操作 阶段性沉默 ELK+Redis 最佳实践 终于全面启用了 HTTPS 苹果开源了LZFSE无损压缩 Hash 碰撞的一种思路 记一次完整的 Kaldi-TIMIT 示例运行 Kaldi 上的 TIMIT 例子 Kaldi 安装与部署 从科研写作谈起 Swift API 设计指南 有趣的人类 所以其实论文并没有什么鬼用 Githug 通关记录及指南 小结一下这学期的收获 2015 读书清单 2015 年终总结 负能量爆表 转眼就快两个月了 博客迁移记录 大三总结 这个世界,终究不会是我们的。 Linux 内核分析 之六:Linux 内核创建进程的过程 小说「泽缘」 Linux 内核分析 之五:system_call中断处理过程的简要分析 大创项目的标题真是每年都在考验同学们的想象力啊
从坐公交车想到的和看到的
Changkun Ou · 2014-07-31 · via Posts on Changkun's Blog

从坐公交车想到的和看到的

Published at发布于:   |   PV/UV: /   |   Reading阅读: 1 min

序、起因

昨天做公交准备回学校的时候照常在车上掏出手机把玩,不过手机已经只剩下10%的电了,所以没耍几分钟手机就彻底牺牲了。

一路上人非常的挤,没有座位,所以开始猜测面前坐着这哥们儿啥时候下车。不料这哥们儿居然是做到倒数几站的位置,所以还是妥妥站了一路。感觉一路上没玩手机脑子想了很多收获还是挺大的,遂写篇日志记录一下好了。

一、想到的

一路上实在是发呆和蛋疼,脑子着实无聊,便顺带初步构思了一下如何给一个城市部署公交预测系统。

想法的起点源自上车时没抢到座位。公交车来的时候,看着车上空位非常多,可是还是没有抢到座位(丫的全挤在这上了)。一路上车上的人不但没有减少,反而越来越多越来越挤。这要是在前一站上车岂不是还能坐一路回来?所以有了下面的构思。

我们可以考虑“挖掘”一天中一条公交线路上的乘客数据啊,对一些重要的指标进行预测(当然,如果这套系统能够做到实时更新,那么就是最完美的状态了,这时候系统的预测将变得无比的精确,甚至给出一天中任意时刻任意站台的等车方案、最优乘车时间、最优乘车地点、最优……):

  1. 任意时刻某站的下一辆公交车到达的等车时间
  2. 任意时刻所等站台下一辆公交车的乘客数量
  3. 任意一辆公交车在某站的上车、下车人数预测
  4. 一天中任意时刻,在某站上车,有空闲座位的概率(这才是重点啊)
  5. 等等……

那么,哪些特征能作为数据挖掘的样本呢?也就是说我们可以记录哪些数据呢?首先,如果我们的人力、物力、财力实在是有限,可以一步一步的来,先做好一步,再考虑进一步挖掘下一步的数据:

  1. 一条路线上,每个站点$A_i(i=1,2,…,m)$,在一天中,公交车到达时间的时间序列,$A_i=(t_i1, t_i2, t_i3, …, t_in)$,这样呢,我们就把一天中的整个公交车的时间分布变成了一个$mn$的“时间矩阵”。
  2. 我们来进一步细化$t_{ij}$的特征,我们可以视$t_{ij}$为一个四维向量,这个四维向量$t_{ij} = ( arriveTime, getOnNum, getOffNum, emptySeatNum )$,第一个维度是公交车在站台i的第j个到达时间,第二个维度是上车的人数,第三个维度是下车人数,第四个维度是空位的数量(其实可以考虑减掉这个维度来优化数据集,这样的话海量数据挖掘起来更快,另一个原因是由于每辆车的座位数是定值,那么空闲座位数就可以被算出)。当我们把第一步的“时间矩阵”扩张为以向量为元素的矩阵时,我们的数据集一下子就扩大了4mn倍,在数据逐渐猛涨的系统下,挖掘出的结果将会更加刺激。
  3. 前两个步骤的数据挖掘我们只考虑了一条公交路线,如果我们要把整个城市的公交路线都考虑进来,我们可以继续给$t_{ij}$增加维度,比如说当前站还未上车时的等车人数(这样的话便可以预测出大概有多少人在等哪一路的车,大幅增加了预测的准确度),又比如说,增加当前站台在城市中的地理坐标,引入城市小区的地理位置,这样的话可以预测出上车的人从哪儿来(小区直接等车?转车导致的等车?)、上车的人要去哪里(回家?还是换乘?)、这条路线上大部分上车的人喜欢在哪儿上车、大部分的人都在哪里下车、等等等等……

当然我们还可以在人力物力财力允许的情况下进一步优化我们的数据集,这只是最初步初步的想法,限于篇幅这里就不继续展开我的思路了…

那么,我们有了这些数据又怎么样呢?一方面,我们可以更加精确的预测整个城市的人口流动情况,另一方面,我们可以这些数据为蓝本,给城市公交建设提出一些可靠的意见和建议,再有,把这个数据集成到一个app中,给人们提供参考,也是很棒的。

二、看到的

在构思上面系统的同时,还观察了旁边一个妹子在刷空间的互动行为。这个妹子确实勤快,我看了她一路,居然每条说说都回复了,确实强大…不过,根据对妹子表情的观察,我更好奇这个妹子的每条回复究竟是什么心态。

假设我们发了一条说说,如何判别一条别人的回复对这条说说的态度是持“点赞”多一点?还是反面多一点?

解决这个问题其实很简单,一个非常非常平凡的思路就是:我们可以先收集一堆已经被标记为正负面的评价的回复作为数据挖掘的数据库。

那么,第一个问题就是,怎样量化回复的正负面?

所以我们可以尝试准备一个词汇向量(这个向量的维度可以很大很大,甚至囊括所有的词汇),比如假设我们构造一个非常基本的向量:a = (“好”,“差”,“喜”,“讨”,“欢”,“厌”),然后对一个回复,比如回复了一句“好喜欢”对应01向量就是:(1,0,1,0,1,0),把一条回复转化成的向量记为a=(a1,a2,…,an),怎么表达正反面呢?既然只有两个层次,问题就变得非常简单了:找一个函数f能够使得f(a)>0,那么我们就认为是正面的回复,如果f(a)<=0,就认为是负面回复了。

怎么找这样的函数?最简单的办法自然是利用向量的点乘了,用点成来界定向量,我们可以尝试寻找一个标准向量X = (x1, x2, …, xn),如果我们将回复转化成的向量a∙X^T>0,那么这条回复就更倾向于点赞,相反,a∙X^T≤0的回复就更负面一些。

至于具体如何求出x1,x2,…,xn这些参数,那就是另一个话题了