嘿,
我是一名网页开发者,使用React、TypeScript、Tailwind以及现代网页工具构建用户界面。几个月前,我决定踏入机器学习领域。
没有先前的机器学习背景。只是出于好奇心和基本的Python知识。我开始学习Andrew Ng的机器学习专项课程,并制定了自己的学习计划。这是最初30天的情况——我理解的概念、犯的错误以及最让我惊讶的事情。
第一周:构建数学基础
我从先修课程开始,因为它们是必不可少的:
- 线性代数(向量、矩阵、特征值)
- 微积分(导数、偏导数、梯度)
- 概率&统计
概念:为什么梯度很重要
梯度下降是几乎所有现代机器学习背后的引擎.
想象一下,你在黑暗中试图到达山谷的底部。梯度告诉你斜坡的方向和陡峭程度。你向下走一小步.
(w = w - learning_rate * gradient)
重复直到达到最小值.
这个简单想法驱动着神经网络、线性回归等,
第2-3周:监督学习(真正的乐趣开始)
我深入研究了回归和分类:
- 线性&多元线性回归
- 逻辑回归用于分类
- 成本函数,梯度下降,正则化,特征缩放,softmax
我在Colab上构建了小型项目:
- 房价预测器(线性回归)
- 垃圾邮件分类器(逻辑回归)
概念:正则化
正则化就像给你的模型加上护栏。没有它,模型会记住训练数据中的噪声(过拟合)。使用L2正则化,我们会惩罚大的权重,帮助模型更好地泛化。
第4-5周:神经网络&树集成
这很令人兴奋:
- 我在TensorFlow中构建了我的第一个神经网络(前向传播+反向传播)
- 学习了决策树、随机森林和XGBoost
概念:反向传播
前向传播做出预测。
反向传播确定了为什么 预测是错误的,并使用链式法则相应地更新每个权重。这就像通过一系列 React 组件追踪一个错误——但针对的是数千个参数。
最让我惊讶的是什么
- 当我看到它在实际模型中使用时,数学终于变得有道理了。
- 建立小型项目 > 被动观看。
- 机器学习与网页开发是强大的组合——我已经能想象将这些模型转化为真实的网页功能了。
接下来呢?
我正在继续计划:
- 更多的神经网络练习
- 完整的迷你项目
- 课程3(无监督学习)
我会在这里分享定期更新——代码、课程和笔记本。如果你也是作为一名网页开发者在学习机器学习,请留言。我也想听听你的学习之旅!













