西蒙《人工科学》笔记

目录

More

自然语言计算机形式分析的理论与方法笔记(Ch17)

第十七章:自然语言处理系统评测

测评的一般原则和方法

两种不同的测评方法:

  • 黑箱评测(外在评测):不关心 NLP 系统内部机制和组成结构,主要根据输入输出结果判断,有助于了解外在的总体性能。
  • 白箱评测(内在评测):对 NLP 内部机制分别分析,测评各组成部分性能,有助于了解内部组成部分的性能。

主要采用黑箱评测,“宽进严出”。

More

NG CNN 笔记

说明:来自卷积神经网络 - 网易云课堂的关键点记录,用来随时查阅,多图(88张)。课程真的很好;)

目录

More

浙大翁恺老师《C 语言程序设计进阶》笔记

说明:本文档为浙大翁恺老师《C 语言程序设计进阶》课程内容笔记,主要记录学习过程中的一些重要或自己不懂的知识点,方便随时反复查看,内容不一定适合其他人。

如果想看 C 语言基础版的,可以移步:浙大翁恺老师《程序设计入门——C语言》笔记 | Yam

小感想:自从大学上过这门课后就再没碰过了。这次学完两门课,写了一些代码,才慢慢有了一些感觉。这种感觉不光是对 C,更是对写代码和深入探索未知的过程。虽然有时候也会情绪低落、状态低迷,什么都不想做,但整体还是蛮开心的,也从没有想过放弃。希望能在这条路上与更多的小伙伴同行。

目录

Week1:指针与字符串

指针的使用

指针的应用场景1

  • 交换两个变量的值

    1
    2
    3
    4
    5
    6
    void swap(int *pa, int *pb)
    {
    int t = *pa;
    *pa = *pb;
    *pb = t;
    }
  • 函数返回多个值,某些值就只能通过指针返回

    • 传入的参数实际上是需要保存带回的结果的变量

More

NLP 与人工智能

NLP 很难,但如果用一句话概括这种难度,应该是 “语义理解”,也就是让机器理解自然语言。“理解” 的意思是它明白那句话是什么意思,这个意思包括字面表现出来的意思和字面背后说话人实际想要表达的意思。比较上层的应用自不必说,即便是最底层的分词、词性标注、句法分析等任务也是同样涵盖在内。“分词” 是汉语以及其他一些没有对词语进行分割的语言才需要做的,而汉语相比其他语言除了分词上的问题外,还有大量汉语本身的特殊问题。仅拿文字处理举例,汉语中看似完全相反的话可能表达的是一个意思,比如 2018(CCF-GAIR)NLP 专场云孚科技张文斌分享的几个例子:了得 VS 了不得,我可想死你了 VS 你可想死我了;汉语的抽象程度相对更高,往往几个字就表达了很多东西,这点可以通过书籍的薄厚程度就能感知一二;汉语最小单元汉字数量非常多,相比英语熵要大很多。再说分词,之前看过一篇文章讲到分词,提到两个观点:第一,分词的主要目的是消除歧义;第二,汉语的不分词是导致其在世界范围内流传不广、难学的主要因素之一。我对这两个观点都比较认同,不分词从认知的角度来说的确需要更多的注意力,其实我们阅读过程中大脑后台已经做了分词,所以文字的不分词有点感觉是浪费人的精力。当然其他如词性标注、实体识别、句法、语义角色等任务也有类似的问题。

More

浙大翁恺老师《程序设计入门——C语言》笔记

说明:本文档为浙大翁恺老师《程序设计入门——C语言》课程内容笔记,主要记录学习过程中的一些重要或自己不懂的知识点,内容不一定适合其他人。

翁老师讲课真的很通俗易懂,这个课程作为入门课难度适中,推荐需要学习 C 语言的同学从这门课开始。

目录

  1. 程序设计与 C 语言
    1.1 计算机和编程语言
    1.2 C 语言
    1.3 第一个程序
  2. 计算
    2.1 变量
    2.2 数据类型
    2.3 表达式
  3. 判断与循环
    3.1 判断
    3.2 循环
  4. 进一步的判断与循环
    4.1 逻辑类型和运算
    4.2 级联和嵌套的判断
    4.3 多路分支
    4.4 循环的例子
    4.5 判断和循环常见的错误
  5. 循环控制
    5.1 循环控制
    5.2 多重循环
    5.3 循环应用
  6. 数组与函数
    6.1 数组
    6.2 函数的定义与使用
    6.3 函数的参数和变量
    6.4 二维数组
  7. 数组运算
    7.1 数组运算
    7.2 搜索
    7.3 排序初步
  8. 指针与字符串
    8.1 指针
    8.2 字符类型
    8.3 字符串
    8.4 字符串计算

期中测验
期末考试
附录

1. 程序设计与 C 语言

1.1 计算机和编程语言

  • 人:What to do;计算:How to do
  • 计算机做的所有事情都是计算,计算的步骤就是算法。
  • 程序的执行
    • 解释
    • 编译

1.2 C 语言

  • 历史

    • FORTRAN - BCPL - B - C
    • 1973 年 3 月:第三版 Unix 上出现了 C 语言编译器
    • 1973 年 11 月:第四版 Unix 完全用 C 语言重写
  • 版本

    • 经典 C

    • 1989 ANSI C

    • 1990 ISO 接受了 ANSI 的标准——C89

    • 1995 1999 两次更新:C95 C99

  • 应用
    • 操作系统
    • 嵌入式系统
    • 驱动程序
    • 底层驱动:图形引擎、图像处理、声音效果等

1.3 第一个程序

More

线性代数的本质笔记

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

吐槽一下:B 站真的不是看学术视频的好地方,乱七八糟的弹幕每次要屏蔽,连续暂停会卡顿,快进快退会卡顿。

后面六个视频要多看几遍。

目录

序言

几何水平上的理解能让你判断出解决特定问题需要用什么样的工具,感受到他们为什么有用,以及如何解读最终结果。数值水平上的理解则能让你顺利应用这些工具。

向量究竟是什么?

将向量看作运动(就像在数轴上一样)。

看作空间中的箭头,看作数字列表。

线性组合、张成的空间与基

将向量看作单位向量的缩放(缩放向量并相加):选择标量,对向量分别进行缩放,然后把结果相加。

如果选择不同的基向量会怎样?

它同样允许我们在一对数和二维向量之间自由转化。但这种变换关系与之前用 i 帽和 j 帽的变换关系完全不同。

每当我们用数字描述向量时,它都依赖于我们正在使用的基。

但当共线时,它们张成的空间就是终点落在一条直线上的向量的集合。

两个向量张成的空间实际上是问仅通过向量加法与向量数乘这两种基础运算,能获得的所有可能向量的集合是什么?

Trick:单个向量看作箭头;多个向量看作点(否则会太拥挤)。所以对大部分二维向量对来说,它们张成的空间是整个无限大的二维平面;但如果共线,它们张成的空间就是一条直线。

三维与二维类似:当你缩放第三个向量时,它将前两个向量张成的平面沿它的方向来回异动,从而扫过整个空间。另一种思考方式是:利用自由变化的三个标量,从而得到空间中所有的三维向量。

一组向量中如果有至少一个是多余的(没有对张成空间做出任何贡献,如二维的共线、三维的共面等),也就是移除那个向量而不减小张成的空间,此时它们是 “线性相关” 的。另一种表述是,其中一个向量可以表示为其他向量的线性组合,因为这个向量已经落在其他向量张成的空间之中。

另一方面,如果所有向量都给张成的空间增加了新的维度,它们就被称为 “线性无关” 的。

空间的一组基的严格定义:张成该空间的一个线性无关向量的集合。

More