迁移博客系统到hexo

原先放在 github pages上的博客系统是用hugo搭建的,8月份换电脑,hugo环境没有了,正好迁移到主流的?hexo,安装和配置还是挺简单的,而且有中文说明,这里讲讲hexo里面一些(我觉得)新的概念 和 跟之前hugo的不同之处。

  1. 流程更清晰
    new/generate/deploy,对应写博客/生成静态文件/发布,三个步骤只需要运行hugo命令就行了,不需要再手动提交到github,操作简单很多。当然需要安装 hexo-deployer-git,并且定义好自己的仓库地址。

  2. 自定义的路径和url
    我希望md文件放在年份文件夹里,不要全部放在 _posts 文件夹下面。而且文件名要有日期前缀,要不然不好找。我在配置文件的 Writing 段落这样定义就可以了 new_post_name: :year/:title.md。当然 new post时,我手动吧日期敲进去。此外,生成页面的的url里面,默认是:year/:month/:day/:title,但是因为我文件名已经有日期了,所以url里面的日期就不要了,直接删成:year/:title这样就行。

  3. 草稿
    有个draft草稿的概念,这样的文件时看不到的;需要publish一下,才会吧draft变成post。好吧,其实对我没什么用。

  4. 分类
    原来hugo里面的category是并列的关系,跟tag一样,一片文章可以属于多个分类。但是hexo里面的category存在层次关系,[cat1, cat2]表示cat1下的子分类cat2,跟[cat2, cat1]是不一样的。

暂时就用到了这么多。

搬家快乐~~

迷上做饭视频

最近迷上了做饭视频,不讲话不编故事不提梦想的那种,就看演员安静地做菜,再满足地吃掉。
以前看一个讲座,程序员向普通人解释什么是计算机程序,拿菜谱来打比方,做菜时需要再特定的时间点上加入定量的食材,按照需要调节温度,外加偶尔翻炒十几秒,最后就出来一锅美味的菜肴。程序也是这样,输入数据、操作,就能出结果。
听到这里,我好像也会做饭了,假如给我一套现实世界的API的话……实际上我按照菜谱的说明,做出来的东西总是没有期待的好吃。现在想想,大概是因为我真的把做饭当成程序了,而不是一件快乐的事。只有怀着对美食和生活的爱,才能做出一盘好吃的菜吧?
传奇远而粥饭斤,一粥一饭皆为心意。

陈晓卿 传奇远而粥饭斤

集智网文章索引

集智网是个学习机器学习的好网站,翻译和原创了不少好文章,然而不太方便浏览,所以自己搞一个索引。
20170717更新。

Python入门

[Python入门] 01 基本法则
[Python入门] 02 控制流
[Python入门] 03 字典
[Python入门] 04 文件与函数
[Python入门] 05 元组与数据库
[Python入门] 06 面向对象

机器学习有意思

《机器学习有意思! 01》- 世界上最简单的机器学习入门
《机器学习有意思! 02》- 使用机器学习生成超级玛丽关卡
《机器学习有意思! 03》- 深度学习与卷积神经网络

Scikit Learn

[Scikit-learn教程] 01 快速入门
[Scikit-learn教程] 02.01 统计学习:基本设置和预测器对象
[Scikit-learn教程] 02.02 从多维采样中预测输出
[Scikit-learn教程] 02.03 模型选择:预测器及其参数
[Scikit-learn教程] 02.04 无监督学习:追寻数据表征
[Scikit-learn教程] 02.05 综合实践
[Scikit-learn教程] 03.01 文本处理:特征提取
[Scikit-learn教程] 03.02 文本处理:分类与优化

Kaggle

Kaggle 首战拿银总结 | 入门指导 (长文、干货)
泰坦尼克号事故分析 01 数据清洗
泰坦尼克号事故分析 02 机器学习
泰坦尼克号事故分析 03 进阶模型
什么鬼?Python开发照妖镜

数学

数学不行还学AI-第4话-图解张量(内有恶猫)
数学不行还学AI - 第5话 - 神经网络平话演义(上)
数学不行还学AI - 第5话 - 神经网络平话演义(下)
贝叶斯方法的概率编程与推断——贝叶斯推断的哲♂学

神经网络

Python搭建多层神经网络
9行Python代码搭建神经网络
卷积:如何成为一个很厉害的神经网络
LSTM by Example using Tensorflow

爬虫

爬虫需谨慎!!!那些你不知道的爬虫反爬虫套路
[Python爬虫] 「暴力」破解猫眼电影票房数据的反爬虫机制
[Python爬虫] 批量搜索Excel里的关键词
[Python爬虫] BeautifulSoup4基础问题:如何获取特定标签内的网页元素

趣味项目

如何创造心智:揭示人类思维的秘密
如何挽救鉴黄师的职业生涯 - Python绘制像素图
来自Google的小游戏,让任何人都能参与到机器学习中来
基于Keras的AV女优相似图像检索(译)
一起来画像素画,我家的马赛克不可能这么萌!
用代码来画图——CSS绘制简单的卡通形象
DeepTraffic:MIT模拟游戏利用深度学习来缓解交通拥堵
我家的AI才不会这么智障——DeepMind让人工智能学会如何走路

浅说深度学习

浅说深度学习(1):核心概念
浅说深度学习(2):简史
浅说深度学习(3):序列学习
浅说深度学习(4):增强学习

增强学习

极简增强学习新手教程
深度增强学习前沿算法思想
深度增强学习DQN

last

视频拍摄于1989年,向大神致敬!
LeCun_CNN

(发福利)深度学习资料

今天找到的一些学习资料,想看的书,简单汇总一下。

这本Hands-On Machine Learning with Scikit-Learn and TensorFlow 想要早点看
英文版 epub

这本是机器学习领域比较全面的入门书,打算看,模式识别和机器学习Pattern Recognition and Machine Learning,略贵,还好我提供了下载,嘿嘿嘿。
英文版PDF
中文版PDF

这本以后打算看深度学习
英文版
中文版

深度学习入门资料
简单易懂的讲解深度学习(入门系列之一)
简单易懂的讲解深度学习(入门系列之二)
简单易懂的讲解深度学习(入门系列之三)
简单易懂的讲解深度学习(入门系列之四)
简单易懂的讲解深度学习(入门系列之五)
简单易懂的讲解深度学习(入门系列之六)
简单易懂的讲解深度学习(入门系列之七)

算法来自日常工作

越来越觉得工作中能够用到经典的算法,或者说,经典的算法并不是古代的程序员/数学家拍脑袋想出来的,而是真的需要,才称为经典算法。

比如以前做一个消息分类,分类算法其实就是diff命令,也就是最小公共子串问题。
只是相关的几片论文到今天还没看完。。。

最近写VBA从Excle抽数据给前端,有一个事例非常类似寻找众数的过程。
什么是寻找众数?在像程序员一样思考有探讨:对数列[2,3,2,4,5,4,3,2,3,4,3]中找到最多的数以及它出现了多少次。
做法是先排序,再计数。
而我们工作中的需求是,把Excle中,同一个公司的条目都放到一起,用json格式输出,也就是输入可能是这样的:

公司1,222
公司2,444
公司3, 66
公司1,  3
公司3,666
公司2, 88
公司3,  9

同样,我们的做法也是先排序,然后计数,找到一个公司的所有条目,再合并到一起输出。
最终输出大概是这样的结构:

公司1:[222,3]
公司2:[444,88]
公司3:[66,666,9]

中间为了找一个公司的起始行和结束行,用的循环有点多。

数据归一化方法

最近看的书Python机器学习:预测分析核心算法介绍了归一化方法,刚好在另外的一个可视化项目中也用到了,所以就简单总结一下。

归一化(Normalization)

归一化把数据变为(0,1)之间的小数。主要是为了方便数据处理,因为将数据映射到0~1范围之内,可以使处理过程更加便捷、快速。
归一化把有量纲表达式变换为无量纲表达式,成为纯量。经过归一化处理的数据,处于同一数量级,可以消除指标之间的量纲和量纲单位的影响,提高不同数据指标之间的可比性。比如两个人体重差10KG,身高差0.02M,在衡量两个人的差别时体重的差距会把身高的差距完全掩盖,归一化之后就不会有这样的问题。

主要方法:

  1. 线性转换,即min-max归一化(常用方法)
    y=(x-min)/(max-min)
    如果要映射到[-1,1],y=(x-mean)/(max-min)
  2. 对数函数转换
    y=log10(x)/log10(max)
  3. 反余切函数转换
    y=atan(x)*2/PI

标准化(Standardization)

数据的标准化是将数据按比例缩放,使之落入一个小的特定区间。
主要方法:

  1. z-score标准化,即零-均值标准化(常用方法)
    y=(x-μ)/σ是一种统计的处理,基于正态分布的假设,将数据变换为均值为0、标准差为1的标准正态分布。但即使数据不服从正态分布,也可以用此法。特别适用于数据的最大值和最小值未知,或存在孤立点。
  2. 小数定标标准化
    y=x/10^j (j确保max(|y|)<1)
    通过移动x的小数位置进行标准化
  3. 对数Logistic模式
    y=1/(1+e^(-x))

正则化(Regularization)

用一组与原不适定问题相“邻近”的适定问题的解,去逼近原问题的解,这种方法称为正则化方法。如何建立有效的正则化方法是反问题领域中不适定问题研究的重要内容。通常的正则化方法有基于变分原理的Tikhonov 正则化、各种迭代方法以及其它的一些改进方法。
总的来说,归一化是为了消除不同数据之间的量纲,方便数据比较和共同处理,比如在神经网络中,归一化可以加快训练网络的收敛性;标准化是为了方便数据的下一步处理,而进行的数据缩放等变换,并不是为了方便与其他数据一同处理或比较,比如数据经过零-均值标准化后,更利于使用标准正态分布的性质,进行处理;正则化而是利用先验知识,在处理过程中引入正则化因子(regulator),增加引导约束的作用,比如在逻辑回归中使用正则化,可有效降低过拟合的现象。

神奇女侠

电影工业又造就了一位女神。
电影没什么值得讲的情节和故事,好看完全靠女神的魅力。宙斯的女儿,当然是神啦:)

很多年前的女神电影,比如古墓丽影,只要女神身材好,就可以了;现在除了身材好,还迎合了大众新的口味,比如女权意识。所以电影工业也是善于捕捉民意,坚持政治正确呀。为票房当然得这么做。。。

我们平时看过的新闻/热点,都是用AI(自己指定关注某一类的,系统按照你的口味推荐)或者SN(朋友分享的内容)过滤一遍的,那么我们看到的世界是不是越来越狭窄?

wonderwoman.jpg

人类简史

题外话:好久没有更新了,想了想还是要定期更新的,督促自己定期学习和产出;要不然没有任何output,会觉得完全无所作为。

今年第一本读了两遍的书,人类简史,内容和观点都很有说服力,更难得的是作者文笔非常了得,娓娓道来,完全不像一般的史书作者,更像是运筹帷幄的小说家。
此外,作者有两个观点真是令我非常赞同。

  1. 演化之路绝无退路
    人类从采集社会过渡到农业社会,(虽然什么原因不可知晓,但我相信是个偶然),是一个不可逆转的过程。周围的部落都去种植粮食了,树林就会越来越少,仅靠采集食物也会渐渐活不下去。
    现在也如此,互联网的日渐入侵我们的日常生活,想要恢复往日的时光已经不可能,只有拥抱未来,才有可能存活。
  2. 当局者迷和上帝之眼
    在历史发展中,当时的人看未来如同站在十字路口,未来有好多种可能;可是未来再回过头了看历史的踪迹,只能看到发生的一切,还以为都是历史的必然。

(骗更)你想穿越到古代吗

之前看到一个题目,如果可以穿越到古代称为一个历史人物,你想扮演谁做些什么。有个伟岸的回答是,穿越到清朝成为慈禧太后救中国。
仔细想想,现在人可能无法适应古代的生活了。

材料单一,没有现在这么多合身的裁剪。冬天保暖效果差,夏天还要穿的那么多。礼教严格繁复,可能会觉得麻烦。

调料和烹饪方法没有现在多。食材少,而且会有季节区别。而且叫不了外卖哦。

我就说没空调,没wifi,没电,没自来水,没热水器。

只有马车、船,要不就是步行了。我们目前几个小时就能飞过去的远方,必须好几个月才能到达。
要知道,现代人觉得理所当然的事情,在古人看来都是天方夜谭。

masiluo

更重要的,我们现在看历史,都是站在上帝的角度看的,后面会发生什么事情,都一清二楚;然而放在当时,却如何能够知道以后会发生什么。再简化一点,就说说当时发生什么吧,即使是帝王,收集信息的效率和准确程度都远远不如现在的互联网时代,也无法立即得到全国各地的消息,进行决策时未必能作出后来人觉得正确的决策。

所有人都知道,要考虑历史进程,可是谁有能看得清。

不得不了解的背景

以前读帖或者读诗的时候,往往只看其本身,比如字写的怎么样,或者诗文中描写了怎样的情景。最近读了蒋勋《手帖:南朝岁月》后,豁然发现,比起书法技巧,更需要了解手帖成文时候的历史背景和人物当时的感情。这也是为什么王羲之酒醒之后,就再也写不出《兰亭序》了。哦,这也是为什么行书top3都是草稿。最重要的还是情怀啊。
读诗也是同样,如果不了解历史和人物,也无法领会更深层次的内涵吧。
快雪时晴