从抵触AI到真香,我是怎么把机器学习基础啃下来的

半个架构师
2026-11-05 23:49
阅读 3100

说句实话,一年前我还在团队里吐槽“AI写的代码能用吗”。现在每天早上8点泡好咖啡坐到工位,第一件事就是打开Mistral的API文档,把昨天没调通的模型再跑一遍。这个转变不是被领导逼的,是我自己想跳槽,翻了一圈招聘JD发现不会点机器学习都不好意思投简历。

最近边工作边刷题,把机器学习的基础概念重新捋了一遍,发现这玩意儿入门没那么玄乎,关键是要把概念落到具体场景里理解。写下来给自己做个沉淀,也给同样在门口徘徊的朋友一点参考。

为什么入门容易卡住

我刚开始学的时候,最大的障碍不是数学,是概念太抽象。什么“梯度下降”“损失函数”“过拟合”,每个字都认识,连在一起就不知道在说啥。后来想明白了,这些概念背后都有非常具体的问题要解决,脱离了问题去背定义,当然记不住。

拿我自己最近在做的练手项目来说:给公司内部一个工单系统做自动分类。每天客服会收到几百条工单,有报修网络、申请权限、咨询报销……之前靠人工一条条打标签,效率低还容易分错。我就想训练一个模型,输入工单文本,输出它属于哪一类。

这个场景一下子就把很多概念串起来了。

几个核心概念的落地理解

特征和标签

工单文本就是特征,工单类别就是标签。比如“我的VPN连不上,显示超时”这条工单,特征是文本内容,标签是“网络故障”。模型要学的是从特征到标签的映射关系。

训练集和测试集

我把历史工单数据拿出来,80%用来训练模型,20%留出来测试。为什么要分?因为模型在训练集上表现好不代表在新数据上表现好。就像刷题,你把题库背熟了模拟考满分,真上考场遇到新题就露馅了。留出测试集就是模拟“真上考场”。

损失函数

模型输出的预测类别和真实类别有差距,这个差距怎么量化?损失函数就是干这个的。交叉熵损失是分类任务里最常用的,公式不贴了,网上到处都是。你只需要知道:损失值越大,模型错得越离谱,训练的目标就是把这个值压下去。

梯度下降

怎么压下去?靠调参数。模型内部有一堆参数,每个参数往哪个方向调、调多少,梯度下降给出答案。可以想象成你在山上蒙着眼睛,要走到山谷底部,每次用脚试探一下哪个方向更低,就往哪边挪一步。步长就是学习率,太大容易跳过头,太小又磨叽。

过拟合和欠拟合

我训练第一版模型时,训练集准确率98%,测试集只有72%。这就是过拟合,模型把训练数据里的噪声都记住了,没学到真正的规律。解决办法有加正则化、dropout、早停,还有最有效的——多搞点数据。欠拟合反过来,训练集准确率都上不去,说明模型太简单,得加复杂度。

实际调参的坑

我用的分类器是逻辑回归,简单但有效。后来试了随机森林,效果提升不明显,还慢。这个经验挺重要:别一上来就上深度学习,先用简单模型跑通流程,拿到一个baseline,再考虑复杂模型。

调参过程里有几个坑值得说说:

坑一:文本向量化选错方法

工单文本要先变成数字向量才能喂给模型。我一开始用词袋模型,效果一般。后来换成TF-IDF,准确率涨了5个点。原因是工单里有些高频词比如“请”“帮忙”“谢谢”对分类没帮助,TF-IDF会自动给这些词降权。这个细节很多人忽略,但影响很大。

坑二:类别不平衡

“网络故障”类工单占了60%,“咨询报销”只有8%。模型偷懒,全预测成“网络故障”,准确率也能到60%。这不行。我用SMOTE做了过采样,把少数类样本合成扩充,F1值从0.61提到0.78。评估分类模型别只看准确率,F1值、混淆矩阵都要看。

坑三:数据泄露

有一次我把测试集的数据混进了训练集做预处理,测试准确率虚高到95%,还高兴了半天。后来发现不对,重新做了一遍,真实准确率掉到81%。这个教训很深刻:预处理步骤一定要在划分数据集之后做,而且测试集的预处理参数要从训练集上拟合。

工具选择的一点心得

现在做机器学习入门,工具链比以前友好太多了。我主要用scikit-learn,API设计得很一致,fit和predict走天下。最近也开始用Mistral的API做一些文本增强,比如把工单里的错别字修正、口语化表达规范化,对提升模型效果有帮助。

Hailuo这个工具我用来做数据标注的辅助审查。它可以把模型预测置信度低的样本挑出来,人工只审那些模棱两可的,标注效率高了不少。以前人工一天标200条,现在能标600条,而且质量更稳定。

这两个工具都不是必须的,但确实让我的练手项目推进得更顺。选工具的原则就一条:能帮你把流程跑通、把效率提上去,别为了用而用。

写在最后

从抵触AI到主动学机器学习,这个转变对我来说挺大的。以前觉得这玩意儿离业务开发太远,现在发现哪怕是做后端CRUD,懂一点模型思维也能帮上忙。比如理解为什么推荐系统给你推这个不推那个,为什么风控系统会误杀正常用户。

准备跳槽的朋友,机器学习基础概念面试大概率会问,但问得不深。把上面这几个概念搞懂,再能说清楚一个自己动手做过的项目,基本就够用了。别去啃那些厚厚的教材,动手做一个小项目,概念自然就通了。

早上8点的咖啡已经凉了,今天的模型调参告一段落。继续刷题去了,祝各位跳槽顺利。

评论 0

最热最新
暂无评论
半个架构师Lv.1
0
影响力
0
文章
0
粉丝
聊天室