4.pca与梯度上升法】的更多相关文章

一.什么是PCA 主成分分析 Principal Component Analysis 一个非监督学的学习算法 主要用于数据的降维 通过降维,可以发现更便于人类理解的特征 其他应用:可视化:去噪 第一步:将样例的均值归零(demean) 二.使用梯度上升法求解PCA问题 梯度上升法解决主成分分析问题 三.求数据的主成分PCA 四.求数据的主成分 PCA 求数据的前 N 个主成分 求出第一个主成分以后,如何求出下一个主成分? 数据进行改变,将数据在第一个主成分的分量去掉. 我写的文章只是我自己对b…
主成分分析(Principal Component Analysis) 一个非监督的机器学习算法 主要用于数据的降维 通过降维,可以发现更便于人类理解的特征 其他应用:可视化.去噪 通过映射,我们可以把数据从二维降到一维: 显然,右边的要好一点,因为间距大,更容易看出差距. 如何定义样本间距?使用方差,因为方差越小,数据月密集,方差越大,数据月分散. 另均值为0: 因为均值为0,w是单位向量,模为1,所以: 梯度上升法求解PCA问题 分析:X是mn的矩阵,m是样本数,n是特征数,X^(i)是第i…
(一)什么是pca pca,也就是主成分分析法(principal component analysis),主要是用来对数据集进行降维处理.举个最简单的例子,我要根据姓名.年龄.头发的长度.身高.体重.皮肤的白皙程度(随便想的)等特征来预测一个人的性别,但这些特征中有一个是最没有用的,是什么的?显然是年龄,因为年龄的大小跟这个人的性别无关.还有姓名,这个特征显然起不到决定性作用,因为有的男孩的名字起的就像女孩(比如我本人),反之亦然,但是起码绝大多数情况还是能判断的.同理还有身高,一个180CM…
主成分分析法:主要作用是降维 疑似右侧比较好? 第三种降维方式: 问题:????? 方差:描述样本整体分布的疏密的指标,方差越大,样本之间越稀疏:越小,越密集 第一步: 总结: 问题:????怎样使其最大 变换后: 最后的问题:???? 注意区别于线性回归  使用梯度上升法解决PCA问题: import numpy as np import matplotlib.pyplot as plt from sklearn import datasets digits = datasets.load_d…
五.高维数据映射为低维数据 换一个坐标轴.在新的坐标轴里面表示原来高维的数据. 低维 反向 映射为高维数据 PCA.py import numpy as np class PCA: def __init__(self, n_components): """初始化PCA""" assert n_components >= 1, "n_components must be valid" self.n_components =…
一.目标函数的梯度求解公式 PCA 降维的具体实现,转变为: 方案:梯度上升法优化效用函数,找到其最大值时对应的主成分 w : 效用函数中,向量 w 是变量: 在最终要求取降维后的数据集时,w 是参数: 1)推导梯度求解公式 变形一 变形二 变形三:向量化处理 最终的梯度求解公式:▽f = 2 / m * XT . (X . dot(w) ) 二.代码实现(以二维降一维为例) 1)模拟数据 import numpy as np import matplotlib.pyplot as plt X…
求数据的第一主成分 (在notebook中) 将包加载好,再创建出一个虚拟的测试用例,生成的X有两个特征,特征一为0到100之间随机分布,共一百个样本,对于特征二,其和特征一有一个基本的线性关系(为什么要有一个基本的线性关系?是因为含有一个基本的线性关系,这样对数据降维的效果会更加的明显) import numpy as np import matplotlib.pyplot as plt X = np.empty((100,2)) X[:,0] = np.random.uniform(0. ,…
<Python3入门机器学习经典算法与应用> 章节第1章 欢迎来到 Python3 玩转机器学习1-1 什么是机器学习1-2 课程涵盖的内容和理念1-3 课程所使用的主要技术栈第2章 机器学习基础2-1 机器学习世界的数据2-2 机器学习的主要任务2-3 监督学习,非监督学习,半监督学习和增强学习2-4 批量学习,在线学习,参数学习和非参数学习2-5 和机器学习相关的“哲学”思考2-6 课程使用环境搭建第3章 Jupyter Notebook, numpy和matplotlib3-1 Jupy…
Python3入门机器学习经典算法与应用 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 使用新版python3语言和流行的scikit-learn框架,算法与编程两翼齐飞,由浅入深,一步步的进入机器学习的世界 学习机器学习相关技术的最好方式就是先自己设计和完成一些小项目,学到的不只是一门课程,更是不断思考的能力 第1章 欢迎来到 Python3 玩转机器学习 欢迎大家来到<Python3玩转机器学习>的课堂.在这个课程中,我们将从0开始,一点一点进入机…
机器学习笔记 多项式回归这一篇中,我们讲到了如何构造新的特征,相当于对样本数据进行升维. 那么相应的,我们肯定有数据的降维.那么现在思考两个问题 为什么需要降维 为什么可以降维 第一个问题很好理解,假设我们用KNN训练一些样本数据,相比于有1W个特征的样本,肯定是训练有1K个特征的样本速度更快,因为计算量更小嘛. 第二个问题,为什么可以降维.一个样本原先有1W个特征,现在减少到1K个,不管如何变换,数据包含的信息肯定是减少了,这是毫无疑问的.但是信息的减少是否意味着我们对于样本的认知能力的下降?…