微积分的本质笔记

说明:来自:3Blue1Brown,关键点的记录,用来当笔记随时查阅的。多图(69张)。
感谢作者的付出,真心很赞。

目录

导论

微积分的三个中心思想:积分、微分、两者互逆。

(难怪正态分布这么多见……)

f(x) 可以是任意函数

微积分基本定理:积分与导数之间的来回转化关系,也就是某个图像下方面积函数的导数能够还原出定义这个图像的函数。它将积分和导数两大概念联系起来。

More

机器学习概念

有幸与 ahangchen (梦里茶) luopengting (lpt) 一起参与了《机器学习》(周志华)概念整理项目,今天正式完稿。我负责整理了以下章节:

最终的电子书:西瓜书概念整理。欢迎大家阅读。如任何疑问或建议,随时欢迎提出。

注意:

  1. 由于作了一些简化,可能会与上面链接中的内容不太一致。
  2. GitHub 中公式无法渲染,下载到本地即可,推荐用 Typora — a markdown editor, markdown reader.

人工智能哲学笔记

目录

背景

  • 来源:复旦大学公开课:人工智能哲学_全 7 集_网易公开课
  • 讲师:徐英瑾教授
  • 课程介绍:本课程从人工智能科学发展的科学史概要出发,讨论了哲学思辨和人工智能研究之间的密切关系,并从人工智能的角度,重新审视了近代欧洲哲学对于 “机器是否能够思维” 这个问题的思辨结论。尔后,讨论了如何从当代计算机科学的角度来解读康德哲学,并从中得到一个关于类比推理的计算模型。本课程也讨论了当代美国哲学家塞尔对于 “计算模型如何获得关于符号的语义知识” 的忧虑,并进一步探讨了这一忧虑在计算机科学内部的表达形式:框架问题。

More

Gan 原理、证明与实现

说明:本文主要介绍 Gan 的基本原理、证明过程及简单的代码实现。这里是文章链接:Gan

  • 文章目录
    1 简介
    2 证明
    2.1 概念与过程形式化
    2.2 理论推导
    2.3 证明
    2.3.1 最优判别器
    2.3.2 最优生成器
    2.4 重述训练过程
    2.4.1 参数优化过程
    2.4.2 实际训练过程
    2.4.3 最终过程
    3 代码
    4 代码学习
    5 应用
    6 数据集
    7 其他资料
    8 参考文献

由一场供应链讲座引发的思考

今天恰逢时机听了一场刘大成老师关于物流和供应链的讲座,略有所感,记录如下。

一直在思考所做项目的问题,中间基本处于一心二用的状态,只是抽几个有所感触的点记录。第一,顶层设计;第二,源头和本质。

顶层设计

有三个例子我觉得特别有意思。

第一个是秦始皇的长城,怎么理解这个顶层设计呢?我们知道,长城第一次完整的修建是在秦始皇统一六国后,当时修建长城的战略意义是防止北方游牧民族入侵。游牧民族那时候被称为半兽人(掠夺和存储财产),他们从来没有补给线,不存在后勤保障的问题,基本是以战养战;相反,秦国则需要从长安运送粮食过去,基本的比例是三担粮食,两担消耗在运输中,一担供给前线,因为道路不好,运输工具是牛(农村的朋友应该知道牛是有多慢,不过它力气大),太慢了(这其实是个物流问题😅)。而长城解决了两个问题:第一,游牧民族的马上不来,进攻速度受到影响,同时后勤供给反过来成了影响他们的一个问题;第二,在长城内驻守军民可以开荒,需要多少粮草种多少,解决了后勤保障问题,其实之后的防守也一直都是这么做的。

讲到这里的时候还有个题外话:为什么四大文明古国除了中国都消失了?一个很重要的原因是天然屏障,我们东、南有大海,西有喜马拉雅和青藏高原,北有长城,很好地阻隔了外强入侵。另外,恶劣的环境下才能最早孕育出文化,比如是黄河、尼罗河、印度河、幼发拉底等流域,而不是长江、爱琴海、亚马逊等。举了个非洲人很懒的例子,说他们每个人坐在一棵水果树下,饿了就上去摘一个水果吃,吃完了就换一棵树。有一些道理,权当调味品就行。

第二个是隋炀帝的京杭大运河。我们且不说真实历史中的隋炀帝如何,不过单就他的这项工程确实很了不起。京杭大运河(隋朝)北起长江南岸之京口(今镇江),南通余杭(今浙江杭州),全场两千七百余公里。当时的目的是为了加强中央对东方和南方的统治,同时也是为了从南方漕运粮食,便于对北方用兵,对南北经济、文化交流起到巨大作用,只是想想牛车和船只的巨大区别就知道意义所在了。当然,我觉得杨广当时可能没有想到这一层:)

第三个是 Jobs 的 ITunes 和 AppStore,真正让其他手机厂商感到无解的可能既不是 IPhone,当然更加不可能是 IPad,Mac 之类,我当然不否认这些东西非常 Nice。他的这一套与创作者捆绑的机制简直把音乐人、开发者都拉进了自己的阵营,而他们一旦习惯了这种模式,路径依赖就会发生作用。我自己觉得这点蛮有启发的。

这就是顶层设计的三个小例子,挺有感触,因为这个东西适用于很多方面,它更多的是一种思想。比如我们熟知的 git,比如我们常说的 “结构效率高于运营效率”,比如我们感触深刻的 “三观和志同道合”……顶层设计一旦做好,剩下的就是不停进化、完善。也许,“物竞天择,适者生存” 是生命和社会发展的顶层设计,前者是导向,后者是结果。我甚至觉得这就是最本质的顶层设计,试想一下我们所能想到的所有东西,无一不符合这条设计,生命自不必说,从我们每天用的手机、打开的 APP、浏览的网页、吃的美食、买的衣服……有哪项不是这样呢?再把 “物竞天择” 四个字拆开来解读,又会发现新的不一样的意味。有关这部分内容不再赘述,我正在写一篇《关于世界、宇宙与评价、选择》的文章,感兴趣的可以关注。

谈个题外话,无论男女,在找对象时,首先应该考虑的也是 “顶层设计”,也就是你俩在这方面是否一致。一致最好,如果不一致趁早分开的好,省得到时候更加痛苦。也许有人会说,人都是可以改变的嘛,没错,我非常认同 “人是会改变的” 这个观点,但是恕我很难相信有人能真正改变自己的 “顶层设计”,“江山易改本性难移” 我想说的就是这个意思。另外,对组织、商业、政策来说,“顶层设计” 更加重要,因为它几乎无法改变。经济学中有一个分支叫 “制度经济学”,里面有个非常基本的概念 “路径依赖”(大牛诺斯提出),就像物理中的 “惯性”,在受到外力之前保持之前的运动状态。想想键盘的例子可能会更加有感觉。最后,其实代码工程也一样,刚开始的不合理设计可能会导致后面无穷无尽的麻烦,程序猿肯定听过 “百度 GCC 被三体人锁定在 3.4.5 版本” 的段子,不知道的搜一下百度:)当然,运用到具体场景得看实际情况,这个是常识。好了,题外话到此为止。

More

Language Model Note (SLP Ch03)

Ngram

  • Count up the frequency and divide (use maximum likelihood estimation or MLE):

    • Example:
    • More Generally:
  • For N-gram

    • Next Word:
    • prob of sentence:
  • For Bigram
    • prob of sentence:
    • Next Word:

More

语言、AI、情感

语言的本质

抽象来看,语言大致可分为描述客观现象和表达主观感受两个方面。
客观的语言广泛存在于世间,从人类到动物,到植物、化学元素都有自己的『语言』,它们通过特定的语言向外传达一种『信息』,而这种信息被人类加工后成为『知识』。
而人类或其他高等动物之所以特殊是因为他们能表达自己的感受,他们有喜怒哀乐,有七情六欲,他们对万事万物有自己的认识。也许可以称之为『情感』,或许是『意识』。
由于语言有多种,个人主观方面又大不相同,所以当人与人沟通时经常会信息不对称,导致沟通障碍。而同样的东西、同一件事物,不同的人看到的也会不尽相同。
所以,有时候与其说是语言的魅力,不如说是人类主观的魅力、意识的魅力。譬如『如果你认识以前的我,也许你就会原谅现在的我』,大多数人可能会觉得这句话和有意境,觉得写的很好。为什么?也许从信息的角度来看,它高度抽象描述了大量的客观现象,但我想更多地是因为它勾起了你心中的一点点涟漪,或者引起了你一点点的共鸣。
再比如 “他死了,她也死了” 和 “他死了,她伤心而死”。从信息论(效率)角度而言第一句更容易记住,因为它短,但人们更能记住第二句,因为它有 “情感”。所以,我们其实关注的并不是信息本身,而是信息所附加的、能引起我们心灵触动的、能带给我们思考的东西。
所以,语言我更倾向于把它当做人类表达自身情感的一种方式。至于记录客观世界,其实完全可以通过其他方式,比如数学公式、物理公式…… 而语言的本质或者核心其实是『情感』,是『意识』的产物。

More

正则表达式笔记

操作

compile

  • compile 常用的表达式更高效:使用编译的表达式能避免高速缓存查找开销,将编译工作转移到应用程序启动时,而不是程序响应用户操作

  • 在字符串前加个 r 反斜杠就不会被任何特殊方式处理

  • re.findall(rf'{t}', s): f 表示 t 可以使用变量
  • re.compile(pattern, re.IGNORECASE): IGNORECASE 忽略大小写
  • re.compile(pattern, re.MULTILINE): 是否按行匹配,带参数按行,不带参数整个字符串为整体(不考虑换行符)
  • re.compile(pattern, re.DOTALL): 默认不匹配换行符,带参数匹配换行符
  • re.compile(pattern, re.Unicode | re.VERBOSE): 让 pattern 看起来更易读。多个标志可以通过按位 OR-ing 它们来指定。如 re.I | re.M 被设置成 I 和 M 标志
  • 嵌入标志(编译表达式无法添加标志时,可以在表达式字符串本身内嵌入标志)
    • 打开不区分大小写匹配项: (?i) 添加到 pattern 的最前面就好
    • i: IGNORECASE; m: MULTILINE; s: DOTALL; u: UNICODE; x: VERBOSE

More

随笔:人生,当有所为有所不为

是夜,阴沉天空,淅淅沥沥的小雨,落到了地上,没入了尘埃。
空旷的房间,通明的白织灯下,桌上一罐哈啤,一罐纯净水,耳边响着最爱的史诗乐。
回想近日之事,一时竟感慨万千,内心色彩斑斓。

人的一生会遇到许许多多的事,会交到许许多多的朋友,你永远无法预测明天会发生什么,下一秒将会认识谁。但是,总有些事、总有些人,会让你的人生泛起涟漪、波澜。
有些事,能让你认清一个人;有些人,能让你知道一件事。

我们生活在这个世界,物欲横流、欲壑难填。
每个人都想任性地活,想要想尽一切办法满足自己不断膨胀的私欲。
我们以为这是自由,这是活出自己,这是人生的精彩。
但却忘记了什么是责任,什么是担当,什么是本分。
忘记了克己修身,忘记了每日三省,忘记了拷问良心。也许从未有过。

任性过后,还剩下什么?还能剩下什么?
人生在世,当有所为有所不为,大丈夫立于天地间更应如此。
忍让不是天生懦弱,关心不是精力过剩,
然而我们总是看不到这些或者习惯了如此,一次次用所谓的个性去刺向那呵护着自己的外壳。
人性本如此。

感受周边人群,与日俱增的寂寞和空虚,让人不得不想方设法去寻找释放的窗口。
同样寂寞空虚的人遇到了一起,生产出更多的寂寞空虚,以及一些私欲,泛滥成灾。
然后,终日活在这样的世界,通过感官上的各种刺激才知道自己还,活着。

谈使命,说使命太虚;谈梦想,说梦想太空。
浑浑噩噩度过一天一天,一年一年,接着是一生。

做人,该当知轻重,明对错。
然后,去做一个有品性、有道德的人。
这样的你也会是一个三观正、人品赞的人。
扪心自问,你是吗?

后记:发现自己慢慢喜欢上在这种环境下用键盘缓缓抒发自己内心的情感,就好像一篇娓娓道来的故事,好像一副徐徐展开的画卷,好像一首缓缓奏起的乐章。随着文章终了,内心的情感渐渐平复,由内而外不再充满戾气,不再焦躁不安,不再五味陈杂。