机器学习手记系列 3: 线性回归和最小二乘法

好几个月没再继续, 挖坑不填是不对的, 还是继续写手记.

线性回归

线性回归一般用来学习一维自变量和一维因变量之间的线性关系. 如果存在一维自变量 x, 同时还有一维因变量 y = f(x), 如果有一堆对不同 x 下 y 的观测值, 即 的观测对, 且如果 x, y 之间存在较明显的线性关系, 可以用 f(x) = a*x + b 这样的方程表示, 则可以用线性回归的方法学习出 a 和 b 的值, 同时估计这个拟合方法的误差 r.

扩展一下, 线性回归也可以指 y = a1*x1 + a2*x2 + ... + ak*xk + b 这样多维自变量和一维因变量之间的线性关系 (多项式里自变量的最高幂次都是 1), 同样也可以用回归的方式学出来里面不同的系数和常数项的值. 只有一维自变量的称之为一元线性回归, 否则是多元线性回归.

判断线性回归好坏, 一般就用平方误差和来描述, 其表达为 (f(x1)-y1)2 + (f(x2)-y2)2 + ... + (f(xk)-yk)2), 此值如果为 0 则说明自变量和因变量存在完全的线性关系, 否则是近似线性, 越小近似的越好. 这个东西看着有没有一点面熟? 其实就是机器学习手记系列 2: 离线效果评估里最后提到的 MSE 的非平均版本.

解方程法

假如输入样本存在绝对的线性关系, 即最后的误差为 0, 则问题变为解二元一次方程 (一元线性回归里的系数加常数) 或 N+1 元一次方程 (多元线性回归里 N 个自变量的系数加常数). 这没什么好说的, 直接对原输入直接求解就行了, 类似计算方法这样的课本上有的是解法, 做梯度下降或牛顿法乃至矩阵分解都可以解.

梯度下降法

考虑到绝大部分情况下不存在绝对的线性关系, 则问题可以变成怎么求平方误差和的最小值点. 如果是一元线性回归, 目标函数变为 g(a, b) = (f(x1)-y1)2 + (f(x2)-y2)2 + ... + (f(xk)-yk)2

我们的目标就是让这个目标函数值最小, 选定一组 的初始值, 然后求其梯度方向, 每次前进一个小步长, 再求梯度前进, 直到目标函数值不再下降, 说明我们已经走到了一个极值点附近, 终止迭代. 对一元线性回归, 梯度方向是对函数求偏导得到的向量方向.

另外需要注意的是, 梯度下降不一定能找到最优解, 可能会在某个局部最优解那陷进去就出不来了.

这部分更详细的推导请见参考资料里 “机器学习中的数学(1)” 一篇, 里面的公式和图做的很赞, 思路也比我清晰.

牛顿法

梯度下降一般遇到的问题迭代步长不好选, 选太小到极值点太慢, 搞太大又会在极值点附近时因为步长太大跳过去了.

牛顿法最大的贡献就是同时给出了梯度方向和迭代步长, 几乎是一步到位的求解. 方法同解方程一样, 对新的损失目标函数求解, 只是一次解可能还不够好, 需要多做几次迭代. 一般梯度下降可能需要上千轮的迭代, 而牛顿法几次迭代就能到极值点了.

最小二乘法

伟大的高斯同学提出并证明了最小二乘法是最好解答, 证明过程略… 直接看维基或百度百科上的原文吧 (数学不好伤不起).

应用

虽然这个方法看起来很简单粗暴, 但是很多时候变化确实就是线性的. 比如在很多论文和工业实践中, 大家认为同等质量的广告或搜索结果, 放在从上到下不同的位置上, 其点击率和位置的关系符合线性关系, 即 ctr(rank) = a*rank + b.

在六月的一次随笔杂记里, 提到了这样的问题:

如下式子里不同的阿拉伯数字只是一个符号, 实际表示的可能是其他数字
967621 = 3
797321 = 1
378581 = 4
422151 = 0
535951 = 1
335771 = 0

根据上述式子, 判断下式等于?
565441 = ?

假设每个式子最后做的都是加法, 并把字符 0~9 映射到 x0~x9, 则统计不同字母出现的次数就可以列线性返程, 可以将第一个式子表示为

x0*0 + x1*1 + x2*1 + x3*0 + x4*0 + x5*0 + x6*2 + x7*1 + x8*0 + x9*1 = 3

其他类推. 对这堆式子求解就可以得到不同数字对应的真实数值, 可以得到 565441 = 1. // 具体代码和方法下次给出

参考资料

* Wiki Least squares: http://en.wikipedia.org/wiki/Least_squares
* Wiki Mean Squared Error: http://en.wikipedia.org/wiki/Mean_squared_error
* 中文维基 最小二乘法: http://zh.wikipedia.org/wiki/%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%98%E6%B3%95
* 百度百科 线性回归: http://baike.baidu.com/view/449540.htm
* 百度百科 最小二乘法: http://baike.baidu.com/view/139822.htm
* 人人上的日志 幼儿园的题目和机器学习的关系: http://blog.renren.com/share/30314/13432269197
* 机器学习中的数学(1): http://www.cnblogs.com/LeftNotEasy/archive/2010/12/05/mathmatic_in_machine_learning_1_regression_and_gradient_descent.html

// 本文开写于 9.24, 拖到 10.26 才马马虎虎完成, 最后那个题的解也没写, 各种错乱后续再修改或补充吧

Win7 图标异常解决

上周某次有程序运行到一半挂了, 强制退出终止进程后屏幕颜色异常, 继续杀 explorer 并重启后恢复正常, 但是有程序图标挂了, 类似这样:

(图片来自百度知道, 后续答案也来自百度知道: http://zhidao.baidu.com/question/197765345.html)

百思不得其解, 最后在上面那个知道问答的非最佳答案里找到解决方法:

0. 先关掉其他的东西避免误伤
1. 打开一个命令行窗口
2. 在任务管理器里杀掉 explorer 进程
3. 在命令行里干掉 iconcache.db
* 注: cd 的 /d 参数可以改变驱动器, del 的 /a 参数可删除隐藏文件
cd /d %userprofile%AppDataLocal
del IconCache.db /a
exit

4. 重启 explorer 进程, 恢复正常

校招趣事

最近筛简历过校招候选人, 被北邮和中科院的人潮汹涌吓到了, 有些有意思或很苦逼的事, 说说

1. 收到的简历里北邮的数量似乎是最多的, 按北邮出来的人的说法, 北邮在找工季信息共享的很好 (byr 果然不是盖的), 然后很多人不管职位需求, 只要看有一点相关的就会去投. 这种筛的人很痛苦啊… 特别是有很多不了解的项目和实习, 一开始觉得好像很牛逼的样子, 后来看多了就发现怎么看都是个野鸡事

2. 去年参加校招面试的某狐狸, 说出去面试老能遇到北邮的人, 后来很 ws 的做了个实验, 出去面试碰到不认识的人就问 “你北邮的吧?”, 大部分情况下都命中, 屡试不爽 // 我能吐槽下恶趣味么…

3. 收到一份 00 级本科的简历, 本科武大物理, 然后在中科院念了五年的物理, 不过这个经历貌似没下文, 因为简历上最后的学习经历是计算机方向的硕士, 跟大家说了下, 都觉得应该是学物理太苦逼而且很难毕业没办法只能转方向了, 唉, 真心苦逼

4. 简历做的好不好在校招海投季节显得尤其重要. 有人的简历做的就让人看不下去, 两个人一天筛一千份简历的情况下, 八成会被直接无视; 有人简历一开始是大片大片的不知所云, 有亮点都放后面, 不知道怎么想的, 你们试试看在 Win7 的资源管理器里打开预览窗格, 然后看自己简历, 能不翻页情况下能看到多少内容? 我在筛实习生筛过后的简历时就这么筛的

5. 除了智商是硬伤, 感觉沟通更是硬伤. 有几个北大的妹子面的各种心情愉悦, 说什么都能很快跟上思路, 理解题目意思和跟上提醒都非常上道, 相比而言可能因为北邮人实在太多, 总能遇上那么一两个极品, 面试时各种沟通找虐, 你不明白他说什么, 他也不明白你说什么, 或者压根就不屑跟你说或想去理解你, 你都不屑了你还来个球啊 (摔), 刷小怪也认真点好么

无聊理工男在面对浪漫时干的二逼事

今天在 http://zhoucaiqi.com/emlog/guoke-website.html 上看到对一个网站的介绍:

这网站的域名相当伤感,内容也很伤感。
整个网站只有一张静态网页。这网页只有一张孤单的图片,以及冷寂的一两句话。

里面说的是这个 http://www.guoke.com/ 网站, 点过去看了下, 确实很孤单落寞的感觉.

前面是浪漫, 下面是无聊理工干的二逼事.

先是 NetMD 同学说多好的域名, 果壳没买下来, 然后死猫同学矫情了下后说这些历史图是怎么截到的, 接着我无聊去看了下 whois 的记录, 找到如下信息:

Domain name: guoke.com

Administrative Contact:
Hu Yanlin
Hu Yanlin (admin@doeasy.com)
+86.1068469837
Fax: +86.1068467228
2-1-2105, No.27 Zengguang Road
Haidian Dist.
Beijing, CN 100048
CN

继续看 doeasy.com 这是个什么网, 发现是域名贩子, 立马觉得 guoke.com 是不是也是域名贩子弄的, 然后一开始那个文章只是在给这个域名做推广. 不过要真是域名贩子, 能做到这样也挺不错了, 又仔细看了下一开始那个帖, 发现是在 Twitter 上 fo 的一个深圳的 IT 工作者的个人博客, 应该是真的默默关注了这么久, 还是一个温暖的故事吧.

事情还没完, 关于 guoke.com 拥有者的地址, 好奇看了下是海淀区, 那个 Zengguang Road 是个什么地方呢? 用拼音打了下居然第一反应是 增广路, 这… 我好像图论学的也没有那么好吧, 再找了下是 增光路, 死猫君表示难怪这么熟, 原来就在他现在住的地方旁边.

无聊理工 + 2B 完毕, 随手一记.

2012全球架构师峰会参会简记

8.10 ~ 8.12 在深圳参加全球架构师峰会 (http://www.archsummit.com/), 回来也十来天了, 先把回来后记在 evernote 里的简记发下, 详细的后面跟着幻灯片展开下


公司定的机票时间都太晚了, 走的时候上飞机没晚点, 起飞晚了一个多小时, 到深圳都晚上十一点, 到酒店也半夜一点
住的略偏, 在小梅沙, 这酒店算一般水平吧, 可以理解成规模大点的农家乐
吃的凑合, 会务的自助餐还是挺不错的, 就是人太多, 要么早点要么晚点, 不然排队排死人. 茶点我就第一天提前去偷吃了点, 剩下的都懒得排队了
会场是万科的总部, 很多地方设计的很精妙, 但是大梅沙离市区还是太远太远了


组织的还是挺不错的, 就是有时候几个分会场都想去, 无法分身
同声传译很赞, 也没有很外行翻出莫名其妙的句子来, 前面坚持听了几场英文的, 最后一场借了个传译器果然还是听中文要顺畅很多
腾讯是主赞助商, 发的东西很多, 公仔和衣服没抽到和领到, 其他的资料倒是都拿点, 腾讯在这方面的宣传做的挺好, 给的东西也比较下血本
其他有很多硬件 (比如 SanDisk 的企业用 SSD) 或平台型 (比如云存储) 的赞助商, 我不懂, 就随便看了看展台. 倒是有很多开发平台的赞助商, 比如天翼, 还有海豚浏览器也是赞助商, 我还没怎么弄明白开发平台这个生态圈怎么玩, 果然落伍了


大会场的几个 topic, Pinterest 那个没赶上, 老外吐槽中国网络状况倒是吐的挺狠也挺实在的, 包括多网不通, 还有 GFW, 只是八线机房是个什么情况, 电信/联通/移动/教育网/还有四个有啥?
搜索那个 session 讲的都比较虚, 扯了些概念, 搜狗的提出抓别人的搜索结果 (参考资料: 孟学一有关暗网数据挖掘的书), 一淘讲了些干货, 不过总感觉也没啥特别的, 是因为别的人都没做过或看过这么大的搜索引擎, 所以觉得有很爽的干货么?
大数据那个 session 干货比较多, EMC 上来介绍了一些基于 Hadoop 或 Map/Reduce 的框架, 都很赞, Yahoo 的 Nova 自动化调度数据和任务也做的很好, LinkedIn 对数据的处理方式也非常值得参考, Pinterest 最后讲那个数据库分片, 真的是把简单做到极致, 能不复杂绝不复杂, 能用钱搞定的事情没必要省那几台服务器钱结果把系统搞的巨麻烦


Day1
All: http://vdisk.weibo.com/s/ajLUe

Day2
上午: http://vdisk.weibo.com/s/au-u-
下午主会场 (海量数据): http://vdisk.weibo.com/s/av8ue
下午分会场 1 (移动互联网): http://vdisk.weibo.com/s/aveIJ
下午分会场 2 (安全): http://vdisk.weibo.com/s/av5bn

Day3
All: http://vdisk.weibo.com/s/aAaQ3/1345032030

自吐 & 自勉

今天百度最高奖, 看了下, 最终入围的五个团队有三个自己呆过, 拿奖的仨也呆过俩, 好多认识的人, cong~ (附: 拿奖的新浪微博消息) 他们都做的很赞, 自己曾经在这么好的团队, 耐不住性子, 做不出东西, 因种种原因离开, 开花结果自然无份

现在么, 好好做事, 手头事情也很有搞头, 那就好好搞吧, 皇天不负有心人 :P

自吐部分开始, 曾经有一个帖再引用了以前的一个段子 (原文见: 被诅咒的 Snoopy)

Me 13:23:45
我从 b 家离职后不久, b 家的碳酸饮料就免费了
我从 g 家离职后不久, 餐补就直接发钱了, 等我开学, 上海也是自助餐了
小强 13:25:56
你快点离开武大
Me 13:26:16
why?
Me 13:26:23
这样师弟师妹的伙食就有希望了?
小强 13:26:57

小强 13:27:18
你离开acm acm就拿到金牌了
Me 13:28:20

我一定要把这个段子续下去:

* 2007 年夏离开武大 ACM 队, 该年秋天武大第一次拿区域赛金牌, 第一次进入世界总决赛
* 2008 年初进微软俱乐部, 该年夏令营活动被取消
* 2009 年初离开微软俱乐部, 该年夏令营活动恢复, 并增加 UCLA 夏令营
* 2009 年秋天回归百度, 过了一个月从普天搬西二旗, 自助碳酸饮料机被取消了
* 2011 年秋天离开百度, 半年后自己做废了的俩项目重新上线
* 2011 年秋天离开百度, 次年原团队拿百度最高奖

Chrome 多用户分别建快捷方式

Chrome 从今年年初开始在 Dev 版支持多帐号, 当时用的很爽. 最近 Dev 版解析 .js 老出错, 导致无法正常上人人和看视频, 严重影响工作和娱乐, 响应大家号召改回 stable, 结果发现多帐号是支持的, 但是怎么也找不到如何建特定帐号的快捷方式, 网络上搜的方法都只对老版本的 dev 分支有效.

今天找了另一台机器, 上面有多用户且分开建了快捷方式的 Chrome Dev, 看了下快捷方式, 把快捷方式的目标改为下面这样就行了 (红色是要添加的)

C:\Users\snoopy\AppData\Local\Google\Chrome\Application\chrome.exe –profile-directory=”Default”
C:\Users\snoopy\AppData\Local\Google\Chrome\Application\chrome.exe –profile-directory=”Profile 1″

读完了数学之美

正如上一篇日志中提到的, 最近买了吴军博士数学之美并利用晚上的时间在看. 粗粗的过了一遍, 把以前很多没明白的东西给理顺了下, 具体的一些数学推导没来得及去验证. 书的后半部分感觉比较凌乱和随意, 不过还是值得购买去支持的, 如果大家都不买书, 那以后也会越来越难读到经典之作.

读的过程中用手机简单记了些简单的笔记, 现在回头想想, 再过一下:

方法论

1. 做事要简洁高效: 简单粗暴的方法, 只要是对的那就应该这么做, 与其花非常大的代价弄一个貌似完美的系统, 最后还不一定能保证结果, 还不如花很短的时间去做一个能达到 90% 性能的可用系统, 并用若干个 90% 性能的系统组合起来达到完美效果. 这一点也是我非常认可和坚持的, 在团队里也需要贯彻下去.

2. 凡事都需要可解释: 做策略做算法, 一定要对每个 case 给出合理的解释, 这样才能知道怎么去改进. 吴军在书里举的例子是说搜索, 一开始要用简单高效的系统和特征来保证鲁棒性和可调试性, 其实在计算广告和推荐系统里也是一样, 只是我们现在总会一上来就弄很多复杂的上去, 导致很难调试和追查, 最后就一把烂账怎么也算不清. 这点上自己一直做的不好, 要好好注意.

3. 真理应该拥有简单漂亮的描述: 自然真理的本质描述往往是很简单的很漂亮的, 如果搞的太复杂, 就不太对头, 多半是方向都错了. 书里的例子是说描述太阳系的行星运动, 地心说的模型需要用 40 层圆周修正, 日心说则可以降低到 8-10 个圆周修正, 但最后的真理却是一个椭圆方程就完美解释.

具体案例

1. 新闻/文本分类中的加权. 在做余弦相似度计算时, 需要考虑位置加权, 词性加权等影响. 对于位置加权, 一般的思路都是对树形结构做加权, 比如普通文章的标题/摘要等, 网页则一般是 HTML 语法树的加权, 实际上 Google 在很早之前就开始模拟网页渲染, 做物理位置的加权, 而这一套网页渲染的技术, 用来开发 Chrome 不是正好? 而且随着 Chrome 的市场占有率上升, 也可以逼迫高质量网站的网页代码会更标准, 至少是可以兼容 Chrome 的标准, 这样 Google 可以获得更准确的页面渲染效果并用于权重计算, 现在很多别的公司也开始关注浏览器, 但是不知道有没有想到这一层用法. 词性加权这又回到 NLP 的基础建设上, 果然做互联网, 要做精做深, NLP 是个绕不开的大坑, 就算数学模型如此优雅和有用, 但还是需要有基础数据才能去计算.

2. Logistic Regression 在工业界的广泛应用. 自己好像在生产环境中就用过这一种模型, 接触过线性回归和 Naive Bayes, 但是都没能去深入理解, 其他 boosting 和 SVM 等方法, 每次都是听了个大概, 一直没空去试. 根据自己的经验, 以及吴军的说法, LR 最大的优点是线性叠加, 皮实耐操以及水平扩展性好, 这几个都挺符合方法论的. 不过在点击率非常低的环境下, 要用好 LR 确实很难, 吴军说的是特征权重在 [-6, +6] 区间才有意义, 按 Sigmod 变换函数 1/(1+exp(-z)) 计算, -6 对应的也不过是 0.247%, 这个点击率在搜索广告以外的很多地方还是挺难达到的, 加上位置, beta0 等修正后可以让值很接近, 但是精度又受很大影响, 之前想过把某个小区间做放大处理, 但是一直没想清楚到底要怎么扩, 怎么能维持相对关系并可以还原, 求指点.

随笔杂记

有一些比较糙的想法, 没有成型, 随便记录下

大公司病和用户基因

主要内容来自新浪微博 @纯银V 的博文 腾讯抄你怎么办. 里面有挺多非常值得参考的观点, 吐槽大公司的各种弊端让人看的非常爽, 强烈推荐.

其中有一段在说 “用户基因”, 大意是在网易里想做一个摄影社区, 为了利用好网易庞大的已有用户量, 任意往里倒资源, 就会让用户群鱼龙混杂, 最后完全做不下去, 还不如一直走兴趣相投的精英版路线. 这样的例子比比皆是, 比如百度知道和知乎, 就是完全不一样的定位和用户群, 哪怕一开始都想定位于精品问答, 而知道绝对还是会发展成大众化问答且质量参次不齐. 其实这应该也是百度一直比较难做出什么精品产品而非大众产品的原因, 偏偏百度做大众产品成功运气的成分更大点 (比如知道和贴吧), 很多时候是想做精品产品而因为用户基因的关系而悲剧掉 (比如百科绝对没法像维基那样精品化, 只能是不那么严谨的大众科普加一些好玩搞笑). 从这个结论出发, 如果是在有很多用户基础的公司内做新产品, 路就两条, 一是做小众精品, 尽量不要用公司资源, 免得导入大量低质用户, 二是老老实实做平民产品, 利用已有用户资源且应对各种坑爹的奇葩. 是不是突然觉得有哪里不对? 如果走第一条路, 那为什么还在个大公司里做呢? 还不如直接出去创业, 反正做事都一样, 还免得大公司各种条条框框限制, 比如风车. 除非这个公司的已有用户也都是高质量用户, 如豆瓣的很多新产品.

回归模型和在线学习

一开始还是一个微博上的问题, 说幼儿园的题目大人不会解, 找了个样例是

967621 = 3
797321 = 1
378581 = 4
422151 = 0
535951 = 1
335771 = 0
565441 = ?

一般都是列方程求解, 但其实这也是个挺好的回归模型应用例子, 打算下次写机器学习手记的时候就写这个. 我人人上的好友写了一篇 幼儿园的题目和机器学习的关系, 我分享的链接后还跟别人讨论了下在线算法和离线算法的差异. 其中提到一些很有意思的观点, 就是 online 的更新算法会因为只在继续拟合新样本而不管原来样本的拟合, 会导致结果的抖动很大, 这是其在跟 batch 方法比较时的缺陷, 但换个角度看, 正因为 online 的方法没有受到历史数据的约束, 反倒可以更快的响应新数据的变化. 最后那个响应的问题, 也许可以在现在的工作中用起来, 最近就一直被新数据响应和数据短期内剧烈变化所困扰.

数学之美

吴军博士浪潮之巅后的又一部经典之作, 把以前谷歌黑板报上的系列文章重新整理加补完, 前几天在京东上买了这本, 正在看, 强烈推荐.

希望读完后能有一些笔记性的东西出来, 这里先记一下. 第三章 2.2 节讲到对低频样本出现的潜在观测误差的处理, 用平滑或做折算的方式降低抖动可能, 这个想法也非常赞, 在最近的工作中应该也可以用起来, 实际上之前做过的某事情已经就在用类似的方法, 只不过思想和折算方法不太一样罢了.

电脑修的好

昨天去给灰太狼同学修了一把 ThinkPad T500, 各种诡异, 记录娱乐下.

灰狼早几天在群里说自己笔记本开不了机, 直接通不了电, 之前还开过一次机报 BIOS 时间错误, 于是帮查了下看有说静电因素的, 有说 BIOS 电池没电的, 看他按各种土法比如按住电源键十秒钟来放电什么的搞了几天都没弄好, 昨天带上两把螺丝刀过去蹭饭兼修电脑.

先听灰狼吐槽了把说这机器才过保修期就坑爹了, 果然欧美产品都这德行么, 问说是 09 年 4 月那批大陆学生机的 T500, 印象中 09 年的两批学生机都很赞, 如果自己留意下还可以注册 3+3 的意外保, 不过到现在怎么算也都过期了, 还是拆机搞吧. 先去看了下官方的维护手册, 感觉跟 T60 是完全一样的拆法, 直接上螺丝刀搞开看 BIOS 电池.

插一句, ThinkPad 有个好处是官方的维修手册非常详细而且可以很容易弄到, 在 Google 上直接搜 “hardware maintenance manual t500” 就有, 每个模块怎么拆, 螺丝型号都标的一清二楚. 其他型号也可以类似的搜到, 换下型号名就可以了.

把 BIOS 电池拔掉后直接插外接电源, 机器自动开机, 提示 BIOS 时间不对, 重设后自动重启, 一切正常. 心说这也没多大个事嘛, 就是缺把螺丝刀, 哼哧呼哧把键盘和掌托装回去, 插电池插电源, 开机, 开机, 好像开不了机… 还是一样的问题. 这时候正好饭点, 一群吃货表示应该先吃饭, 于是把本子搁一边先胡吃海喝了一通.

吃完继续折腾, 拔 BIOS 电池, 把整个 BIOS 都重设了一把, 插电能点亮进系统, 但是只能是在 BIOS 电池不在的情况下直接插外接电源才能开机, 键盘其他键工作正常, 但是开机键无法启动. 这时候抱个 iPad 搜了半天, 问题一般都还赖在 BIOS 电池上, 仔细瞅了下不就是块 CR2032 么, 以前文曲星都用这个, 随便个表店或小超市都有, 出门买一块回来换上就行了.

和灰狼出门去他家旁边的家乐福买电池和电工胶带, 悲剧开始. 先是绕了一圈到家乐福里, 在卖电池那看了半天也没看到有 CR2032, 于是问旁边的工作人员, 人直接说没有, 对面哪家有, 汗, 有这么做生意的么… 再次 BS 家乐福坑爹的路线设计, 绕到三楼出来下去, 走到二楼的时候我说看看这有没卖表或修表的, 多半有, 果然走到一楼看到一个修表铺, 一问真有, 掏钱买之. 想了下既然还没出家乐福这个楼, 直接回去再买电工胶带就可以回去了, 回到卖电工设备那, 找半天继续没找到电工胶带, 问工作人员, 说他们没有, 楼下百安居有, 这… 你们家到底在卖什么啊, 还是说这种垂直领域都放弃了? 绕一大圈到一楼百安居, 按工作人员提示到地下一层找到电工胶带, 回到一楼准备出去, 发现进来那个大门方面赫然写着 “收银台在地下一层”, 这你妹的, 出门不看黄历, 一定是不宜出行. 下楼, 付钱, 再上楼原地出去, 好像也没人查, 要当时直接出来了估计也没人管?

回去把原装电池的胶皮弄掉, 两根引线两头的接触片居然分别用两个焊点焊在了电池上, 我了个大擦, 找出把水果刀俩人一起搞了半天才搞掉. 把引线缠新电池上, 胶带封好让正负极分离, 跟外面也绝缘, 插回去, 这活做的还是挺不赖的, 但是… 他瞄的症状还是一样的, 这情何以堪啊.

仔细想了很久, 说会不会是这个电源键坏了… 虽然键盘上其他键都是好的, 但是好像这个电源键真的不太对路. 用不插 BIOS 电池直接插外接电源的方式开机, 点亮后把 BIOS 电池插回去, 进系统后按电源键, 依然没有反应. 看了下 TP 键盘的排线接口, 好像跟以前我的 T60 是一样一样的, 跟灰狼出馊主意说要不背上本去我那, 我把我的 X200 键盘拆了接你机器上看能不能用. 反正也没啥别的好想法, 灰狼就背着他死沉的加了九芯电池的 T500 一起回我这, 顺带在我家吃火锅.

继续搜 HMM X200 搜到怎么拆解 X200, 用 iPad 打开放旁边, 忍不住插嘴赞一句 retina 屏的 new iPad 显示细腻度拿来放这种带图说明手册太爽了, 当时拼 LEGO 的时候这么拿着比看说明书估计还爽, 就是缩放比例要维持对 (LEGO 的说明书上经常有 1:1 的零件图示供你比划, 让注意别找错东西了). X200 的拆机顺序跟之前拆过的 T60/T61/T500 都不一样, 是直接先下键盘再下掌托, 而且键盘螺丝有四枚, 分布的还非常诡异, 不过图还是给的很清楚的, 螺丝刀下去键盘起来, 干净利落. 把 X200 键盘接 T500 上的时候发现, 虽然排线接口是一样的, 但是排线走的方向不一样, 而 T500 的那个口刚好很接近防滚架, 纠结了半天才让排线扭到防滚架和主板中间的缝隙并让插头插到位. 第一次方向弄反了, 还是点不亮, 换个方向成功点亮, 进系统后也能正常起作用. 同情的看着灰狼说这种人品事件真的没办法, 换个键盘吧, 估计就两百大洋, 灰狼同学执行力果然一流, 当场就在旁边抱着自己的 iPad 上淘宝买了个, 不过两个人还是纳闷了半天这个电源键怎么可能坏…

把两台本装回去的时候顺带给 X200 清了下灰, 风扇里好多絮状灰尘, 没有皮吹没有能吹冷风的电吹风, 其实就是用嘴狠狠吹了几把, 不过好像散热是好了那么点, 至少风扇嚎起来的时候声音没那么大了.

最后自吐一把, IT support 你好, IT support 再见.