几周前,一个GitHub仓库里出现了"动手学AI"系列的第一章,主题是回归算法。今天,作者zkzkGamal更新了第二章:分类算法。没有视频,没有营销,只有两个章节、几十页笔记和从零实现的代码。
这个项目的起点很直白——作者受够了"只会调包"的状态。调用model.fit()就能跑通模型,但里面在算什么?损失函数怎么下降的?为什么这个算法在这个数据集上表现更好?这些问题卡住了太多转型中的开发者。
![]()
第二章覆盖了五种核心分类算法。作者没有罗列API文档,而是选择手写实现:逻辑回归、K近邻、朴素贝叶斯、支持向量机、决策树与随机森林。每个算法都配了NumPy原生代码、scikit-learn对比实验,以及XGBoost的集成学习版本。
真正花时间的地方不在"跑通"而在"搞懂"。作者专门拆解了正则化的数学原理,对比了L1和L2稀疏性的差异;把梯度下降画成动态收敛图,直观展示学习率过大和过小的典型失败模式;用混淆矩阵、ROC曲线、AUC、F1-score完整走了一遍评估流程,而不是只打印一个accuracy。
数据全是真实的:UCI机器学习库的经典数据集,从鸢尾花到信用评分,每个案例都附带探索性分析和特征工程决策的注释。代码结构很克制——没有封装过度的类,没有炫技的装饰器,就是干净的函数和清晰的变量名。
这个系列的目标读者很明确:正在从开发转机器学习的工程师、准备面试的求职者、以及想补基础的人。作者自己就是第一类人,所以知道痛点在哪——网上教程要么太浅(调包三步走),要么太深(直接推数学公式,没有代码衔接)。
第一章讲回归时,作者已经实践了这个方法论:先手写梯度下降,再对比scikit-learn的封装实现,最后延伸到XGBoost的优化细节。第二章延续了同样的节奏,但分类问题的评估指标更复杂,多分类策略(OvR、OvO、Softmax)的实现陷阱也更多。
仓库地址很朴素:https://github.com/zkzkGamal/hands-on-ai-tutorial/tree/main/ml_fundamentals/chapter2。没有Star数截图,没有"全网最全"的标题党。作者说反馈随时欢迎,无论是代码bug、解释不清的地方,还是结构建议。
第三章的方向还在犹豫。候选主题有两个:降维(PCA、t-SNE、UMAP)或者高级模型评估与超参数调优。前者是可视化和高维数据处理的刚需,后者是工程落地时的核心技能。作者把决定权交给了读者——在评论区留言投票。
这种"边学边建"的模式在开发者社区并不罕见,但能坚持手写实现、拒绝调包即走的人不多。毕竟,调用一个fit()只需要三行代码,理解它可能需要三十个小时。作者选了更难的路,也把笔记公开给同路人。
如果你也在类似的学习阶段,这个仓库的价值可能不在于"学完",而在于"跟着写一遍"。亲手实现一次softmax的数值稳定性处理,或者SVM的SMO优化,比看十遍推导印象深刻得多。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.