如何识别知乎上的美女爆照贴

博客荒废了许久,今天发一个福利科普贴,开坑准备写一系列的分类器算法,以下正文。

一个简单的想法

很容易也很自然的会想到两个粗暴的解决方案:

1. 从用户头像筛,拿opencv做个筛子看看是不是美女头像

2. 从用户的发帖来筛,判断爆照贴里面的照片是不是美女

事实上可以看出来这两种方案都挺低效且吃力不讨好的,明显的缺点如下:

1. 往往只能判断是不是一张好脸,而判断是不是好腰好屁股好胸好腿好身材是很难的

2. 做图像分类/识别,在算法效率和准确率上仍然有瓶颈

3. 事实上使用美女/女明星照片做头像的人还是不少的

当然,用图像识别这种解决方法是很有用的,但不是这么用,至于怎么使用,以后讲。

做一点微小的改进

改进的方案是用发帖的评论内容收藏夹名字做筛子,这么做的优点有:

1. 评论和收藏夹名字是人类看到帖子之后的反应输出,已经经过了一轮人工筛选

2. 不仅仅是好脸蛋,好腰好屁股好胸好腿什么的,都会得到反应

3. 可以更加细化的做分类,好腰,好腿都可以独立做筛子给分出来

4. 对某类文本分类相对来说计算量低了不少,准确率也得到了极大的提高

5. 使用找美女/女明星做头像的情况,除非是用户自己想欺骗社区,一般不会继续发对应头像的爆照贴

6. 不仅仅能应用于找美女这个case,还能用于找到各类其他的目标帖/目标用户,比如我还搞了高富帅土豪识别寻找牛人的筛子moha内容识别政治左右筛子,对于其他类似的需求也都可以做,只需要看你脑洞多大咯

那么让我们先来看看一个美女爆照帖子下面正常的评论是怎么样的:

“美翻了” “我只想说,真漂亮” “没有一年前那个好看啊” “这才是真漂亮” “我就看看不说话”

“111 我觉得这个妹子面相很好” “好美~” “真的美” “应该是晈筷子练了苹果肌”

“素顔好看,哈哈” “江苏两京?” “第二张像刘涛” “无论长发短发都漂亮” “很美很漂亮”

压根不需要看原帖内容,只需要扫一下这个评论列表,就知道po主肯定是个美女,且这个帖子是一个爆照贴。

对于人类肉眼来说,这个判断过程几乎不需要任何时间开销,只需要扫一眼即可,那么我们怎么写一个程序来做这个判断呢?

注:关于如何实现这个筛选的判断程序,有许多种不同的方法,每种方法都有它自己最适合的场景,没有什么高下之分。

问题描述

已知:4000个普通的帖子与4000个美女爆照的帖子共计8000条,已做好标记。

每个帖子数据格式如下:

{

    "answer_url" : “帖子的链接” ,

    "comment" : “帖子的内容” ,

    "comment" : “评论内容” ,

    "topics" : “帖子所属问题的标签” ,

    "favlist" : “所有收藏了该帖子的收藏夹” ,

    "isbeauty" : “为1则是美女爆照贴,为0则不是”

}

:实现一个分类器,判断一个不在数据集中帖子是不是美女爆照贴。

此处帖子数据格式除了isbeauty域为空以外,其他内容同上

解法1: Naive Bayes

我们会注意到,美女爆照贴的评论下面,有一些词出现的频率特别高,比如“漂亮”这样的词。

而普通的帖子中这样的词出现的概率相对较低,我们似乎可以利用这个特征来判断一个帖子是不是属于美女爆照贴。

所以我们此处要考量的是:当“漂亮”这个词出现在评论中时,帖子是爆照贴的概率是多高。

即为:P(“是美女爆照贴”|“评论中有‘漂亮’”)

根据贝叶斯定理我们有:

P(B)P(A|B) = P(A)P(B|A), 在这个式子中,知道其中3个值可以求得剩下的那个

在本问题中有:

P(“是美女爆照贴”|“评论中有‘漂亮’”) = P(“评论中有‘漂亮’”|“是美女爆照贴”)*P(“是美女爆照贴”)/P(“评论中有‘漂亮’”)

P(“评论中有‘漂亮’”|“是美女爆照贴”),这个数值我们可以通过统计4000个爆照贴的评论得到

P(“是美女爆照贴”),这个数值目前我们并不知道,但是可以先使用50%这个数值来代替,未来数据越来越多之后会得到越来越准确的比例值

P(“评论中有‘漂亮’”),统计一遍所有已知帖子的评论即可知道

于是经过已知数据集的内容我们可以计算出P(“是美女爆照贴”|“评论中有‘漂亮’”)的是多少,同样的,我们可以得到对于每一个词计算这个值。

当然,光看一个词是不够的;如果一个帖子是个风光摄影帖,下面的回复也会经常出现“漂亮”,所以我们需要多看一些词,计算联合概率

拿到一个帖子的时候,先对每个词计算P(“是美女爆照”|“出现词W”),然后取估值最高的10个词计算联合概率,当然这里你也可以取更多或者更少。

这里我们假设出现词W1出现词W2这两个事件是相互独立的(事实上这个假设并不满足,但是在naive bayes中我们做了这么一个假设,工程实践上并不会对结果影响很大)。

设B为事件“是美女爆照”,W1为“出现词W1”,Wi为“出现词Wi”,则我们的问题变为求解P(B|W1W2W3…W10):

P(B|W1W2W3…W10) = P(W1W2W3…W10|B)P(B)/P(W1W2W3…W10)

= P(W1|B)P(W2|B)P(W3|B)…P(W10|B)P(B)/(P(W1|B)P(W2|B)P(W3|B)…P(W10|B)P(B) + (1-P(W1|B))(1-P(W2|B))(1-P(W3|B))…(1-P(W10|B))(1-P(B)))

上式中所有的数值我们都已知,计算出来的联合概率在足够大的时候,我们可以认为这个贴应该是爆照贴。

在工程实践的时候,直接这么算往往效果不是很好,因为往往会有一些出现频率特别低的词混淆了结果,改进的方法可以是:

1. 我们可以将出现概率在某个概率值以下的词全部忽略

2. 我们可以对所有词的出现概率做修正,比如全部同时加上某个常数

以上两种均可解决问题,我用了第二种。

好了,理论讲完了,我用这个方法根据评论的内容做了一个筛子,准确率在80%左右;而如果使用问题标签,准确率能提高到90%;使用收藏夹名字的准确率则能提高到95%(这里我很粗暴的用了precision,没有做更多evaluate)

来一些有意思的数据,对所有的词计算P(B|W)的结果进行排序,我们可以得到美女爆照贴的top10关键词:

评论中:胸 第二张 美美 轮带逛 好美 第一张 第三张 爆照 身材 很漂亮

收藏夹名字中:爆照  美女 看样子 福利 照片 骗图 赏心悦目 知女乎 妹纸 妹子

标签中:钓鱼 胸部 颜值 是种怎样的体验 外貌 身材 自拍 发型 照片 单身

附上随机挖掘出来的一些美女爆照贴列表吧:

长得好看,但没有男朋友是什么体验? – Susan美美的回答
你认为自己最好的照片是哪张? – 匿名用户的回答
胸部比较丰满的女孩穿什么衣服好? – 晓忆xiaoyiyi 的回答
你的身材不配你的脸是一种怎样的体验? – 思无邪的回答
长得好看是一种怎样的体验? – Biubiubiu 的回答
如何拍出一张性感诱人但不低俗的红唇照片? – 杨面的回答
化妆后颜值和素颜差距很大是种怎样的体验? – 夏颜的回答
你认为自己最好的照片是哪张? – 若若若的回答
如何拍出一张性感诱人但不低俗的红唇照片? – 韦思嘉的回答
你为 Cosplay 牺牲最大的一次是怎样的? – 你扛把子的回答
有很漂亮的亲姐妹是一种什么样的体验? – 馨苒的回答
大胸妹子如何挑选合身又好看的比基尼? – 匿名用户的回答
「当时随便说说的话,结果意外实现了」是一种怎样的体验? – 暴躁的胖灰灰的回答
生活中怎样的美女才能被称为「大」美女? – 静香的回答
开豪车是一种怎样的体验? – Susan美美的回答
女生长途旅行如何精简行李还能打扮的美美的? – 水氷曱的回答
女生怎么健身锻造好身材? – 北京小风子的回答
女生拥有一头短发是一种什么体验? – 元又元的回答
健身能改变人的什么? – 知乎用户的回答
因为胸大而自卑,怎么办? – 慕梁的回答
在日本什么样的女生算是美女? – 娜娜的回答
你在现实生活中见过最美的博士是什么样子的? – 知乎用户的回答
有一个很漂亮的女朋友是什么体验? – 相辉的回答
如何穿衣能有干净利落的气质? – 杨壮壮的回答
这两个妆容的重点在哪里? – Rio王瑜的回答
女生应该怎么穿衣服既低调又不俗气? – 简猫的回答
当一个颜值很高的程序员是怎样一番体验? – 王子君的回答
你认为自己最好的照片是哪张? – 匿名用户的回答
外国人觉得汉服好看吗?汉服、和服、韩服哪一种更好看呢? – Martina 的回答
女生拥有一头短发是一种什么体验? – Mingo鸣哥的回答
怎么拍妹子会显得腿长? – Knight 的回答
女孩由丑变美是什么样的感觉? – 猫仙Yogurt 的回答
长得好看,但没有男朋友是什么体验? – 一只麤人的回答
你认为自己最好的照片是哪张? – 静香的回答
如何成为一个美丽优雅的孕妇? – 之之哟的回答
长得好看是一种怎样的体验? – 知乎用户的回答
女生的膝上袜该怎么选怎么穿有何讲究? – 知乎用户的回答
胸大的妹子怎么穿衣服才能不显胖? – 王翊的回答
有很漂亮的亲姐妹是一种什么样的体验? – 长岛冰茶的回答
眼睛好看是一种什么样的体验? – 叶南秋的回答
你认为自己最好的照片是哪张? – 知乎用户的回答
如果妈妈比女儿漂亮,那么两个人分别会有怎样的心理体验? – 叶芊芊的回答
你认为自己最好的照片是哪张? – 澜心的回答
和「女神」约会是一种什么样的体验? – sunchase 的回答
女生拥有一头短发是一种什么体验? – sesame 的回答
大胸穿水手服什么感受? – 蒋连理的回答
长得好看,但没有男朋友是什么体验? – 知乎用户的回答
做一个腰臀比在 0.7 左右的妹纸是一种怎样的体验? – 萌二的回答
你都独自去过哪些地方? – 肉兰的回答
有什么适合大胸妹子的服装品牌? – 栗木君的回答
屁股大是怎样一种体验? – 赵牙牙牙的回答
你认为自己最好的照片是哪张? – sesame 的回答
有着美丽的双马尾是怎样的体验? – 猫仙Yogurt 的回答
长得好看,但没有男朋友是什么体验? – 金司令的回答
你认为自己最好的照片是哪张? – Candy鱼的回答
女生怎么拍照显得胸大? – 囧妮酱的回答
你在现实生活中见过最美的博士是什么样子的? – 北极熊和知更的回答
有一个漂亮的室友是一种什么样的体验? – 管大大的回答
作为一个多才多艺的知乎女性是一种怎样的体验? – 赤兔女的回答
一个人旅行应该怎样自拍? – orange paranoid 的回答
有一个很漂亮的女朋友是什么体验? – 子雄的回答
胸大的妹纸平时怎么尽可能的掩盖胸大? – 陈叮咚的回答
如何优雅而不觉得露地穿低胸小短裙? – 匿名用户的回答
笑起来很好看是种怎样的体验? – 李遥岑的回答
如何拍证件照比较好看? – 周古月的回答
知乎里面有没有爱穿旗袍的妹子? – 吴宇菲的回答
胸部大要怎么穿才显瘦? – 张芝萍的回答
你认为自己最好的照片是哪张? – Rocio陈的回答
有一个漂亮的室友是一种什么样的体验? – 小唐同学的回答
你认为自己最好的照片是哪张? – 观重的回答
割双眼皮有什么危险吗? – 宋林珅的回答
长得好看,但没有男朋友是什么体验? – 缪良人的回答
长得好看,但没有男朋友是什么体验? – 匿名用户的回答
在日本什么样的女生算是美女? – 沉歌的回答
你认为自己最好的照片是哪张? – 暖山的回答
有哪些好看的侧脸? – Rio王瑜的回答
你认为自己最好的照片是哪张? – 紫妍的回答
胸大的女性如何穿出英伦风、学院风和小清新的感觉? – 叶小如的回答
如何才能拍出一张特别好看的自拍照? – 白源源的回答
什么样的水手服最好看? – 浅野早苗的回答
女孩由丑变美是什么样的感觉? – 法号平瘦的回答
女孩子要怎么变的更有魅力? – 知乎用户的回答
有着美丽的双马尾是怎样的体验? – 向怡的回答
你眼中的新疆、你身边的新疆朋友都怎么样呢? – 知乎用户的回答
身高给你带来了什么? – 杨西瓜的回答
什么样的眼睛算是勾人的,什么样的眼睛算是有魅力? – 匿名用户的回答
有马甲线是种什么样的体验? – 羽小团的回答
童颜巨乳细腰个子矮小适合什么风格的打扮? – 钟文的回答
怎样成为模特? – Mingo鸣哥的回答
女友是小萝莉是怎样一种体验? – 小雯的回答
大多数女生化妆都能变漂亮吗? – FieryTiger 的回答
长得好看,但没有男朋友是什么体验? – 小碘的回答
笑得好看是一番怎样的体验? – 粥浚杭的回答
做一个腰臀比在 0.7 左右的妹纸是一种怎样的体验? – 程御寒的回答
大学生日常裸妆/淡妆怎样做? – Rio王瑜的回答
“颜值中上”的人到底长什么样? – 一团饭饭的回答
长得好看是一种怎样的体验? – 柳橙橙的回答
如何才能拍出一张特别好看的自拍照? – 玛嘉烈玛嘉烈的回答
生活中你见过的最美女性长什么样? – Hayami 的回答
人能控制自己的长相吗? – 米茶茶茶茶茶的回答
有很漂亮的亲姐妹是一种什么样的体验? – 左煜的回答
胸大是什么体验? – 匿名用户的回答
眼睛好看是一种什么样的体验? – 白源源的回答
如何才能拍出一张特别好看的自拍照? – 薇蕊的回答
长得好看是一种怎样的体验? – 海伦娜儿的回答
平胸到底有多平? – 苏敏的回答
胸大是一种怎么样的感觉? – 我用真名被嘲笑了的回答
有着美丽的双马尾是怎样的体验? – 包子琛的回答
长得好看,但没有男朋友是什么体验? – 耶加雪啡的回答
拍照时脸背光怎么办?如何拍摄美丽的逆光人像照? – 韦苡珊的回答
短发女怎么打扮比较有女人味? – leticia晓的回答
你认为自己最好的照片是哪张? – 子升ZoE 的回答
短发女怎么打扮比较有女人味? – 知乎用户的回答
长得好看是一种怎样的体验? – 時雨的回答
拍照的时候怎么让表情自然? – 简猫的回答
证件照好看是怎样的体验? – 陈盐析的回答
长得好看是一种怎样的体验? – 缪祁的回答
你见过的最漂亮的紧身牛仔裤大长腿是什么样的? – 吴霜的回答
女生拥有一头短发是一种什么体验? – leticia晓的回答
女生拥有一头短发是一种什么体验? – 徐一叉的回答
减肥对外貌的改变有多大? – Cutiepie 的回答
女生怎么穿会比较帅气? – 李萬一的回答
身为 JK (将制服作为日常穿着)受到过哪些外界的评价?又是怎么调整心态的呢? – 魏筱然的回答
有哪些史诗般的徒步旅行路线? – 李遥岑的回答
胸大是怎样一种体验? – 吴宇菲的回答
德州扑克女牌手中,知名的美女有哪些? – 落落的回答
大多数女生化妆都能变漂亮吗? – 崇鹿的回答
顶尖的淘宝模特是怎样的存在? – 鱼饼的回答
女生拥有一头短发是一种什么体验? – 我是木木酱的回答
你认为自己最好的照片是哪张? – 知乎用户的回答

Difference Engine – 差分机

硅谷有一个计算机历史博物馆,很喜欢那里。
那有一个被实现的差分机,看到一个真实的实现在那的时候真的好激动。

diff

差分机,那么就来爽一把吧:

1.f(n)的差分:
\Delta f(n)=f(n+1)-f(n)

2. 从f(n) = n^2开始说起
则我们有:
\Delta f(n) = (n+1)^2 - n^2=2n+1;
\Delta (\Delta f(n)) = \Delta (2n+1)=2;
\Delta (\Delta (\Delta f(n))) = \Delta2 = 0;
为了方便表示,我们把\Delta (\Delta f(n)) 记作\Delta^{2}f(n),把\Delta(\Delta^{2}f(n))记作 \Delta^{3}f(n)
于是可以很容易的知道\Delta^{a+1}f(n)=0,a是f(n)的最高次项的次数

3. 利用差分来计算f(n) = n^3
我们可以列一张表:
f(0),\qquad f(1),\qquad f(2),\qquad f(3) \\
\Delta f(0),\quad \Delta f(1),\quad \Delta f(2)
\Delta^{2}f(0), \quad \Delta^{2}f(1)
\Delta^{3}f(0)
因为我们知道\Delta^{4}f(n)=0,所以最后一行全是常数。
当表中第一行写出来了,下面一行的数只需要根据差分的定义把它左右肩上的两数相减即可得到。
f(n) = n^3代入,上面的表就是:
0, 1, 8, 27
1, 7, 19
6, 12
6
因为我们知道对于任何n,\Delta^{3}f(n)=6, 所以我们又可以把这个表填成:
0, 1, 8, 27
1, 7, 19
6, 12
6, 6, 6, 6, 6, 6, 6, 6, 6,……
又因为根据差分的定义: \Delta^{i} f(n)=\Delta^{i-1}f(n+1)-\Delta^{i-1}f(n),而且我们已知了最后一行的所有值,于是把最后一行往上面一行叠加可得:
0, 1, 8, 27
1, 7, 19
6, 12, 18, 24, 30, 36, 42, 48, 54, ……
6, 6, 6, 6, 6, 6, 6, 6, 6, ……
倒数第二行又可以往上叠加,如此循环往复可得:
0, 1, 8, 27, 64,125, ……
1, 7, 19, 37, 61, 91, ……
6, 12, 18, 24, 30, 36, ……
6, 6, 6, 6, 6, 6, ……

4. 一般化
设f(n)是n的r次多项式,则我们只需要把f(n)的前r个数值算出,机械的列出f(n)的r阶差分三角,我们即可机械性得到对于任意n的f(n)值

5. 加法器的实现
机械上面,使用齿轮实现一个加法器还是很容易的,如下图:
gear

被加数在左边这个齿轮上,加数在右边的齿轮上。齿轮动起来之后左边齿轮的数值就被加上相应转动的齿轮数,如果有进位,会拨动左上角这个小零件表示有进位。

5. 小数的表示
12位的差分机,存储1是这么做的:
000000000001.
加上7
000000000007.
等于
000000000008.
这不会有什么问题。

如果是这样:
000000000001.
除以7
000000000007.
等于
000000000000.
这样就不对了

于是我们这么表示1:
0001.00000000
除以7
0007.00000000
等于
0000.14285714
这样精度就大大的被提高了

6. 负数的表示
与计算机内部一样,用的是补码,不过是10的补
负3:
我们先写一个3
003.000000000

999.999999999


996.999999999
加上
000.000000001

997.000000000
这个就是用补码来表示的-3,和二进制补码一样,首位非0则表示该数是负数

我们来计算7加上-3:
007.000000000

997.000000000

004.000000000
首位为0,表示这是个正数
负数这么表示的重要性在于,我们可以用已有的加法器来实现减法

7. 计算sin,e^x等非多项式函数
我们有泰勒级数呀~
\sin x = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!} x^{2n+1}<br /><br /><br /><br /><br /><br /><br /><br />
e^{x} = \sum^{\infty}_{n=0} \frac{x^n}{n!}
利用泰勒级数,我们就可以利用多项式来计算任意函数f(x)

8. 分析机
有了以上的理论基础,疯狂的巴贝奇设计了个惊天地泣鬼神的机器 – 分析机
分析机用了类似汇编一样的语言进行输入,而且是图灵完备的
也就是意味着,我们现代计算机所能实现的功能,分析机都可以实现
这东西在历史上从来没有被实现过。

9. 蒸汽朋克
不同于电磁,机械是可触摸的,更加的形而下一些。
当我第一次看到有人在Minecraft里面实现了一个CPU的那个震撼感觉:
21023932888

用红宝石电路实现了一个电脑!真实可见可触摸的运算电路!
真的很想看看这东西如果是一个真实世界的大楼那样的存在会是何等的壮观。

如果,分析机被实现出来了,会不会是这样的摩天大楼?
如果,科技树是这么点的,我们的世界会不会完全的不一样?
Intel会不会正在宣传他们最新的集成齿轮核心已经做到了10nm工艺?
显示器厂商会不会说他们最新的活字彩色金属屏幕的分辨率已经到了1024*768?
快速傅里叶变换在那个时空会不会成为一个只是很美丽却找不到应用的算法?
20世界最伟大的算法会不会是“快速初值生成算法”?
这种机械体系下,齿轮所在的位置就表示了数值,所以不存在现代内存断电之后数据就消失的问题,也就是说开机是0秒启动。

各种各种可以大开的脑洞~这是人类机械设计智慧的巅峰,只是现代的科技树这里的点似乎都加到机械表上去了…
这是一棵从来没有被点开的科技树,一切的可能性,都只存在手稿上和想象中。
何夕的《伤心者》虚构了一个悲剧的数学家。
巴贝奇是个历史上真实存在过伤心者。
他是不幸的,因为他从来没有能够实现他的设计。
然而他也是幸运的,因为他不是孤独的一个人。
Ada Lovelace看到巴贝奇那个1/7完成版差分机时候,她的眼睛中的亮光,一定是看到了无限可能的未来。

后来,我终于在计算机历史博物馆看到了差分机的实现,听着这迟到了一个半世纪的机器转起来发出咔咔咔咔咔咔咔的声音激动&感动的浑身发抖。

Individualized Sentiment Analysis

There are many characters in a novel, how to do sentiment analysis for each individual one of them? Is he/she feeling good in this chapter? Is this episode a good/bad scenario for someone?

Bigger questions: Is this news good/bad for one specific company? The events happened today are good/bad for each individual company? (One event can be good for Apple but bad for Google)

After reading some papers&articles, I came up with an idea.

Basic theory

Distributional Hypothesis: words that are used and occur in the same contexts tend to purport similar meanings. The Distributional Hypothesis is the basis for statistical semantics.(http://en.wikipedia.org/wiki/Distributional_semantics)

There are many methods about how to represent words with vectors.(LSA, HAL, Topic models, etc.) Most of the methods are based on the Distributional Hypothesis. After changing the words to vectors, we can use top k nearest neighbors of the one word(in vector form) to represent the meaning of that word.

In order to get more accurate result, we always need to have a fairly large corpus.(for this is a hypothesis based on statistics) But, what if we don’t have a large corpus? What if we only have one book? What if we only have one article? Here is my hypothesis: Under this kind of scenarios, the top K nearest neighbors of one word represents the book’s/article’s perspective on the word.

Then I started do some experiments to verify my hypothesis.

Experiment 1, The Novel

Novel is a very good target to do experiment on. There are many characters in one novel, some are friends while some are enemies to each other. In this chapter this guy is one of the most powerful people in the world, but in the next chapter he becomes a dead man. Like rollercoaster.

Create LSA space for each individual chapter of one novel.

Get K nearest neighbors for some leading roles.

Do sentiment analysis based on these K words.

Read through the novel see if the SA result make sense.

I tested on 5 novels (two Chinese novels, three in English). The results were promising.

Here is the result of the Starks and the Lannisters from the novel A Song of Ice and fire: Game of Thrones by George R. R. Martin. Left column is the Starks, right is the Lannisters, the good/bad scale is [-10, 10], negative number means bad, positive means good. Click on the image below to view the original big picture.

lan_stark

As you can see above, when the Starks’ value is negative in one chapter, something bad happens to the Starks and vice versa. I have to point out C1 and C2 point in the graph. They are chapters about the Starks and the Lannisters having conflicts. In C1, the Starks win while the Lannisters lose. In C2, the Starks lose while the Lannisters win. (This is a case I mentioned before, “one event can be good for Apple but bad for Google”)

Experiment 2, IT News

After experimenting on novels, I started crawl news from Slashdot, Engadget and cnBeta(Chinese IT news website). Trying to answer the question: “The events happened today are good/bad for each individual company?” I think this can reflect the stock price of each individual company.

Then, here are some results that I get:

X-axis only from 0 to 250 for there are only 250 trading days in one year. The Y-axis is the (stock price of one day)/(stock price of the first trading day) *  100% with the Green line, (the good or bad value of one day + the value of the previous day)/(the value first trading day, which is 100) * 100% with the Red line.hpq2nokbbry

The result seems to be good, but a lot more experiments needed to be done to verify my hypothesis and there are a lot of improvements can be done with the algorithm and the process that I use in the experiments.

线性代数

前段日子深感线代水平不行,一直停留在只能解题的层次上,却从未抓住某些本质性的东西。

我微积分的感觉和本质是靠做了几千道吉米多维奇数学分析习题集里面的各种题目做出来的。

线代当时没这么练过,一直觉得自己很虚,本质一直没把握住。

所以,这个月来一直配合着作者Gilbert Strang本人在MIT上课的视频看Introduction to Linear Algebra。

我只能这么说,赞,太赞了!各种让人眼前一亮,各种一两句话就把本质点出,各种不动声色之间风起云涌。

第一时间推荐给老爹,老爹看了之后立刻就不行了,在一个星期内把视频都看掉之后,就到处找这种开放课程听。Gilbert的微积分重点,MIT的单元微积分和多元微积分,微分方程。

然后这段时间天天跟老爹电话,每天聊的内容就是这些东西,天天讨论数学。

以下是精彩截图:

遗传算法实现用透明多边形片拼凑图形

很早就看到过matrix67上面的一个帖子:

强大的遗传算法:用50个半透明多边形重现蒙娜丽莎
http://www.matrix67.com/blog/archives/1113

当时一看那个帖子,立刻就被shocked了,跟边上的CX说,这他妈才是遗传算法;

前两天因为Dr. VPhan的课上要找个人讲讲遗传算法,当时我就说我去讲吧。

于是就把matrix67贴子上面的那个东西的源代码看了一下,发现这个代码并不是完全的遗传算法,而且效率不高,生成那个蒙娜丽莎需要3小时这样。

于是我就想着把它给改进下,变成纯粹的遗传算法,看看效率会不会更好。

修改之后,只需要一小时就能得到那个蒙娜丽莎满意效果。

于是,我就开始用这东西生成了一下这些图:

虽然这里只有50个半透明多边形,每个多边形最多只能有10条边,它们却能组成最漂亮的画。
就像我们之间每分每秒在一起快乐的时光拼出来的心。

下面这个是原图:

PS:最难的部分就是下面那四个字母,特别是那个L和那个o,因为颜色突变很大,而且有棱有角的。

                                                                                                   – 爱你,每分每秒每件小事。