Data Science / NLP / LLM Applications

RichardF 的技术作品集与学习实验室

大四学生,正在系统整理 Python 工程、数据科学、机器学习、NLP/LLM 应用、 数学笔记和项目复盘。这里既是学习档案,也是逐步成型的技术作品集。

NLP / LLM ApplicationsData Science / Big DataPython / C++ / PyTorch
Current TrackLearning in Public

把课程项目、技术笔记和实验记录整理成长期可回看的作品体系。

16 posts6 projects4 tracks
NLP Portfolio Project

Stock Market Sentiment Classification

从传统机器学习 baseline 到 DistilBERT + LoRA,再到 XGBoost hybrid 的完整情感分类项目。

DistilBERT / LoRA / XGBoost / Macro F1
01Programming Core

Python、C++、算法题、项目结构和可复现脚本。

02Math for ML

线性代数、SVD、张量分解、优化和模型背后的数学。

03Data Systems

Pandas、Dask、Spark、特征工程和大数据分析。

04Portfolio Output

把项目文章、GitHub、实验结果整理成可面试讲述的作品。

Recent Posts

AMA4680 统计机器学习教程:从正则化、核方法、分类器到聚类与 MDP

这篇文章根据 AMA4680 Statistical Machine Learning 的讲义和 tutorial 资料整理。它适合作为一篇经典机器学习入门到进阶的路线图:先从线性代数与回归复习开始,然后进入 ridge / lasso / kernel methods,再到分类问题中的 decision tree、Naive Bayes、SVM、logistic regression、ANN,最后补上无监督学习的 clustering 和强化学习基础 MDP。

如果 AMA3602 更像“怎样把一个线性模型建扎实”,那么 AMA4680 更像“怎样理解经典机器学习算法家族”。这门课的价值不只是会背算法公式,而是建立一个清晰框架:什么是监督学习,为什么需要正则化,核方法在做什么,分类器如何定义边界,无监督学习如何发现结构,MDP 如何把机器学习从预测推进到决策。

阅读更多

AMA3602 应用线性模型教程:从简单回归、多元回归到模型诊断、变量选择与混合效应模型

这篇文章根据 AMA3602 Applied Linear Models 的讲义、tutorial、summary note 和 Boston Housing 项目资料整理。它不是考试提纲,而是一篇面向“真的会用回归建模”的教程:先把简单线性回归和多元线性回归讲清楚,再进入残差诊断、变量选择、多重共线性、ridge regression,最后接到随机效应模型和一个 Boston Housing 房价建模案例。

如果把机器学习理解成“用数据拟合一个可泛化的函数”,那么线性模型就是最值得先学扎实的一类模型。它简单,但不幼稚;它的假设透明,诊断方法成熟,而且很多复杂模型的思想都可以在这里找到原型。

阅读更多

Python 从入门语法到算法实习工程化:基础、数据结构、脚本、日志与项目模板

这篇文章是给“想投算法实习”的 Python 学习路线。它从最基础的语法开始,但目标不是停在 ifforlist 这些知识点,而是一路接到真实项目里会用到的工程能力:函数拆分、模块组织、文件读写、异常处理、日志、命令行参数、配置文件、实验记录和可复现脚本。

算法实习里的 Python 通常有两种用法:一种是写算法题,要求代码清楚、边界严谨;另一种是写项目和实验脚本,要求数据能读、模型能跑、参数能改、日志能查、结果能复现。这篇文章会把两条线接起来。

阅读更多

Python 计算思维入门到实用:函数、循环、条件、排序、矩阵、图与最短路

这篇笔记根据 COMP1010 / COMP1002 计算思维与问题求解资料整理。它和普通 Python 语法教程不太一样:重点不是“Python 有哪些语法”,而是“拿到一个问题之后,怎样把它拆成可以执行的步骤,再用 Python 写出来”。

如果你以后想继续学数据分析、机器学习、搜索推荐、NLP 或 AI infra,Python 的价值不只是写脚本,更重要的是训练一种能力:把模糊问题变成输入、输出、数据结构和算法流程。

阅读更多

C++ 程序设计入门到实用:语法、函数、数组、算法、类与指针

这篇笔记根据 AMA2222 Principles of Programming 的课件整理,目标不是把 C++ 语法逐条背下来,而是建立一条能真正写程序的路线:先理解输入、输出和变量,再用条件与循环控制程序流程,然后用函数拆分问题,用数组和字符串保存数据,用搜索、排序、递归训练算法思维,最后进入类、继承、运算符重载、指针和动态内存。

如果你是从 Python 转到 C++,最重要的差异是:C++ 更强调类型、内存、编译和程序结构。Python 里很多事情解释器帮你处理了,C++ 会要求你明确地告诉电脑变量是什么类型、数组有多大、函数返回什么、对象如何初始化,以及什么时候申请或释放内存。

阅读更多

DSAI4205 动手教程:用 Pandas、Dask、Spark RDD 与 SparkSQL 完成大数据分析入门

上一篇 DSAI4205 笔记偏“全景导览”,解释了大数据分析的系统主线。这一篇换成动手教程:根据 Tutorial 1-4、solution PDF 和配套数据,把 Pandas、Dask、Spark RDD、SparkSQL 串成一条从单机数据分析到分布式数据处理的实践路线。

读完这篇,目标不是记住所有 API,而是建立一个非常重要的迁移关系:

Pandas DataFrameDask DataFrameSpark RDDSpark DataFrame / SparkSQL\text{Pandas DataFrame} \rightarrow \text{Dask DataFrame} \rightarrow \text{Spark RDD} \rightarrow \text{Spark DataFrame / SparkSQL}

阅读更多

DSAI4205 Big Data Analytics 全景导览:从分布式系统到 NLP、图分析与推荐系统

这篇文章根据 DSAI4205 Big Data Analytics 的 Lecture 1-10 和复习材料整理。目标不是把课件逐页翻译一遍,而是把这门课真正要训练的思维串起来:当数据大到单机放不下、处理不过来、结构又越来越复杂时,我们应该如何存储、计算、分析和建模。

如果只背术语,很容易把这门课学成一堆零散概念:HDFS、Dask、Spark、Hive、NLP、PageRank、NoSQL、推荐系统。更好的理解方式是把它们看成同一个问题的不同层次:

Data ScaleDistributed StorageParallel ComputingStructured / Unstructured AnalyticsGraph and Recommendation\text{Data Scale} \rightarrow \text{Distributed Storage} \rightarrow \text{Parallel Computing} \rightarrow \text{Structured / Unstructured Analytics} \rightarrow \text{Graph and Recommendation}

阅读更多

最优化核心概念导览:Convexity、Duality、KKT 与数值优化

最优化是机器学习、数据挖掘、运筹、控制和 AI infra 里都会反复出现的一条主线。训练模型是在最小化 loss,推荐系统是在优化排序目标,推理系统是在优化吞吐和延迟;即使问题表面很不一样,背后经常都可以抽象成“目标函数 + 约束 + 求解算法”。

这篇文章根据 AMA4850 的复习材料整理,但这里不按考试提纲写,而是把它改写成一篇最优化知识导览:从凸性出发,接到对偶理论、KKT 最优性条件,再到梯度下降、拟牛顿法、罚函数和 barrier method。原 PDF 保留在这里,方便对照完整材料。

阅读更多