1. 线性回归 监督学习
在画布上点击添加数据点,算法会实时拟合出一条直线 y = wx + b,使所有点到直线的误差(均方误差 MSE)最小。 试试把点排成一条线,或者加一个离群点看看会发生什么。
MSE = (1/n) Σ (yᵢ - ŷᵢ)²
数据点0
斜率 w—
截距 b—
MSE—
💡 这就是最小二乘法:机器学习的"Hello World"。
2. 梯度下降 优化算法
机器如何找到最优解?像蒙眼下山一样:每一步都朝最陡的下坡方向走。 点击"开始"观看小球下降过程,然后调节学习率——太小会走得很慢,太大会来回震荡甚至发散!
θ ← θ − η · ∇J(θ) (η 就是学习率)
学习率 η
起点位置
步数0
当前位置 θ—
损失 J(θ)—
💡 学习率是深度学习中最关键的超参数之一。
3. 欠拟合 vs 过拟合 模型复杂度
数据由一条曲线加噪声生成。拖动滑块调整多项式阶数:阶数太低拟合不足(欠拟合), 太高则会"死记硬背"每个噪声点(过拟合)——训练误差很低,但泛化能力很差。
多项式阶数
训练误差—
状态—
💡 把阶数拉到 15:曲线穿过每个点,但它在"背答案"而不是"学规律"。
4. K 近邻分类 分类算法
背景颜色代表模型的"决策区域"。左键点击添加蓝点,右键点击添加粉点, 整个区域的分类结果会实时更新——新点属于哪个类,取决于离它最近的 K 个邻居投票。
邻居数 K
💡 K=1 时决策边界非常破碎(对噪声敏感);K 越大边界越平滑。
5. 神经网络 深度学习
一个真正的微型神经网络(2→8→8→1,tanh 激活)在你的浏览器里实时训练, 学习把平面分成两类。选择不同的数据分布,点"开始训练",观察决策边界如何一步步演化。
数据分布
训练轮数0
损失—
准确率—
💡 异或问题无法用一条直线分开,但神经网络可以——这就是"深度"的力量。