Kaggle竞赛入门讲义


Kaggle竞赛入门讲义

课程安排

以数据科学为主,具体是以下三部分:

  • 数据挖掘流程
  • 常用的机器学习算法
  • 实战任务
    • 结构化数据
    • 视觉数据
    • 文本数据

目标

  1. 入门数据挖掘并结合实际实际场景进行实践
  2. 基本机器学习算法
  3. 掌握深度学习的基础和应用场景
  4. 学习计算机视觉常见的任务
  5. 学习自然语言处理的任务

学习时

SMART原则

S = Specific, M = Measurable, A = Attainable, R = Relevant, T = Time-bound
目标时具体、可度量、可实现、相关的、有时间限制的

SQ3R学习法

Survey, Question, Read, Recite, Revive
浏览、提问、阅读、复述和回顾

第一章:数据科学必知

讲解数据科学的内容,以及数据科学、数据挖掘、机器学习和深度学习之间的关系,最后讲解学习数据科学的路线和学习方法

1.1 什么是数据科学

数据科学包含数据挖掘算法和机器学习算法,工作流程时数据挖掘的流程,背后使用到的算法和优化方法来自机器学习

1.2 如何学习数据科学

  1. 数据挖掘的定义:核心是找到变量之间的关系
  2. 数据挖掘的流程:数据分析、数据预处理、特征工程、构建模型、模型验证与部署,各个步骤不是单独存在的,步骤之间可以反复
  3. 数据挖掘实践方法:数据挖掘是以数据为研究对象的任务,在实践中最为重要的是对数据的理解

1.3 数据竞赛平台

  • Kaggle:全球最大的比赛平台
  • DrivenData:以图像和视频为主
  • Colalab,CrowdAI:大型学术类型比赛
  • 天池:中文竞赛平台
  • 点石、JData:百度、京东旗下竞赛平台
  • DataCastle:电科背景
  • DataFountain:ccf背景
  • 科赛:国内较为完善的平台

1.4 竞赛相关类型:

  • 按照赛题任务:
    • 分类问题:标签是类别,任务是分类,例如是否违法、图像分类
    • 回归赛题:标签是数值,任务是回归问题,例如预测用户的贷款金额
    • 时序问题:标签与时间相关,例如商铺销量预测
  • 按照数据类型:
    • 结构化数据:数据以表格形式进行表示,例如表格数据
    • 非结构化数据:例如文本数据或者图像数据

第二章:机器学习基础

注意:每一类机器学习算法都包含很多实现细节,在具体的事件过程中,不只是算法细节,还要更加关注整个流程

2.1 模型评价方法

机器学习任务可分为:
分类、回归和排序,侧重点不同,可用不同的评价函数进行度量。对于有监督任务、误差可通过样本标签与模型预测的标签进行对比;对于无监督任务则需要具体的任务定义具体指标
混淆矩阵:针对二元分类问题,将实例分为正类和负类,出现以下四种情况:

  • 实例本身为正类,被预测为正类,及真正类 TP
  • 同理 正,被负,假负类 FN
  • 负,被正,假正类 FP
  • 负,负,真负类 TN
    因此:
  1. 准确率:
    Accuracy = (TP + TN ) / (TP + FN + FP + TN),准确率在类别嫉妒不平衡问题上,作为评级指标不是十分合适,例如在1000个样本中,990正例,10负例,分类预测准确率为90%,而全将样本作为正例有99%的准确率
  2. 查准率:Precision = tp / (tp + fp)
    召回率:Recall = tp / (tp + fn)
  3. F1值:同时考虑了准确率(Precision)和召回率(Recall):
    F1 = 2 × (Precision+Recall ) / (Precision×Recall)
  4. ROC和AUC
  5. MAP:平均正确率,是每个类别准确率的平均结果

2.2 偏差与方差

学习算法的预测误差或者说泛化误差可以分解成三部分:偏差(Bias)、方差(Variance)、噪声(Noise), 估计算法性能的过程中主要关注前两个,噪声是不可约减的误差

2.3 线性模型

  • f(x) = wTx+b
  • 优点:解释性强,模型的参数可以表示特征的重要性,其次线性转换为非线性只需要引入高纬空间即可,线性模型非常适合分布式训练
  • 常见模型包括:线性回归和逻辑回归

2.4 树模型

  • 也就是决策树,一个决策树包含一个根节点,若干个内部节点和叶子节点,每个叶子阶段对应决策结果,非叶子节点对应一个决策情况
  • 由于每次只使用单个属性进行决策,因此决策树对量纲不敏感,同时对缺失值比较友好,可以将其视为一个特殊的取值

2.5 KNN模型

KNN(近邻)算法:

  • 与逻辑回归的区别
    两者均用于分类问题,可通过准确性、混淆矩阵、F统计量等评估;
    • 逻辑回归:关注样本的全局分布
    • KNN:只关注样本的局部分布
    • 特点
      • 优点:直观易懂;基于局部分布,无需估算整体
      • 缺点:局部估算可能不符合全局分布;无法计算概率;对k值敏感

2.6 神经网络

第三章 深度学习

  • 深度学习是机器学习的分支,是以人工神经网络为架构,对数据进行表征学习的算法,而深度学习的本事是多层的神经网络,深度学习模型的学习能力是分布式表示的,并利用了分层抽象的思路。
  • 神经网络的隐含层越多、模型参数越多,模型拟合能力越强,训练难度也会增加,而减少模型参数的方法有两种:逐层训练和权重共享。

3.1 卷积神经网络(CNN)

一般由卷积层、激活函数、池化层、全连接层组成:

1. 卷积层:提取局部特征的”侦探”

  • 图片的识别过程:
    1. 特征提取
    2. 提取主要特征
    3. 特征汇总
    4. 产生分类器进行预测识别
  • 作用:像用放大镜在图片上滑动,捕捉局部关键特征(如边缘、颜色块、纹理)。
  • 原理:通过”卷积核”(类似小滤镜)与图像像素做运算,每个卷积核专注一种特征(比如有的找水平线条,有的找红色区域)。
  • 优势:卷积核在整张图片上重复使用(参数共享),避免了传统网络参数爆炸的问题。例如识别100x100的图片,一个3x3的卷积核只需9个参数,而全连接网络需要10000个。

2. 池化层:精简信息的”压缩器”

  • 作用:对卷积层输出的特征图”瘦身”,保留关键信息,去掉冗余。
  • 常见操作:最大池化(从2x2的区域里保留最大的值,相当于”抓重点”),平均池化(取平均值)。
  • 好处:减少数据量,加快计算;同时让模型对图片的轻微变形(如平移、缩放)不敏感,更鲁棒。

3. ReLU层:激活有效特征的”开关”

  • 作用:给特征”激活能量”,让有用的特征更突出,无用的被抑制。
  • 原理:简单粗暴地把负数变成0,正数保持不变(类似”不行就淘汰,行就放大”)。
  • 为什么需要:引入非线性,让网络能学习复杂的特征组合(比如”线条+颜色=眼睛”),否则多层网络和单层网络效果一样。

4. 全连接层:最终决策的”法官”

  • 作用:把前面提取的所有特征(如边缘、纹理、局部结构)汇总,做出最终判断(如”这是猫”还是”这是狗”)。
  • 原理:类似传统神经网络,每个神经元连接前层所有特征,通过计算输出分类概率(比如90%概率是猫)。

为什么CNN比其他网络更适合图像任务?

拿最常见的全连接神经网络对比:

  • 参数效率:全连接网络中,每个像素和所有神经元相连,参数多到难以计算(比如1张200x200的图片,第一层1000个神经元就需要4000万个参数);而CNN通过参数共享,参数数量可能只有几千个。
  • 空间感知能力:全连接网络把图像拆成一维向量,丢失了像素的位置关系(比如”猫的眼睛在鼻子上方”这种关键信息);CNN通过局部卷积,天然保留空间关联性。
  • 抗干扰能力:全连接网络对图片的微小变化(如轻微旋转)很敏感;CNN的池化层能”忽略细节,抓住本质”,稳定性更强。
  • 简单说:CNN就像为图像识别量身定做的工具——用更少的资源,更精准地抓住图像的核心特征,这就是它在图片分类、人脸识别、自动驾驶等领域成为”首选”的原因。

循环神经网络(RNN)

是一类具有短期记忆能力的神经网络,神经元不但可以接受其他神经元的信息,也可以接受自身的信息,形成具有环路的网络结构


文章作者: Xxx
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Xxx !
  目录