关于学习机器学习
都到了2026年了,作为程序员的我终于也按耐不住要开始折腾新的AI了。但是日常的琐事和工作让我不可能跟一个在校生一样脱产从头到尾学习AI。
最近在学习机器学习,很多人可能看到这个觉得就要学习数学,其实这对于我这种数学白痴来说,这是一个认知的误区。
因为,现在AI社会你想仔细深入学点什么难的,只要问AI就行了(更何况AI其实一直在进步,1年前的答案跟现在比都落后,更何况1年后问呢)
所以 ⬇️
AI时代对于只会浅尝辄止的三分钟热度选手是很友好的!
1. 学习素材
主要就是B站的各种中文视频+Udemy的各种课。
Q:需要学数学吗?
长远需要,暂时不需要。反正第一遍学习是不需要研究的。因为你的主要应该是深度学习+AI各种应用层知识,而不是数学。反正你在牛能牛过那些996研究数学模型的人吗?
Q:要不要读论文?
完全没必要,因为你也不是研究者,就是懂点皮毛能给人吹水就行。
Q:中文和英文哪个好?
我个人觉得初学者还是中文导入,查漏补缺用英文好。
2. 学习顺序
个人学习到了线性回归之后,感觉ML到学习顺序应该是这样的。
- 学习术语概念(总之就是知道feature/label/sample...拟合,泛化等等是啥意思
- 学习建模流程(总之就是知道预处理,建模等等这些。
- 学习具体算法(这部分你就要知道每个算法是为了解决什么问题的,是干什么的就行。
其实上面这三个学习可以相辅相成,你通过建模流程能知道术语的概念,具体算法的建立过程需要建模流程。
初学者不需要的
- 深究数学原理(用到再说
- 深究代码debug(AI都能做
3. 术语概念
机器学习的本质自我感觉就是
y = f(x)机器学习里写成label = model(features)
概念表格
这里概念的目标不是那种倒背如流,而是需要的时候你知道在说什么,能把AI问到点子上。
- 知道原本的最原始的概念英文描述。
- 生活中随便你可以立刻举例子。
| 术语 | 核心例子 / 直观理解 |
|---|---|
| 数据集(dataset) | 一整个表格就是数据集。比如你要预测房价,Excel 里 1 万行房屋数据就是 dataset。 |
| 样本(sample) | 数据集里的一行就是一个 sample。比如『这套房子:80平、2室、地铁旁、总价500万』就是一个样本。 |
| 特征(feature) | 用来描述样本的信息。比如房屋面积、楼层、地段、建造年份。它们是输入(input)。 |
| 标签(label / target) | 你想让模型学会预测的答案。房价预测里,房价就是 label。分类任务里,『是不是垃圾邮件』就是 label。 |
| 输入(input, X) | 把特征合在一起就是输入 X。比如 [面积, 房龄, 地段评分]。 |
| 输出(output, y) | 模型最终要输出的结果。训练时通常和 label 对应。 |
| 训练集(training set) | 用来教模型的那部分数据。模型在这里『学习规律』。 |
| 测试集(test set) | 用来检查模型学得怎么样的数据。不能拿来训练,只能考试。 |
| 验证集(validation set) | 用来调参(tuning)的中间检查集。训练时看它来决定模型该怎么改。 |
| 划分数据(train/test split) | 把原始数据分成训练集和测试集。比如 8:2。 |
| 模型(model) | 一个从输入 X 到输出 y 的函数。你可以把它理解成『一个会根据规则做判断的机器』。 |
| 算法(algorithm) | 让模型学会参数的方法。比如梯度下降(Gradient Descent)是训练算法。 |
| 参数(parameter) | 模型真正学到的东西。线性回归里的 w 和 b 就是参数。 |
| 权重(weight) | 参数的一种。表示某个特征对结果影响多大。比如面积对房价权重大。 |
| 偏置(bias/intercept) | 参数的一种。即使输入全是 0,模型也可能给出一个基础输出值。线性回归里的 b。 |
| 拟合(fit / train) | 用训练数据去调整参数,让模型尽量学会正确规律。就是『训练模型』。 |
| 学习(learning) | 本质上就是不断调整参数,让预测更接近真实答案。 |
| 预测(predict / inference) | 模型学完后,拿新数据输入,输出结果。比如输入一套房的信息,预测价格。 |
| 真实值(ground truth) | 数据里真正的标准答案。比如真实房价。 |
| 误差(error) | 单个样本上,预测值和真实值之间的差。 |
| 损失函数(loss function) | 用一个公式衡量『模型错得有多严重』。比如均方误差(MSE)。 |
| 目标函数(objective function) | 训练时真正要优化的整体函数。通常是损失 + 正则化(regularization)。 |
| 最优化(optimization) | 想办法把损失变小,让模型更准。 |
| 梯度下降(Gradient Descent) | 一种最常见的优化方法。就像下山,沿着最陡的方向往下走。 |
| 学习率(learning rate) | 每一步参数改多少。太大容易乱跳,太小学得太慢。 |
| 迭代(iteration) | 参数更新一次,叫一次 iteration。 |
| 轮次(epoch) | 整个训练集被完整看一遍,叫一个 epoch。 |
| 批量(batch) | 一次拿多少样本来更新参数。比如 batch size=32。 |
| 批大小(batch size) | 每次训练喂给模型的样本数。 |
| 欠拟合(underfitting) | 模型太弱,连训练集都学不好。像只会画一条太简单的线。 |
| 过拟合(overfitting) | 模型把训练集背下来了,但遇到新数据表现差。像死记题库但不会举一反三。 |
| 泛化(generalization) | 模型对新数据仍然表现好,这才叫真正学会。 |
| 评估(evaluation) | 用指标检查模型效果。比如准确率、MSE、F1。 |
| 指标(metric) | 专门量化模型表现的标准。回归常见 MSE/RMSE/MAE,分类常见 Accuracy/Precision/Recall/F1。 |
| 基线模型(baseline) | 最简单的参考模型。先有个及格线,再考虑更复杂模型。 |
| 特征工程(feature engineering) | 处理、构造、筛选特征,让模型更好学。比如把『出生年份』变成『年龄』。 |
| 数据预处理(preprocessing) | 对数据做清洗和整理。比如补缺失值、标准化、编码类别变量。 |
| 缺失值(missing value) | 某些数据没填。比如某套房没有建造年份。 |
| 异常值(outlier) | 特别离谱的数据。比如 20 平房子价格写成 2 亿。 |
| 标准化(standardization) | 把特征拉到均值 0、方差 1 附近,便于很多模型训练。 |
| 归一化(normalization) | 把数值缩放到固定范围,比如 0 到 1。 |
| 类别编码(encoding) | 把文字类别变成模型能读的数字。比如『红/蓝/绿』变成 one-hot。 |
| One-Hot编码(One-Hot Encoding) | 类别变量展开成多个 0/1 列。比如颜色=红 → [1,0,0]。 |
| 数值特征(numerical feature) | 可直接用数字表示的特征。比如年龄、工资、面积。 |
| 类别特征(categorical feature) | 表示类别而不是大小。比如性别、城市、职业。 |
| 连续变量(continuous variable) | 可以取连续值。比如身高 170.5 cm。 |
| 离散变量(discrete variable) | 取值是一个个离散点。比如孩子数量 0/1/2。 |
| 回归(regression) | 预测连续数值。比如房价、温度、销量。 |
| 分类(classification) | 预测类别。比如猫/狗、好邮件/垃圾邮件。 |
| 二分类(binary classification) | 只有两类。比如 0/1,是否违约。 |
| 多分类(multiclass classification) | 多个类别中选一个。比如 手写数字 0~9。 |
| 多标签(multilabel classification) | 一个样本可同时属于多个标签。比如一篇文章同时属于『科技』和『商业』。 |
| 监督学习(supervised learning) | 有特征,也有标签。最常见的 ML 任务。 |
| 无监督学习(unsupervised learning) | 只有特征,没有标签。比如聚类(clustering)。 |
| 半监督学习(semi-supervised learning) | 少量有标签,大量无标签。 |
| 强化学习(reinforcement learning) | 通过奖励(reward)学习策略,不是普通表格预测那一套。 |
| 线性回归(Linear Regression) | 用一条直线或超平面去拟合数值预测问题。 |
| 逻辑回归(Logistic Regression) | 名字叫回归,其实常用于分类,输出概率。 |
| 决策树(Decision Tree) | 像做选择题一样一步步分裂数据。 |
| 随机森林(Random Forest) | 很多决策树一起投票。 |
| 支持向量机(SVM, Support Vector Machine) | 找一个分界面把类别尽量分开。 |
| K近邻(KNN, K-Nearest Neighbors) | 看离你最近的 K 个样本是什么,就猜你是什么。 |
| 神经网络(Neural Network) | 多层函数叠起来,表达能力很强。 |
| 概率(probability) | 分类模型常输出概率,比如『是垃圾邮件的概率 0.92』。 |
| 阈值(threshold) | 概率超过某个值就判成正类。比如 >0.5 判为 1。 |
| 残差(residual) | 回归里,真实值 - 预测值。 |
| 决策边界(decision boundary) | 分类模型在特征空间里画出的分界线/面。 |
| 训练误差(training error) | 在训练集上的错误。 |
| 测试误差(test error) | 在测试集上的错误,更能反映泛化能力。 |
| 部署(deployment) | 把训练好的模型真正放到系统里给别人用。 |
| 推理(inference) | 已训练模型实际做预测的过程。 |
继续
| 术语 | 核心例子 / 直观理解 |
|---|---|
| 线性关系(linear relationship) | 一个特征增加一点,输出大致按固定比例变化。像『面积越大,房价越高』。 |
| 非线性(nonlinear) | 输入和输出关系不是一条直线能表达的。比如年龄和收入关系可能先升后平。 |
| 方程(equation) | 线性回归本质就是一个方程:y = wx + b。 |
| 自变量(independent variable) | 也就是输入特征 X。 |
| 因变量(dependent variable) | 也就是输出 y,跟着输入变化。 |
| 假设函数(hypothesis function) | 模型写成公式后的样子。比如 h(x)=wx+b。 |
| 均方误差(MSE, Mean Squared Error) | 误差平方后求平均。错得越大,罚得越重。 |
| 均方根误差(RMSE, Root Mean Squared Error) | MSE 再开根号,单位和原始标签一致,更直观。 |
| 平均绝对误差(MAE, Mean Absolute Error) | 看平均差多少,不像 MSE 那样特别重罚大错。 |
| 准确率(Accuracy) | 分类里,预测对了的比例。 |
| 精确率(Precision) | 预测成正类的里面,有多少真的对。适合『宁可少抓,也别抓错太多』。 |
| 召回率(Recall) | 所有真正的正类里,你抓到了多少。适合『别漏掉』。 |
| F1分数(F1-score) | Precision 和 Recall 的平衡指标。 |
| 混淆矩阵(confusion matrix) | 分类结果的详细对错表。看 TP/FP/FN/TN。 |
| 真正例(TP, True Positive) | 该是正类,模型也判成正类。 |
| 假正例(FP, False Positive) | 实际不是正类,模型却判成正类。 |
| 真负例(TN, True Negative) | 实际不是正类,模型也判成负类。 |
| 假负例(FN, False Negative) | 实际是正类,模型却没识别出来。 |
| 概率输出(predicted probability) | 模型不是直接给 0/1,而是先给一个概率。 |
| Sigmoid函数 | 把任意实数压到 0 到 1 之间,逻辑回归常用。 |
| 交叉熵损失(cross-entropy loss) | 分类问题常用的损失函数,特别适合概率输出。 |
| 决定系数(R², R-squared) | 回归里衡量模型解释了多少波动。越接近 1 一般越好。 |
| 正则化(regularization) | 给复杂模型加限制,防止过拟合。 |
| L1正则化(L1 regularization) | 倾向把一些权重压到 0,可做特征选择。 |
| L2正则化(L2 regularization) | 倾向让权重整体变小,更平滑稳定。 |
| 惩罚项(penalty) | 加在目标函数里的『复杂度罚款』。 |
| 超参数(hyperparameter) | 训练前人为设定的参数,不是模型自己学出来的。比如学习率、树深度、K值。 |
| 调参(hyperparameter tuning) | 试不同超参数组合,找更好的效果。 |
| 网格搜索(grid search) | 把多个参数值列出来一组组试。 |
| 交叉验证(cross validation) | 把数据轮流分成多份做训练和验证,结果更稳。 |
| K折交叉验证(K-fold cross validation) | 最经典的交叉验证。把数据分 K 份,轮流拿一份验证。 |
| 数据泄漏(data leakage) | 训练时偷看了不该看的测试信息,导致成绩虚高。 |
| 类别不平衡(class imbalance) | 正负样本数量差很多。比如诈骗样本只占 1%。 |
| 偏差(bias) | 模型过于简单导致系统性误差大。 |
| 方差(variance) | 模型对训练数据过于敏感,换数据就波动大。 |
| 偏差-方差权衡(bias-variance tradeoff) | 模型不能一味复杂或一味简单,要找平衡。 |
| 可解释性(interpretability) | 能不能说清楚模型为什么这么预测。线性回归和树通常更好解释。 |
| 黑盒模型(black-box model) | 很准,但不太容易解释。深度学习常被这样说。 |
| 特征选择(feature selection) | 从很多特征里挑更有用的。 |
| 降维(dimensionality reduction) | 把很多维特征压缩成更少维度。 |
| 维度(dimension) | 一个特征就可以理解成一个维度。10 个特征就是 10 维。 |
| 维度灾难(curse of dimensionality) | 维度太高后,很多算法会变难学、距离变得不可靠。 |
| 主成分分析(PCA, Principal Component Analysis) | 常见降维方法,把高维数据压成少量主方向。 |
| 聚类(clustering) | 无监督学习任务,把相似样本自动分组。 |
| K-Means | 最经典聚类算法,围绕 K 个中心分组。 |
| 异常检测(anomaly detection) | 找出和大多数数据不一样的点。比如欺诈检测。 |
| 噪声(noise) | 数据里随机扰动或脏信息,不代表真实规律。 |
| 信号(signal) | 数据里真正有用的规律。机器学习就是尽量抓 signal,忽略 noise。 |
| 随机种子(random seed) | 固定随机过程,便于复现实验结果。 |
| 复现(reproducibility) | 别人或未来的你再跑一次,结果还能基本一致。 |
4. 建模流程(还没写)
待定在这里开始写
5. 具体算法(还没写)
待定在这里开始写