• 《python深度学习》笔记---4.3、数据预处理、特征工程和特征学习


    《python深度学习》笔记---4.3、数据预处理、特征工程和特征学习

    一、总结

    一句话总结:

    神经网络的数据预处理:向量化、标准化、处理缺失 值和特征提取。
    特征工程:利用你自己关于数据和机器学习算法(这里指神经网络)的知识对数据进行硬编码的变换(不是模型学到的),以改善模型的效果。

    1、神经网络的数据预处理?

    【向量化、标准化、处理缺失值和特征提取】:数据预处理的目的是使原始数据更适于用神经网络处理,包括向量化、标准化、处理缺失 值和特征提取。

    2、模型的超参数(hyperparameter)?

    层数或每层大小:开发模型时总是需要调节模型配置,比如选择层数或每层大小[这叫作模型的超 参数(hyperparameter),以便与模型参数(即权重)区分开]。

    3、数据预处理常见方式?

    数据向量化:浮点数张量:神经网络的所有输入和目标都必须是浮点数张量(在特定情况下可以是整数张量)。无论 处理什么数据(声音、图像还是文本),都必须首先将其转换为张量,这一步叫作数据向量化 (data vectorization)
    值标准化:归一化:在手写数字分类的例子中,开始时图像数据被编码为0~255 范围内的整数,表示灰度值。 将这一数据输入网络之前,你需要将其转换为 float32 格式并除以255,这样就得到0~1 范围内的浮点数。
    处理缺失值:将缺失值设置为0是安全的:一般来说,对于神经网络,将缺失值设置为0 是安全的,只要0 不是一个有意义的值。网 络能够从数据中学到 0 意味着缺失数据,并且会忽略这个值。

    4、数据向量化 ?

    浮点数张量:神经网络的所有输入和目标都必须是浮点数张量(在特定情况下可以是整数张量)。无论 处理什么数据(声音、图像还是文本),都必须首先将其转换为张量,这一步叫作数据向量化 (data vectorization)

    5、值标准化?

    归一化:在手写数字分类的例子中,开始时图像数据被编码为0~255 范围内的整数,表示灰度值。 将这一数据输入网络之前,你需要将其转换为 float32 格式并除以255,这样就得到0~1 范围内的浮点数。

    6、处理缺失值?

    将缺失值设置为0是安全的:一般来说,对于神经网络,将缺失值设置为0 是安全的,只要0 不是一个有意义的值。网 络能够从数据中学到 0 意味着缺失数据,并且会忽略这个值。

    7、特征工程(feature engineering)?

    对数据进行硬编码的变换:是指将数据输入模型之前,利用你自己关于数据和机器学习算法(这里指神经网络)的知识对数据进行硬编码的变换(不是模型学到的),以改善模型的效果。

    8、特征工程 实例(时钟例子)?

    (x, y)坐标:比如你可以编写5 行 Python 脚本,找到时钟指针对应的黑色 像素并输出每个指针尖的 (x, y) 坐标,这很简单。然后,一个简单的机器学习算法就可以学会这 些坐标与时间的对应关系。
    时钟指针的角度theta:进行坐标变换,将 (x, y) 坐标转换为相对于图像中心的极坐标。这样 输入就变成了每个时钟指针的角度 theta。现在的特征使问题变得非常简单,根本不需要机器 学习,因为简单的舍入运算和字典查找就足以给出大致的时间。
    特征工程的本质:用更简单的方式表述问题:从而使问题变得更容易。它通常需要 深入理解问题

    9、特征工程的本质?

    用更简单的方式表述问题:从而使问题变得更容易。它通常需要 深入理解问题

    10、深度学习出现之前,特征工程曾经非常重要?

    没有足够大的假设空间:因为经典的浅层算法没有足够大的假设空间来自己学习有用的表示。
    数据呈现方式至关重要:将数据呈现给算法的方式对解决问题至关重要。
    硬编码特征:例如,卷积神经网络 在 MNIST 数字分类问题上取得成功之前,其解决方法通常是基于硬编码的特征,比如数字图像 中的圆圈个数、图像中每个数字的高度、像素值的直方图等。

    11、对于现代深度学习,为什么大部分特征工程都是不需要的?

    因为神经网络能够从原始 数据中自动提取有用的特征。

    12、这是否意味着,只要使用深度神经网络,就无须担心特征工程呢? 并不是这样,原因有两点?

    更少资源:良好的特征仍然可以让你用更少的资源更优雅地解决问题。例如,使用卷积神经网络来 读取钟面上的时间是非常可笑的
    更少数据:良好的特征可以让你用更少的数据解决问题。深度学习模型自主学习特征的能力依赖于 大量的训练数据。如果只有很少的样本,那么特征的信息价值就变得非常重要。

    二、内容在总结中

    博客对应课程的视频位置:

     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    Shell判断文件或目录是否存在
    linux使用wpa_supplicant手动配置wifi
    ubuntu更换apt源后依然搜索旧软件源下载失败问题
    在Ubuntu下解决E: 无法对目录 /var/lib/apt/lists/ 加锁的问题
    Bash中判断一个命令的输出结果是否为空
    [解决]/bin/bash^M: bad interpreter: No such file or directory
    【转】 使用 NetworkManager 命令行工具 nmcli
    【转】wpa_supplicant及wpa_cli使用方法
    [RK3288] Vendor Storage区域知识及探讨
    安装oracle 时“[INS-30014]无法检查指定的位置是否位于 CFS上”问题
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13779382.html
Copyright © 2020-2023  润新知