如图1所示,最小p乘法求得是,而真实值到拟合曲线的距离为。那么,对应的是什么样的数据分析呢?

图1 最小p乘法的使用的误差是。真实值到拟合曲线的距离为

假如存在拟合曲线,设直线方程为。真实值到该曲线的投影点为。p=2时,则两点之间的距离为

                                                                                                                 (37)

                                                                                                                 (38)

在直线上,同时。这两个条件构成如下方程组

                                                                                                 (39)

联立上述方程组求得

                                                                                               (40)

代入式(37)(38)得

                                                                                                  (41)

上式两边对b求偏导,令偏导数为零得

                                                                                          (42)

化简为

                                                                                                        (43)

                                                                                                   (44)

                                                                                                                 (45)

                                                                                                                 (46)

将式(45)(46)代入式(44)得

                                                                                                  (47)

                                                                                                             (48)

因此,该直线通过均值点,投影点可以改写为

                                                                                              (49)

其中e是直线方向的单位向量。将式(49)代入式(38)得

化简为

                                                                                                     (50)

其中。上式中等号右边的第二项是个常量,不影响I取得极值时对应的e,可以去掉。同时,我们假设e是单位向量,则。重写I如下

                                                                                                           (51)

上式两边对e求导得

                                                                                                               (52)

化简得

                                                                                                                              (53)

上式成立时,u取得最大值,I取得最小值。对上两边同时除以(n-1),得到数据矩阵的协方差矩阵。/(n-1)是协方差矩阵的特征值,e是对应的特征向量。上述推导过程可以较为简单的推广到m维空间。对特征值按降序排列,,其中m为数据变量的维度。对应着数据的主方向。经过特征向量矩阵的映射,将协方差矩阵投影为对角阵,变量之间的相关性被消除,而数据方差最大的方向就是主方向。

当计算出数据协方差矩阵的特征向量后,我们计算贡献率

                                                                                     (54)

求出

                                                                                              (55)

使用前个特征值和特征向量压缩原来的数据的表达空间,同时还能保证压缩后的数据矩阵损失最小。上述方法就是我们熟悉的PCA。

主方向线通过数据矩阵的均值点,这个点对应的是使用PCA做人脸识别时求出的均值脸。

总结一下PCA的推导过程,

1、去数据变量样本间的均值,并将该均值从数据矩阵中减去,得到零均值矩阵。

2、求零均值数据矩阵的协方差矩阵。

3、求协方差矩阵的特征向量和特征值。

4、按照一定的比例选择特征值和特征向量,实现降维。

上面推导的是线性关系的PCA,对于非线性的数据上面的方法可能会失效。解决方法,使用核函数将数据映射到高维再进行上述分析,这貌似就是kernel PCA。

同时,PCA分析的主方向通过数据的均值。而数据的均值很采样数据紧相关,如果数据中存在粗大误差,那么此时的均值不能反应真实的数据均值。如果不进行预处理,后续的PCA分析很可能会是错误的,达不到预期的效果。因此,对数据进行预处理是很必要的,剔除粗大误差后再进行PCA分析,貌似就是robust PCA。

在PCA推导的过程中,我们可以较为清晰地看到,如果将数据标签揉到推导中,修改优化的目标函数,我们应该能推导出SVM。因此,不同的误差定义,不同的优化目标函数推导出了不同的数据分析方法。无论这些怎么变换花样,其依托的数学思想都是一致的。

说到这里,我们差不多吧数据拟合相关的数据分析方法说了遍,但是说来说去关键问题还是没有触及,我们最关心最希望自动化的东西没有设计,那就是数据的模式,线性的还是非线性的,一阶的还是二阶的等等问题。因为,我们明明可以看到数据在图像上或者几何上呈现出了某种分布,但是却不能通过数学推导自动化的把它从数据中挖出来。

到底能不能是一个终极问题,这个系列的文章只能做个抛砖引玉,希望能够激发出大家的进一步迭代思考,也许这种模式对应的数学公式就在不远处。

透过表象看本质!?之二——除了最小p乘,还有PCA的更多相关文章

  1. 透过表象看本质!?之三——Kalman滤波

    数据拟合能够估计出数据变化的趋势,另外一个同等重要的应用是如何利用这一趋势,预测下一时刻数据可能的值.通俗点儿说,你观察苍蝇(蚊子,蜜蜂)飞了几秒,你也许会想“它下一个时刻可能在哪儿”,“呈现出什么样 ...

  2. hihoCoder #1127 : 二分图二·二分图最小点覆盖和最大独立集

    #1127 : 二分图二·二分图最小点覆盖和最大独立集 Time Limit:10000ms Case Time Limit:1000ms Memory Limit:256MB 描述 在上次安排完相亲 ...

  3. PRML读书会第十二章 Continuous Latent Variables(PCA,Principal Component Analysis,PPCA,核PCA,Autoencoder,非线性流形)

    主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:00:49 我今天讲PRML的第十二章,连续隐变量.既然有连续隐变量,一定也有离散隐变量,那么离散隐变量是 ...

  4. 再看.net本质(二)

    3.[HTTP协议]  当浏览器寻找到Web服务器的地址之后,浏览器将帮助我们把对服务器的请求转换为一系列参数发送给Web服务器.服务器收到浏览器的请求对数之后,将会分析这些数据并进行处理,然后向浏览 ...

  5. 从问题看本质: 研究TCP close_wait的内幕

    Socket应用服务器TomcatOSUbuntu  /* * @author: ahuaxuan * @date: 2010-4-30 */ 最近遇到的一个关于socket.close的问题,在某个 ...

  6. block本质探寻二之变量捕获

    一.代码 说明:本文章须结合文章<block本质探寻一之内存结构>和<class和object_getClass方法区别>加以理解: //main.m #import < ...

  7. 从问题看本质:socket到底是什么?

    一.问题的引入——socket的引入是为了解决不同计算机间进程间通信的问题 1.socket与进程的关系 1).socket与进程间的关系:socket   用来让一个进程和其他的进程互通信息(IPC ...

  8. 从问题看本质:socket到底是什么(问答式)? .

    转自:http://blog.csdn.net/yeyuangen/article/details/6799575 一.问题的引入——socket的引入是为了解决不同计算机间进程间通信的问题 1.so ...

  9. Web API 处理机制剖析 --- 拨开迷雾看本质

     前言 最近开发了几个项目,用到了web api,也通过项目加深了对web api的理解.本文试图从内部原理讲解web api的本质.透过重重迷雾,看清本质,就能更好的把握和利用好web api. 1 ...

随机推荐

  1. Devexpress 使用经验 —— ASPxGridView命令行自定义按钮灵活使用

    ASPX <dx:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="Ob ...

  2. Excel表数据导入数据库表中

    ***Excel表数据导入到数据库表中 通过数据库表的模板做成‘Excel’表的数据导入到数据库相应的表中(注意:主表 和 从表的关系,要先导‘主表’在导入从表) 过程:通过数据库的导入工具—先导入为 ...

  3. Java I/O重定向

    1.输入重定向 命令行:java [java类文件] < [输入文件路径名] 代码:InputStream inputStream = new FileInputStream(          ...

  4. OC - 3.OC的三大特性

    一.封装 1> 封装的定义 隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别 2> 封装的好处 可以通过set方法防止为成员变量设置不合理的值 仅向外部提供公 ...

  5. Codevs 4189 字典(字典树Trie)

    4189 字典 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 传送门 题目描述 Description 最经,skyzhong得到了一本好厉害的字典,这个字典里 ...

  6. wamp集成环境php多版本搭建(php5.5,php5.6,php7.0.6)

        首先需要搭建的版本可以在php官方(http://windows.php.net/download)下载对应的版本,X86对应的是32位操作系统,X64对应的是64位操作系统.    1:下载 ...

  7. php异步请求(可以做伪线程)

    $fp = fsockopen("www.baidu.com", 80, $errno, $errstr, 30); stream_set_blocking($fp,0);     ...

  8. contos vsftp 530错误

    只需要把/etc/pam.d/vsftpd文件中的 auth       required    pam_listfile.so item=user sense=deny file=/etc/vsft ...

  9. Hibernate过程小计

    对实体 "XXX" 的引用必须以 ';' 分隔符结尾(需要对分号进行编码) <property name="connection.url">jdbc ...

  10. Excel Skill (1) -- 判断时如何去掉框里的空格

    使用命令 TRIM 说明: Purpose. Remove extra spaces from text. Text with extra spaces removed. =TRIM (text) t ...