Kaggle 101 Digit Recognizer试水

断断续续花了好久看完了《统计学习方法》之后,虽然里面的推导绝大部分都曾经看懂过,然而却发现自己并没有入门,里面的原理要我自己手推未必能推出,而且也不能清晰地分辨出里面各种方法的从动机到适用范围的区别。反而,耳濡目染,越来越多地听说一些书中从未涉及的内容,水深令人难以想象。理论虽然重要,实践更不可缺少。所以先到著名的Kaggle上尝试一下。 Kaggle上有几道长期有效的101入门题目。有一道预测泰坦尼克号乘客获救情况的题目,里面有很多详细的工具类教程很有帮助,不过该题题意不是和算命很像,而完全就是算命,非常玄乎,知难而弃。 于是尝试另一道数字识别的题目。题意是给你42000个28x28像素图片,每张上面有一个手写的[0-9]字符, »

机器学习权威入门指南

机器学习是新世纪计算机领域时下非常重要的分支,大到阿尔法狗,小到薛定谔猫都和它有千丝万缕的联系。都连这个都不会,那只能当码畜了。 而我,经过几个月的系统学习,已经成功入门了机器学习,并确认找到了一条简明、有效的进阶途径。不料这里位置太小,所以就没有办法完整叙述了。 »

关于手腕爆发力

我理解的手腕爆发力的主要表征是:掌部有阻力或无阻力时腕部瞬时弯曲能达到的速度。这个力量在很多运动中的作用都非常关键。值得一提的是掰手腕时靠的不是腕部的爆发力,而是承受力。 现在想来,很多对我来说有障碍的动作都和手腕的爆发力有关,而我的腕部爆发力太弱了。我已经发现的障碍包括而不仅限于: 投实心球投不远。(甚至不如班上最瘦的男生。。令人大跌眼镜) 打水漂。扔出去的石头转速超慢。。 飞扑克牌。同上 羽毛球挥拍。无论多么努力,球都压不下来,次次往上飘,喂得别人都不好意思 篮球,运球。腕部使不上力只能靠肩肘。最直接的后果是运球频率难以提高,变速之类更不可能。 »

胡扯flatMap in Scala

初识flatMap记得还是学Spark的时候,看到RDD有这么个接口函数,当时只觉得其功能和map有些像(把list的每个元素map成一个list,再把这些list合并),其名字也和这个功能很符合,其他就没什么概念了。之后,走马观花地学习了零零星星的其他FP相关的东西,又经常发现这个函数。再往后才慢慢知道这是个什么东西——flatMap没有我想象的那么普遍,也没有我想象的那么局限。简单讲一讲我对它的理解。 画外音:学过Monad的人都知道行内有一条规矩,那就是不要在网上发表自己的Monad教程,防止误导别人。。此文只是我一个菜鸟的粗浅理解,不是教程,但是此处还是应该有 Disclaimer:(如果你不知道什么是Monad,建议先去学习权威的教程) x 3, »

Tornado跳坑记

我司有一个内部HTTP服务,提供实时的到车时间数据。虽说是内部服务,但其实我司App的请求很大一部分都经过App后台从这里获取数据,因此QPS的要求不算低,至少对活跃用户数敏感。自从去年大概10月份我接手这个服务以后,一直进行bug修复和功能上的迭代,不温不火,风平浪静。 直到去年12月4号傍晚,该服务在某个城市的部署开始出现响应时间显著增大的故障。当时分析了一下log,发现请求数是从某个分钟开始激增,几乎在一两分钟内就增大到之前的2倍,然后俺的服务就扛不住了(哭,不好意思说只是从50涨到100左右。。),响应时间开始变成数秒到十几秒不等,反应在App上已经是啥都刷不出了。不过持续一个小时之后又几乎是瞬间恢复到正常值。当时我觉得如果是晚高峰用户激增,也不至于这么直上直下的,一定是竞品在爬我们,嗯,即使用户逐渐增加, »