机器学习从入门到精通:一文吃透全部核心概念
一、机器学习到底分几类?监督学习和无监督学习有什么区别?机器学习通常被划分为四大阵营:监督学习、无监督学习、半监督学习和强化学习。这四种方法各有各的使命,咱们一个一个说清楚。1. 监督学习你可以把它想象成“有标准答案的刷题训练”。我们给算法一大堆“题目”(也就是特征数据),并且每一道题都配有正确答案(也就是标签)。算法通过反复对比自己的预测和正确答案之间的差距,不断调整自己的“解题思路”,直到能够准确地预测从未见过的新题目。典型的应用包括:判断一封邮件是不是垃圾邮件(分类问题)、预测明天的气温是多少度(回归问题)。2. 无监督学习这种学习方式没有标准答案。我们只给算法一堆“题目”,不给答案,让它自己去发现这些题目之间有什么内在的联系、结构或者规律。就像把你丢到一个陌生的城市,没有地图,全靠自己逛,然后总结出哪些区域是商业区,哪些是居住区。典型的应用包括:把网上的新闻自动分成几个不同的主题(聚类)、把高维数据压缩成两个维度以便画图(降维)。3. 半监督学习这是上面两种方法的混合体。我们手头只有一小部分数据有标签,大部分数据都没有标签(因为标注数据很贵、很耗时)。算法可以利用那一小部分有标签的数据作为“种子”,再结合大量无标签数据中的结构信息,共同完成学习任务。这在现实中非常常见。4. 强化学习这是一种“试错学习”。算法(也称为智能体)会不断与环境进行互动,做出某个动作后,环境会给出一个奖励或惩罚。算法的目标就是学会一套策略,使得长期累积的奖励最大化。这就像训练一只小狗:做对了给零食,做错了不给,慢慢地它就学会了坐下、握手。强化学习在围棋AI(如AlphaGo)、自动驾驶、游戏智能体中大放异彩。小结一下区别:监督学习依赖“正确答案”进行训练,适合预测和分类;无监督学习没有正确答案,适合发现数据的隐藏结构;半监督学习是两者的折中;强化学习靠奖励信号驱动,适合决策控制类任务。二、特征工程:为什么说“特征决定了模型的上限”?特征工程听起来很专业,其实说白了就是:把原始数据变成模型更容易理解的“语言”。你给模型喂的数据是什么样子,很大程度上决定了模型能学得多好。很多时候,好的特征工程甚至比选择哪个算法更重要。特征工程主要包括四个动作:特征选择、特征转换、特征构造和特征降维。特征选择:就像从一堆食材里挑出最新鲜、最有用的一部分,把那些不新鲜或者作用不大的扔掉。例如,预测房价时,“房间数量”很有用,但“房间门牌号”基本没用,就可以剔除。特征转换:把数据的数值范围调整到一个合适的区间,或者改变分布形态,让模型更容易处理。例如,有的特征取值在千级别,有的在零点儿级别,直接放一起会出问题。特征构造:根据现有特征组合创造出新的特征。例如,有“面积”和“总价”,可以构造出“单价”;有“年”和“月”,可以构造出“季节”。特征降维:当特征数量太多(成百上千维)时,可以用数学方法把它们压缩成少数几个综合特征,同时尽量保留原始信息。这就像把一张高分辨率图片缩略成小图,虽然细节少了,但主要内容还在。三、归一化和标准化有什么区别?图像像素该用哪种?类别特征怎么处理?归一化和标准化是两种最常用的特征转换手段,它们的目标都是“把数据拉到同一个水平线上”,但做法不同。归一化:把原始数据按比例缩放到一个固定的范围,通常是[0, 1]或者[-1, 1]。它的公式很简单:(当前值 – 最小值)÷(最大值 – 最小值)。这样处理后,所有数据都被压缩到了0到1之间。什么时候用归一化?当数据分布有明显的上下边界,而且你不想改变数据的相对大小关系时,例如图像的像素值(天然就在0~255之间),或者文本的词频(0到某个最大值),归一化往往是更好的选择。很多神经网络模型也对输入范围比较敏感,推荐用归一化。标准化:把数据调整为均值为0、标准差为1的标准正态分布形态。它不关心数据的最大值和最小值,而是关心数据平均值离零有多远、数据分散程度如何。标准化后,数据会呈现中间多两头少的钟形曲线。什么时候用标准化?当数据本身没有明确的边界,或者存在异常值(极大或极小)时,标准化通常比归一化更稳健,因为它不受异常值的边界影响