目录

7-1 什么是PCA

7-2 使用梯度上升法求解PCA问题

7-3 求数据的主成分PCA

demean

梯度上升法

使用极端数据集测试


7-1 什么是PCA

降维后

同理去掉特征一,降维则为

那个方案更好呢,右边的,在x轴上点集间距离大,有更好的区分度

将点映射到这条斜线上,数据点变为,其整体与原来变化不大,从二维降到了一维,这时无论是映射到xy上间距大好

方差样本的疏密

所有的样本减去整体样本的均值

dmean后式子化简为这样

X是向量,demean后为零

w是单位方向向量

主成分分析法有很强的数学原理

横纵坐标是两个特征,与线垂直,不同于线性回归,

横特征纵是标记,与坐标垂直

7-2 使用梯度上升法求解PCA问题

X是非监督学习提供的样本,没有标记y

整理式子,不用for循环,通过向量的运算计算

1Xm, mXn == 1Xn 需要nx1的梯度,将上式转置  相清楚谁是矩阵谁是向量,如果是矩阵是多少乘多少的

7-3 求数据的主成分PCA

demean

梯度上升法

def f(w, X):return np.sum((X.dot(w)**2)) / len(X)def df_math(w, X):return X.T.dot(X.dot(w)) * 2. / len(X)def df_debug(w, X, epsilon=0.0001):res = np.empty(len(w))for i in range(len(w)):w_1 = w.copy()w_1[i] += epsilonw_2 = w.copy()w_2[i] -= epsilonres[i] = (f(w_1, X) - f(w_2, X)) / (2 * epsilon)return resdef direction(w):return w / np.linalg.norm(w)def gradient_ascent(df, X, initial_w, eta, n_iters = 1e4, epsilon=1e-8):w = direction(initial_w) cur_iter = 0while cur_iter < n_iters:gradient = df(w, X)last_w = ww = w + eta * gradientw = direction(w) # 注意1:每次求一个单位方向if(abs(f(w, X) - f(last_w, X)) < epsilon):breakcur_iter += 1return w

w单位化处理,

初始的搜索不能为零

使用极端数据集测试

第7章 PCA与梯度上升法 学习笔记上相关推荐

  1. 第7章 PCA与梯度上升法

    主成分分析法:主要作用是降维 疑似右侧比较好? 第三种降维方式: 问题:????? 方差:描述样本整体分布的疏密的指标,方差越大,样本之间越稀疏:越小,越密集 第一步: 总结: 问题:????怎样使其 ...

  2. 韩松老师模型压缩--三步剪枝法学习笔记

    韩松老师模型压缩–三步剪枝法学习笔记 Learning both Weights and Connections for Efficient Neural Networks Abstract 神经网络 ...

  3. 贝叶斯方法学习笔记(二)

    贝叶斯方法学习笔记(二) 原文来自于知乎<你一定从未看过如此通俗易懂的马尔科夫链蒙特卡洛方法解读>.在这里只是将文章主要的核心知识点进行提炼汇总. 链接:你一定从未看过如此通俗易懂的马尔科 ...

  4. 贝叶斯方法学习笔记(一)

    贝叶斯方法学习笔记(一) 一.基本概念 二.实例(史蒂文的身份): 三.基本的概率分布及其性质 四.实例(用短信数据推断行为): 数据集来源 一.基本概念 先验概率:我们把对一个事件A发生的信念记作P ...

  5. 计算机组成原理 | 第八章《计算机的外围设备》、第九章《输入/输出系统》 学习笔记

    计算机组成原理 | 第八章<计算机的外围设备>.第九章<输入/输出系统> 学习笔记 引言 & 声明 第一章 计算机系统概论 第二章 计算机中数据的表示方法 第三章 运算 ...

  6. PCA(主成分分析-principal components analysis)学习笔记以及源代码实战讲解

    PCA(主成分分析-principal components analysis)学习笔记以及源代码实战讲解 文章目录 PCA(主成分分析-principal components analysis)学 ...

  7. 拉格朗日乘子法 学习笔记

    本来是想写支持向量机的学习笔记的然后觉得内容太多了越写越不想写于是咕掉了. 把写好的拉格朗日乘子法发上来吧QwQ 拉格朗日乘子法 wiki链接 拉格朗日乘子法用来求解带多个等式约束的情况下的多元函数极 ...

  8. pytorch梯度下降函数_Pytorch学习笔记6:激活函数/单层感知机/梯度下降求最小值实例...

    #添加到学习笔记2末尾,直接运行.代码意义可以看注释. #需要import以下库 import torch import numpy as np from matplotlib import pypl ...

  9. 拉格朗日乘数法学习笔记

    对于一个多元函数\(f(x_1,x_2,x_3,..,x_n)\),如果它必须满足某一些限制\(g_i(x_1,x_2,x_3,...,x_n)=0\),我们可以使用拉格朗日乘数法来求它的最值 首先你 ...

  10. 软件工程第一章绪论————(2019.12.27学习笔记)

    第一章绪论 第一节软件工程概念的提出与发展 1. 软件危机 1968年,北大西洋公约组织(NATO)在联邦德国的国际学术会议创造软件危机(Software crisis)一词.用来描述因为软件生产率, ...

最新文章

  1. R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘)、查看限制了规则的右侧之后挖掘到的规则(置信度排序,只查看左侧即可)
  2. Oracle包和包体以及与非包体定义函数、过程的区别
  3. linux cp命令使用
  4. alert点击确定后跳转_公众号/h5 跳转到小程序填坑指南
  5. 谷歌Android各版本的代号变迁
  6. javascript一些底层方法总结及用法
  7. python windows开发_windows 下 python 开发是一种什么样的体验?
  8. python能做什么excel-python可以用来做excel吗
  9. Allegro画焊盘
  10. 前端测试框架Jest系列教程 -- Matchers(匹配器)
  11. resin 系统日志_resin学习随笔
  12. 小程序验证身份证号、验证手机号方法
  13. matlab如何把Excel数据合并,《matlab怎么合并excel单元格并赋值?》 matlab合并 excel表格数据...
  14. 二叉平衡树平衡方法(RR、LL、RL、LR)
  15. 服务端开发框架及技术(转)
  16. Mac移动硬盘不正确断开连接导致无法读取加载的解决方法
  17. MinDoc 接口文档在线管理系统
  18. Steam平台——全球最大的游戏平台,现在给大家介绍下steam搬砖项目,这个项目既小众又稳定。
  19. linux 扫描磁盘柜,Linux下做磁盘阵列和各种热备份
  20. 贴片绕线电感和贴片电感的区别

热门文章

  1. 管理感悟:怎样讲清楚自己的想法
  2. 管理感悟:知行合一与内化
  3. 二叉树的三种非递归遍历
  4. ios上的python编译器_在ios中运行一个简单的python脚本
  5. mysql所选路径已经存在_Win10环境下安装压缩包版本MySQL-8.0.13
  6. oracle查询多个加锁,解析oracle对select加锁的方法以及锁的查询 转
  7. redis windows切割日志文件_开发者笔记:Windows下搭建简易单机Redis集群测试环境...
  8. c char转int_C/C++基础之sizeof使用
  9. vue 为全局变量赋值_在vue项目中 如何定义全局变量 全局函数
  10. 中医移动医疗_人工智能为中医赋能 上海祉云医疗将再次亮相2021健博会北京展...