Letter of Week 2: 关于出第一次作业

这实在是一件责任很重大的事情,感觉自己手里把握了几百条生命。

碎碎念

我先回顾一下上一周和这一周的讲了什么东西。蛮有意思的事情是,像线性代数这种课,总是没觉得上了很多东西,大部分东西或多或少都会觉得是废话。事实上我不是一个喜欢说“这 TM 也要证的人”,但是线性代数总是给我这种感觉。或许是 somehow 线性代数这门课实在是太过于直觉了——或许是十多年锻炼下来的解方程能力融入了太多数学直觉。总之我觉得最初的几周,只是在不同的角度在解释同一件事情——代换、解方程组。

第一周

最初的 Linear Equation 和 System of linear equations 的 definition 还是简单的。Row picture 和 column picture 两种视角还是颇有意思的,一个长期的潜意识就是 column 是一个一个的 vector,row 的话是一个单独的 equation,equation 是一个高维的 subspace 了,简化以后就是平面或者是线。

值得注意的事情是,本周由于没有 matrix 的概念引出,始终都是在讨论 equations,虽然我们对这个 equations 的定义几乎和对 matrix 是互通的。

本周第一节课提到的 matrix 的 form 也没有必要解释成正式的 matrix,不如理解为把数字写成阵列的形式,作为 matrix 概念引出的先导比较好。

第二节课有了正式的 matrix 定义,这里有几个 notation 还是要记熟悉,一个是如何用 elements 的形式来表示 matrix,还有一个就是用大写字母。这两种要灵活的换用。

关于 elementary matrix 的概念也要有数,注意和后面会上的 permutation matrix 以及 row exchange matrix 相互比较,概念都不相同。

至于 matrix 的运算和相关运算律的证明,大家可以选择性的证明一下(或者都证明一下),总之这类证明普遍不是很 tricky,基本上按照定义证明,自然地算一算就出来了。

这周有两个算法方面的讨论,一个是 gaussian elimination 的 time complexity,另一个是 matrix product 的 time complexity。这两个 complexity 大概记住应该就差不多了。

我建议的推荐补充读物是算法导论的相关章节。

第二周

我其实一直在想所谓的 singular 是怎么来的。毕竟对于大一的我来说,我记得这个词让我联想到黑洞,想到奇点,想到宇宙大爆照。

现在回头看,我觉得这个概念其实和信息论里面的 typical 异曲同工——大致只是表达这个矩阵没那么“普通”。何谓普通?

  • 成绩中等谓之普通
  • 相貌和大家差不多谓之普通
  • 每天都见谓之普通

根本原因是,我们把“概率上的有更大几率出现”称之为普通。事实上在自然界中大多数的矩阵都是普通的,只有在离散的数学系统里(比如有限域),奇异矩阵才有一个不为零的出现概率。

最前面的 LU decomposition 是一个很重要的思想,decomposition/factorization 是贯穿于与 Linear Algebra 的,后面还会学习很多类似的 decomposition。

Unit vector 和 identity matrix 也要分清楚。

由于要折腾一道来自 UMN 的题目,仔细的看了一下 Julia 和 MATLAB 上对于 Sparse Matrix 的实现。我发现实际上这两个玩意实际上还是挺相似的,提供的接口相似,内部的实现相似,但是相互之间的转化却没有那么方便。某种意义上我愿意解释为,他们都没有像 python 那么灵活(也可能 matlab 和 julia 对我而言都没有 python 那么熟练。

题外话 :虽然我很不喜欢 Julia 用 Jupytor Notebook 跑在浏览器里的样子(显得很 low),但我也不得不承认这是目前用的最流畅和直观的做法。

Letter of Week 1: introduction and background of MAT2040

本周 cover 的内容是 LAIA 的 1.1 到 1.5 的内容。

传统意义上,Linear Algebra 是一门本科阶段的基础数学课,主要是教授一些基础的线性系统的知识。近年来,由于相关应用越来越多,门槛越来越低,低年级本科生也完全可以用所学到的知识做一些 Project。因此,在很多大学,这几年新开的 Linear Algebra 课程都增加了相当比重的应用内容,比较典型的是 Stephen Boyd 在 Stanford 开的 EE103 http://stanford.edu/class/ee103/ 这样的课程有以下好处:

  • 减少了许多 tedious 的线性代数的证明
  • 一些可以上手的 project 可以加深印象
  • 培养交叉学科的认识,更加广泛的知识背景

这门课的参考教材大概有三本:

  1. (课程主要是按照这个上的)MIT 的课程教材:Linear Algebra and Its Applications
  2. Stephen Boyd 的 EE103 课程用书 http://vmls-book.stanford.edu
  3. 某位学长整理的 Lecture Notes

Tom 一方面想搞一些编程 Project 的元素(这一部分借鉴自 EE103 里面的一些 julia 内容,还有就是 UMN 的一些相关课程资料),另一方面还想保留严谨的数学内容(这一部分就来自 MIT 的那本教材)。我个人觉得这两部分都很重要,对于工科生而言,我甚至认为动手实操的部分更为重要。

第一周讲得东西还是相对比较基础的,证明性的东西比较少,还是概念为主。

关于 Gaussian Elimination,我觉得有两件事情值得一提:

  1. Gaussian Elimination 的具体算法步骤
  2. (补充)Gaussian Elimination 会 terminate 并得到解的证明

关于本周作业,由于身份原因,我不能comment on作业题目是如何出的,但是我的确在想一件事,那就是大家(在TA眼中,统计意义上)是如何完成作业的。这包含两个层面:

  1. 同学A的submission和同学B的submission之间的mutual information。
  2. 同学A的submission和这个问题的mutual information,conditional on Google。

Epistemic relativism / 认知相对主义

本文是摘自 Stanford Encyclopedia of Philosophy 关于 Relativism 的 Epistemic relativism 章节,由于版权问题,原始内容请参见:

Baghramian, Maria and Carter, J. Adam, “Relativism”, The Stanford Encyclopedia of Philosophy (Winter 2018 Edition), Edward N. Zalta (ed.), URL = https://plato.stanford.edu/archives/win2018/entries/relativism/.

有时间的话会尽量翻译完。

4.4 认知相对主义

研究显示,人们更愿意用“相对主义”的思维方式去认定一个东西是知识以及去认可一个论证过程。“什么是知识?怎样的笃信是理性的?”——认知相对主义的核心正是在于如何对这些问题建立标准上——在该主义看来,这些标准是会随着特定的认知和文化框架改变的,这些标准本身事实上并没有我们想象的那样通用和固定。认知相对主义做了三个关键的假设:

  1. 认知论上的说理体系本身是一个相对的框架。单纯问一个“笃信”是不是绝对“有理据”本身是没有意义的——问这种问题必须基于一个特定的认知体系,(这也隐含了对客观性的怀疑?)
  2. 事实上有很多可以相互替换的,互相不兼容的认知体系。
  3. 我们如果要论证其中一个认知体系优于另一个,就不可避免的需要进行循环论证(当然,循环论证本身是难以让人接受的)。

Paul在撰写他批评相对主义的文章里提到,认知相对主义者致力于建立一个“同等有效体系”的学说——即“存在很多根本上不同的、互不兼容、却有都挺有道理的方式去认识这个世界,科学只是其中之一罢了” 相对主义这的核心论点在于我们要么狂热的决的其中一种认知体系好于所有其它的,要么就应当接受所有认知体系都同等合理。

对于相对主义而言,一个重要的问题就是如何区分,如何剥离不同的认知体系呢?直觉上,我们觉得是那些会(随系统改变而)改变的、相互排斥的认知“核心原则”,最基本的需要相信的东西,必要的预设(就是Wittgenstein 说的基础预设)一个简单并且广泛传用的例子就是笃信科学和笃信宗教这两个系统。举例来说,Boghossian做了一个专题研究,讲的是关于伽利略和Cardinal Bellarmine的关于行星运动的争论——他们两个人分别用了两套非常著名的认知框架(Rorty在他的文章里称之为网格框架)来解释。相对主义者认为事实上很难说起哥白尼的日心说和过去的地心说哪一个是被正确论证的——“毕竟我们很难说哪一个绝对的事实可以证明另一样东西”(Boghossian)从另一面看,反相对主义者正是想说明这些思想是很蠢很没道理的。

Boghossian 一直因他对相对主义的论述备受批评。其中来自Crispin Wright的批评值得注意。他关注到了Boghossian对于相对主义者的归纳中的第一条(见上文)说如果像“证据E可以体现笃信B的合理性”这样的说法可以是对的的话,那么这些说法必须依据某一个认知系统,这个系统里如果I和S可接受,才能有证据E可以合理化B。Boghossian在对相对主义进行了上述归纳后又提出,相对主义者可能有很多种方式来攻击“证据E可以体现笃信B的合理性”这样的表述,但最终他们会觉得并没有什么自成体系的方法去说明她应该接受/拒绝哪一种认知体系。Boghossian最后总结到,上述问题正是因为相对主义者找不到这样一种自成体系的办法来让他们从多余一个备选项中选出一个完善的认知系统——他们甚至不能假设有一些认知上的原则是通用的(包括推理、归纳、对经验的认可等等)(参见Boghossian 2006a)

正如 Wright 注意到的,Boghossian 从相对主义者引出认知相对主义者的过程是为了简化:

Boghossian 的论点没办法变得非常严格,像“证据E使得相信B是合理的”这样的表述可以是正确或错误的——尽管只是相对而言这样。

此外,Wright 论述道,Boghossian在谈及认知相对主义时有一点没法解释——他们没法区分:

  1. 在某一标准下做一个判断。
  2. 判断这些标准适用于这些判断。

(参见MacFarlane (2008b),里面涉及到更多对Boghossian的吐槽)

理性的概念本身以及理性所包含的逻辑和论证内涵都是常见的用于区分不同认知体系的基本原则。
当要区分不同的认知体系时,对理性这一概念的解释以及理性所包含的逻辑和论证内涵都是常见的区分原则。下面我们会分点讨论如何把这些角度都“相对化”

4.4.1 相对主义和理性

4.4.2 相对主义在逻辑

4.4.3 相对主义在科学

4.4.4 论社会建构

咨询Q&A:龙大的电子信息工程和计算机科学与技术

内容来自2019年4月21日 浙江家长群咨询。正逢选专业时期,被热情的家长们拉去问了些问题,顺便post在这里,以供参考。

选计算机专业,以后数学课程要一直学吗?

计算机方向所涉及到的数学较其他专业独立一些(主要是离散数学的分支),一般我观察有两类同学吧:一类是想从事研究,想深入了解计算机科学的,这一类的话需要持续学习数学的,另一类的话主要是应用为主,这样的话,学习必要的数学我觉得就够了。但总而言之,我觉得计算机科学专业,想要走的比较长远,数学功底还是很重要的。(但其实如果找一个互联网公司,当一个程序员,数学不是最重要的)

电子计算机与电子信息工程这2个专业有什么本质区别?

其实本质上反倒是没啥区别了,一般国外很多学校EE(电子工程)和CS(计算机科学)会放在一起,我们学校的EIE(电子信息工程)我个人觉得处于EE和CS之间。CS本身就是上世纪末从EE这个专业分出来的。主要上是知识的侧重不太一样,EIE的专业更加广泛(传统一些),会有一些硬件、通讯、信号处理、网络、信息工程等方面,CS主要都是围绕计算机本身,侧重于一些软的东西(算法,操作系统,软件)等等。但是就升学来看,其实两个专业之间没有很明显的区别。

对于女孩子,哪个专业更合适?谢谢!

这个问题我个人的回答是,我觉得在专业选择上人和人之间的差别比性别上的差别大的多。当然大一的同学(以及父母)可能在专业道路上也没有想得很清楚。但我觉得选择专业尽量还是看兴趣。哪怕还没想清楚,也可以先选一个稍微偏好一些的。

选择计算机专业,要往哪些方向努力?计算机还细分吗?

建议计算机专业在大学里可以花一些时间做一些项目,计算机专业需要一些动手能力,这一部分纯靠课内的学习往往很难有综合的提高。可以是参加一些研究项目,也可以是参加一些实践项目,或者是实习。这些锻炼对这个专业的综合能力提高比较有帮助。不过优先还是要保证课内的学习。

计算机在我们学校专业不在细分,但是到了本科高年级,学生一般都会有更加具体的倾向的(每个学科里都有细分的方向)

项目研究学校里有吗?实习的话是要自己主动去找吗?学长有什么好推荐的吗?

关于研究相关:大二或者大三开始时都可以找相关的熟悉的教授问问。尤其是学校里新来的教授,一般都在组建自己的研究团队,这个时候问一问一般都可以找到一些机会。
关于实习:是自己找,但是路子也挺多的,可以是学校就业处对接的,或者是自己网上关注的,或者是学长介绍的,但最好都能找到内推,会更加容易一些。这个对于大一来说还有点早,大一可以关注一下,有个方向,实习放到大二大三的暑假比较好。

校友你好,理工学院的大二暑假安排什么活动好?

这个交给孩子决定吧。像学姐说的,上暑课或者实习都可以吧 不要浪费时间就好啦