【转载请注明出处】http://www.cnblogs.com/mashiqi

(居然有朋友说内容不接地气,那么我就再加一段嘛,请喜欢读笑话的同学直接看第二段)假设这里有一组向量$\left\{ x_i \right\}_{i=1}^n$和一个待投影的向量$u$。假设$u$和每个$x_i$的内积都为正数,也就是说$u$和每个$x_i$的夹角都小于90度。那么当我们把$u$投影到$\left\{ x_i \right\}_{i=1}^n$上时,理所应当地每个$x_i$的系数$\beta_i$也都应该大于零:$$u = x_1\beta_1+\cdots+x_n\beta_n,\beta_i\geq0$$不知道读者们的空间直觉怎么样,反正我最开始就是这么天真的认为的。最近看了Efron的“Least Angle Regression”后,才明白原来不是这样的,自己以前too young了。有些时候系数会变成负的。

(大家好我是第二段)举个栗子,设$$x_1=(0.1793,0.1216,0.9762)^T$$$$x_2=(-0.5947,0.5150,0.6173)^T$$$$x_3=(-0.2013,0.1782,-0.9632)^T$$并令$$u=(3.7952,6.9738,-0.5415)^T$$那么我们可以计算出$$(u,x_1)=(u,x_2)=(u,x_3)=1 > 0$$也就是说$x_1,x_2,x_3$与$u$的夹角都小于90度。但是通过解矩阵方程$X\beta=u$我们可以得到$$\beta = (36.5949,-6.6537,33.3891)^T$$也就是说:$$u = 36.5949x_1 -6.6537x_2 + 33.3891x_3$$看呐!$x_2$君的系数居然是负的!$x_1$和$x_3$一样,$x_2$君也是同样思念着$u$君的,还思念的同样深(内积都是$1$ = =)。可是$x_2$君为了集体的利益甘愿牺牲自己成全整个$\left\{ x_i \right\}_{i=1}^3$集合,这是多么伟大的奉献精神,此处应有掌声,啪啪啪,啪啪啪。。。

下面贴一个小MATLAB代码,自己去体会吧!

 %{
% This small matlab program show you a unexpected result in
% high-dimensional geometry: for any set of n-dimensional vectors
% {x_1,...,x_n}, if these vectors are indepentent, then you can always find
% an equiangular vector u, so that the inner product (x_i,u)= for all i.
% BUT, if we project u into {x_i}, some coefficients may be 'negative'!
%} %%
clear;
close all;
%% You can change the following two variable's value
dimension = 3;
vectors = 3; %% In case of unpredicted problems, dont change the following code.
if vectors > dimension
disp('Please set vectors <= dimension.');
end
X = randn(dimension,vectors); % every column is a vector
X = X./repmat(sqrt(sum(X.^2,1)),dimension,1); % standardize
if rank(X) ~= size(X,2)
disp('These vectors are not independent. Run again.');
end
w = (X'*X)\ones(vectors,);
u = X*w;
w % the coefficient
u % the equiangular vector
X'*u % the correlation value
if dimension == 3 % '' is the upper bound of dimensions of humans where we can draw.
quiver3(0,0,0,X(1,1),X(2,1),X(3,1),'r'),hold on;
quiver3(0,0,0,X(1,2),X(2,2),X(3,2),'r'),hold on;
quiver3(0,0,0,X(1,3),X(2,3),X(3,3),'r'),hold on;
quiver3(0,0,0,u(1),u(2),u(3),'b'),hold off;
end

总结一句话:高维空间有危险,忽久留= =||

从最小角回归(LARS)中学到的一个小知识(很短)的更多相关文章

  1. 最小角回归 LARS算法包的用法以及模型参数的选择(R语言 )

    Lasso回归模型,是常用线性回归的模型,当模型维度较高时,Lasso算法通过求解稀疏解对模型进行变量选择.Lars算法则提供了一种快速求解该模型的方法.Lars算法的基本原理有许多其他文章可以参考, ...

  2. 机器学习方法:回归(三):最小角回归Least Angle Regression(LARS),forward stagewise selection

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 希望与志同道合的朋友一起交流,我刚刚设立了了一个技术交流QQ群:433250724,欢迎对算法.技术.应用感 ...

  3. Lasso回归算法: 坐标轴下降法与最小角回归法小结

    前面的文章对线性回归做了一个小结,文章在这: 线性回归原理小结.里面对线程回归的正则化也做了一个初步的介绍.提到了线程回归的L2正则化-Ridge回归,以及线程回归的L1正则化-Lasso回归.但是对 ...

  4. A-06 最小角回归法

    目录 最小角回归法 一.举例 二.最小角回归法优缺点 2.1 优点 2.2 缺点 三.小结 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等 ...

  5. LARS 最小角回归算法简介

    最近开始看Elements of Statistical Learning, 今天的内容是线性模型(第三章..这本书东西非常多,不知道何年何月才能读完了),主要是在看变量选择.感觉变量选择这一块领域非 ...

  6. 数据挖掘-diabetes数据集分析-糖尿病病情预测_线性回归_最小平方回归

    # coding: utf-8 # 利用 diabetes数据集来学习线性回归 # diabetes 是一个关于糖尿病的数据集, 该数据集包括442个病人的生理数据及一年以后的病情发展情况. # 数据 ...

  7. QT:窗口最小化时显示一个小浮标

    有些窗口在自身最小化时要在桌面上显示一个小浮标,让用户利用这个小浮标进行各种操作(例如迅雷的悬浮窗一样),我试着用QT实现一下这个功能. PS:本来以为这个功能很简单,却搞了我两个晚上,泪奔... 思 ...

  8. LightOj1203 - Guarding Bananas(凸包求多边形中的最小角)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1203 题意:给你一个点集,求凸包中最小的角:模板题,但是刚开始的时候模板带错了,错的我 ...

  9. 算法---数组总结篇2——找丢失的数,找最大最小,前k大,第k小的数

    一.如何找出数组中丢失的数 题目描述:给定一个由n-1个整数组成的未排序的数组序列,其原始都是1到n中的不同的整数,请写出一个寻找数组序列中缺失整数的线性时间算法 方法1:累加求和 时间复杂度是O(N ...

随机推荐

  1. GZFramwork数据库层《前言》Demo简介

    本系列旨在熟悉GZFramwork数据库层操作,对数据库表进行增删改查,单据编号生成等: 详细见图: 普通单表操作: 数据库建模: 创建表脚本: from sys.sysreferences r jo ...

  2. Android学习简单总结

    1: 主要的view控件: 文字: TextView 图片: ImgView 视频:SurfaceView ... 2:控件 PopupWindow 实现类似左边导航栏 tabhost实现顶部或者下部 ...

  3. xml资源getStringArray(R.array.xxx)方法

    在res/values/下新建menu_names.xml 代码如下: <?xml version="1.0" encoding="utf-8"?> ...

  4. HDU-4534 郑厂长系列故事——新闻净化 AC自动机+DP

    题意:给定一些单词,这些单词必须要是一个目标串的子串,同时给定一些串,这些串不能够出现在目标串中,其余一些串只会带来不同附加值.现在问满足前两者的情况下,要求附加值最大.数据给定一个原始串,现在要求在 ...

  5. HDU-4525 威威猫系列故事——吃鸡腿

    题意:给定一个正整数A,告知等比数列的公比为q,为这个序列能否超过一个特定的数K. 解法:该题需要考虑公比的取值,当q=1,q=-1,q=0的特殊性,由于等比数列的增长速度非常快,所以可以for循环扫 ...

  6. socket详解(一)《转》

    在客户/服务器通信模式中, 客户端需要主动创建与服务器连接的 Socket(套接字), 服务器端收到了客户端的连接请求, 也会创建与客户连接的 Socket. Socket可看做是通信连接两端的收发器 ...

  7. python yield的初识

    ---------2016-5-18 10:49:45-- source:

  8. Android Studio教程从入门到精通

    最新2.0系列文章参考: Android Studio2.0 教程从入门到精通Windows版 - 安装篇Android Studio2.0 教程从入门到精通Windows版 - 入门篇Android ...

  9. [css] 页面重构“鑫三无准则” 之“无宽度”准则

    原创文章,转载请注明来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com]本文地址:http://www.zhangxinxu.com/wordpress/?p=1152 一 ...

  10. Spirng中Mongodb中write-concern的解释

    Spring在插入数据库时没有返回状态配置:write-concern获取异常<beans xmlns="http://www.springframework.org/schema/b ...