zoukankan      html  css  js  c++  java
  • 机器学习--降维

    一、说在前面

      今天学习的是降维,把数据的特征数量从高维转换到低维,降低数据的处理难度,其中自编码器和解码器的效果比较像压缩和解压缩。

    二、笔记

    1、什么是降维?
    	数学知识:特征值分解
    		设A是n阶方阵,如果有常数λ和n维非零列向量α的关系式 Aα = λα 成立,则称λ为方阵A的特征值,非零向量α称为方阵A的对应于特征值入的特征向量
    
    	降维:将数据的特征数量从高维转换到低维
    	实际中很多数据是高维的,但数据“内在的维度”可能更低
    		例如:通信数据原始有7维:入网时间、套餐价格、每月话费,每月流量、每月通话时长欠费金额、欠费月数。"内在维度"可能只有3个:用户忠诚度、消费能力、欠费指数
    	降维是解决高维数据的维度灾难问题的一种手段,能够作为一种特征抽取的方法,便于对数据进行可视化分析。
    
    2、主成分分析PCA:基本原理、优化目标和求解方法
    	在人脸识别和图像压缩等领域得到了广泛的应用
    	基本思想:构造原始特征的一系列线性组合形成的线性无关低维特征,以去除数据的相关性,并使降维后的数据最大程度地保持原始高位数据的方差信息。
    
    	方差比例与数据重构:通过确定将为前后方差保留比例选择降维后的样本维数l,可预先设置一个方差比例阈值如90%
    	从数据重构角度来看,通过矩阵WT从Y可以得到重构数据为XWWT,且重构误差为||X-XWWT||F~2
    
    3、自编码器:找到数据高效表示的神经网络方法
    	一种特殊的神经网络,尝试将输入复制到输出,能够表示非线性变换
    	编码器:将输入x转换成隐含表示h
    	解码器:将隐含表示h转换成输出x'
    	优化目标:使得x'和x尽量接近
    	当隐含层神经元数量小于输入层时,可以当做一种降维算法。
    
    	深层自编码器(对称的转换)
    		指数级地降低表示某些函数的计算成本
    		指数级的减少学习某些函数所需的训练数据量
    		一些实验结果表名,深层自编码器比浅自编码器产生更好的压缩效果。
    4、降维常用实践工具介绍
    	主要使用的是SKLearn
        
    5、实践案例:Python降维实践及在特征脸、图像重构和文本数据中的应用
    	NumPy:求解特征值和特征向量
    	Pandas:数据读取与预处理
    	Matplotlib、Seaborn:数据可视化
    	Sklearn:中文新闻的向量化、t-SNE降维
    	TensorFlow:自编码器的构建与训练

    三、心得体会

      降维是一种对问题的简化处理,可以减轻问题处理的难度,减少训练的时间,使用的也是分而治之大道至简的思想。机器学习中对图像的处理将图像通过数学矩阵的计算方式进行处理,虽然没懂得具体的原理,但是感觉还是很巧妙。

  • 相关阅读:
    python学习笔记(unittest)
    python学习笔记(session)
    python学习笔记(requests)
    jmeter的学习(配置环境)
    Codeforces 576D. Flights for Regular Customers 题解
    Codeforces 1316F. Battalion Strength 题解
    2020年第十一届蓝桥杯省赛J-网络分析(带权并查集)
    第十一届蓝桥杯b组省赛 C.合并检测(内附详细的样例)
    蓝桥杯2020.7月真题走方格(到达终点的不同方案数)(记忆化搜索+DP)
    Codeforces Global Round 11 A. Avoiding Zero(思维构造)
  • 原文地址:https://www.cnblogs.com/suanai/p/14353128.html
Copyright © 2011-2022 走看看