2023/1/31
关于为什么要读研究生,我想一方面是为了获得一个身份,为的是在社会中最基本的保障,更重要的还是在于本科学了四年,发现某一个方向还蛮感兴趣,所以可以接受再学两年。
目前离开学考还有十几天,说实话刚开始我是没怎么在意的,毕竟一直是在保研的边缘,挤不到15%内,数模拿了加分能保证20%内,就想着保不了考南大,反正自己也不怎么看得上哈深(可能是本科呆久了+疫情封校的buff),处于一种半摆烂的状态。今天晚上大概想了一下未来一学期的规划,突然记起来在大一学分绩掉到50%的时候自己还没放弃卷考试课,所以如果开学的考试摆了,感觉有点对不起自己,不管这个保研名额用不用的上,我也是会尽力争取的,也是对过去的一个交代。
对于新学期的想法,在保研名单出现之前,我会努力申请一些实验室,因为看认识的一些学长也是主动去申请成功的,然后再认真点学一下最后一门考试课,如果能保研本校而且也找到了合适的实验室,就继续留在深圳读两年,如果没保研就准备考研,不出意外的话应该是选南京大学,但是可能也就只有半年复习时间XD,我自认为赶考能力一般,也还是做好二战的准备,期间是要和南大的老师不断联系。
现在是2023/1/31,可能写 ...
HW2P1
Lectures
Lecture 9: Scanning for patterns (aka Convolutional Networks)
首先来看一个关于平移不变性的问题,需要在一段audio中判断是否出现过Welcome这个单词,如果采用简单的MLP的话,则需要考虑每种情况,想象最简单的情况,假设输入的audio被切分为段,并被编码为维向量,含有Welcome则对应位置元素置为1,否则置为0,不难发现,这是一个超过指数接近组合数解的问题,训练这样庞大的数据集是不现实的。
这样平移不变性的问题在实际问题中是很经常出现的,比如图像中是否含有相同的图案,而且往往是对pattern的"位置"不敏感的,而简单的MLP是不具备这样的性质。
从整体的角度出发没有好的策略,可以先从局部进行思考,也就是Scan的策略,我们可以专门训练一个识别audio某段中是否有welcome的神经网络,然后再逐段进行扫描,遍历整个audio后再把结果整合 ,虽然重复了很多次,但是参数都是共享的,因此这样的策略无论是网络构建的代价还是实现,可行性都远高于之前的想法。训练这样的神经网络和之前的方 ...
HITSZ-lumao
这篇博客是和仓库项目对应的说明文档:https://github.com/XuRui314/HITSZ-lumao
Part 1: 项目启动
在安装好依赖的包后,还需要在django_lumao/setting.py文件里设置自己的本地数据库,具体来说是把DATABASES这一项改为:
12345678910DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django_test', # 连接的数据库 'HOST': '127.0.0.1', # mysql的ip地址 'PORT': 3306, # mysql的端口 'USER': 'root', # ...
HW0
In this note(blog) , i will cover some basic ideas and knowledge you are supposed to hold in your mind. This can be quiet useful for cmu’s deep-learning course.
So the layout is as the following:
Pytorch tutorial
Mathematics tutorial
Pytorch
Math
Matrix derivatives
Jacobian matrix explanation (2 aspect: derivative and integral):
I will introduce he main idea of vector function derivative, watch the video to get the idea of integral :)
https://www.youtube.com/watch?v=wCZ1VEmVjVo
Suppose we h ...
HW1P1
In this HW, i’m gonna to complete the basic MLP (aka the simplest NN) by designing my own mytorch library which can be reused in the subsequent HW
Here is the layout of this note (blog):
Brief Introduction
Python Implementation
Torch Pipeline
Introduction
Representation
MLPs are universal function approximators , they can model any Boolean function, classification function, or regression. Now, I will explain this powerful representation ability in an intuitive way.
First, MLPs can be v ...
Deep Generative Model
具体形式是ppt,我会给个gitbub链接:https://github.com/XuRui314/CMU-11-785/blob/main/Introduction to Generative Models(only VAE).pptx
以及可以看blog内的diffusion模型部分
EM & VI
这部分就不自己详细写到网上了,我自己倒是在本子上记了很多笔记。因为这块基本上资料讲的很清楚,我这篇博客就是分享一些总结和资料吧 :)
首先推荐的是CS229 Andrew的EM课和讲义,然后可以再看Bloomberg的EM,他这个EM是直接按照VI框架讲的,最后再去找点VI的资料就可以了。
Introduction
在贝叶斯的视角下,首先要知道的是
in words:
求posterior的过程是Inference,通过likelihood去求参数的过程是Learning,我们拥有的是prior先验概率,以及可以通过积分求出的evidence。
有了后验分布,我们就可以做很多事了,包括machine learning基本的各种任务,分类预测之类的,这也就是贝叶斯派的特点,能将频率派的优化问题(求极值点)转为积分问题。
而有时候这个积分问题是intractable的,我们又会转为优化问题去求解,这就是Variational Inference要做的事情了。
此外还需要补充一个重要的概念,完全的数据集(complete data set)和不完全数据集(incomplete data se ...
Kaggle NLP
dc9fcc9c819d5a4f43fe8e7daa086cf61d64277f53779768f95dc77b0be8b39c105c36c28322a40f87bfe34ec821ccecc219cb76a9025884217b0a0b8e279771b769e25a971178ef2a5d16899edf242680612c2755385a04067006ecee72b0fa0fff1fd9ba04063a2c9c1978181574b2c6bcaf664b9d85736ee7ecf85607fa874deaed5179630046de71072342c4779fb25c0e609f7f2baabd82d484424e9b8fa90336d862330641b27870f7ab24059ba4cfdebc408d7e6e39ff1f785a38fbd6b215190e5c4d58cbf1e0e81e044d342f302d30cba6a982649d1049da793e1d05
Hey, password is r ...
PGM
To be updating soon~
你真的理解PCA么
你好,这是一份关于PCA的介绍指南,希望看完全文后你能对PCA和他的小伙伴们有个全新的认识😃
2023/5/13: 后面关于PPCA和VAE的部分是放到了生成模型那里讲,具体没写博客,而是做了个ppt,所以这篇博客也算是完整了。
前言
说起来写这篇文章原因,一方面是自己留个复习的记录,对PCA做个了结😋,之前总是处于复习完又忘掉,不是很有自己的体系,这次要建立一个全面而清晰的总结。另一方面是我自己本身就对PCA相关的理论有过思考和尝试,算是接触比较多。
事实上,对于某个专题写文章不是特别的容易,如何保证介绍的精准全面,又不被参考的资料影响,兼容自己的见解与特色,我想这是决定最后文章质量的关键要素吧 :)
zxr和PCA的渊源是在高中的时候,当时学完最小二乘以后我就在思考一个问题,如果把误差定义为点到直线a的距离,这样的话怎么求解?当时我自己确实也是试了,奈何数学功底太差,最后也就不了了之,但是这个问题确实是被我带到了大学,在MIT 18.06线代的课程中,我第一次知道了答案,也是这个时候,我接触到了PCA。
其实是问过hjb的,他说求导就可以,但也没写给我看,懂不懂FDU ...
Tree based AI
算是又开了一个新坑吧👍,但是这部分我不会写的特别细,有的部分就用对应的资料代替了,如果我自己写,估计也是差不多,索性就省略掉,记录主要的思路和重要的推导。
Still updating
提纲:
Decision Trees / CART
Bagging / Random Forest
Boosting / AdaBoosting
GBDT / XGB
资料:
CS229
https://aman.ai/cs229
Bloomberg
Decision Tree
看这篇文章:https://aman.ai/cs229/decision-trees/,还有Canada小哥的视频:video。
需要补充的点:
损失函数的解释:purity pdf
决策树的种类
创建树的训练过程
Different Decision Tree
different-decision-tree-algorithms-with-comparison-of-complexity-or-performance
https://qr.ae/pvSm8V
https://blog.csdn.net/y ...
Compiler lab
实验课地址(包括对应实验包下载):https://hitsz-cslab.gitee.io/compiler/
实验一 词法分析
实验任务:
确定词法规则对应的 DFA
确定自动机状态, 转移方式, 以及在特定转移步骤时要采取的动作
使用 switch 以状态机方式实现词法分析器
也就是把下面的转换成对应的Token形式:
1234567891011121314151617181920212223242526int result;int a;int b;int c;a = 8;b = 5;c = 3 - a;result = a * b - ( 3 + b ) * ( c - a );return result;// 只选取了一部分展示(int,)(id,result)(Semicolon,)(int,)(id,a)(Semicolon,)(int,)(id,b)(Semicolon,)(int,)(id,c)(Semicolon,)(id,a)(=,)(IntConst,8)
对于词法分析,需要的结果就是词法单元token:(种别码,属性值)这样的二元组。正式去做实验之前还要 ...
Math Modeling Competition
封面是我用Diffusion Model生成的 Fly me to the moon~
今天上午看数模群里突然就多了二十条消息,我想可能是成绩出来了,一看还真是,目前是推选国一,算是很好的成绩了,本来也不想开个博客记录的,但是结果确实很好hh,就来浅浅谈一谈数模比赛吧 :)
这个是当时我室友去答辩的时候,有点急说实话,就有种我们是不是省奖寄了的反应,后来听队友解释以后才知道啥情况🤗
数模我们是准备了大概一个半月左右,就是暑假吧,但是窝工这搞CPU其实到了七八月才放假的。六七月份我在弄nlp,然后暑假也是玩的比较多,综合来看时间也不是花的特别多,甚至我感觉到了学校学习的那十几天比之前搞的进度还多hhh。
下面是我的数模仓库,等到正式发奖我会设置成Public,现在你们还是看不到的~
数模这玩意相比ML和NLP说实话有挺大区别的,ML和NLP针对的部分放在数模里也就只是个组成部分,但是数模一般不会搞的像ML那么深,也就是说你ML很牛,数模不见得能做的很好,因为数模涉及到数据处理和分析的部分,随便套几个模型多试试就好了,也没啥理论推导和特别多的特征工程,大家基本都差不多。数模搞的 ...
2022-8-10
dc9fcc9c819d5a4f43fe8e7daa086cf61d64277f53779768f95dc77b0be8b39c105c36c28322a40f87bfe34ec821ccecc219cb76a9025884217b0a0b8e279771b769e25a971178ef2a5d16899edf242680612c2755385a04067006ecee72b0fa0fff1fd9ba04063a2c9c1978181574b2c6bcaf664b9d85736ee7ecf85607fa874deaed5179630046de71072342c4779fb25c0e609f7f2baabd82d484424e9b8fa90336d862330641b27870f7ab24059ba4cfdebc408d7e6e39ff1f785a38fbd6b215190e5c4d58cbf1e0e81e044d342fe810205c95e60d01fa3f8dde985cef33bf1344240d2cd9b8779ddff7919fe30450747835a45f6da8b ...
数值分析
上学期的笔记,图片很多没上传,有时间来弄
误差
固有误差:
从实际问题抽象出的数学模型----模型误差
通过测量得到模型中参数的值----观测误差
计算误差:(设计数值算法所需要关注的)
求近似解----方法误差(截断误差)
机器字长有限----舍入误差
绝对误差:(依赖量纲)
,其中为精确值,为的近似值。
表征测量值和精确值之间的差异的上限记为,称为绝对误差限。
工程上常记为
相对误差:(不依赖量纲)
,但是通常未知,估计,的相对误差上限定义为
这样代换是合理的,${e^\over x} {e^\over x^*}$反映的是同一数量级上的误差。
有效数字:
有效数字是用绝对误差界定义的,若的某一近似值的绝对误差界是某一位的半个单位(四舍五入规则),则从这一位起直到左边第一个非零数字为止的所有数字都称为的有效数字。
这部分说人话就是这样的,真实数据按照四舍五入原则取得的小数就直接按照朴素的有效数字定义来看即可,比如,然后,正常按照四舍五入截取,然后这个有效数字的位数就是5位了,如果说不是按照四舍五入的原则,比如这里取的话,有效数字的计算按照如下进行
则称为位有效数字,精 ...