Question 1000536: t-SNE如何实现降维?
统计/机器学习 数据降维 特征选择t-SNE是如何实现降维的?
Answer
一直没有人回答,我试着简短的强行回答一下。
t-SNE中t是指T distribution,s是指stochastic,n是指neighbor,e是指embedding。
简单来说,t-SNE做的是一种从高维空间到低维空间的保“距”变换。
如果两个点在100维的空间里“距离”是1,我们希望找到一个映射,把这两个点映射到低维(比如2维)空间里,它们的距离也是1。这样达到的效果就是,在原空间里距离远的点,那么在新的低维空间里距离也远;在原空间里距离近的点,那么在新的低维空间里距离也近。
这个所谓的“距离”,不是真正的距离,而是一种相似度。两个数据点的相似度的计算主要是依据两点的欧式距离,并且对其进行一些标准化的处理。处理时用到了t分布这个假设。
这个从高维到低维的映射,首先需要设置随机初始点,然后进行优化,从而使得两个“距离”相等。
Question 1000776: 利用PCA降维,降到几维比较合适?
统计/机器学习 数据降维 特征选择当数据特征多的时候,我们可以用PCA降维,一般降到几维比较合适?
Answer
- 如果是为了数据可视化,可以降到1维(线),2维(平面),或者3维(立体)。
- 如果是为了建立预测模型而降维,比较常用的方法是看多少个主成分解释了多少百分比的方差,常用的比如说99%,95%,90%。
- 另一个方法是Kaiser's Rule,保留所有奇异值大于1的
- 还有个类似elbow method的方法,画出主成分的个数和解释方差百分比的曲线,找出手肘的那个点。
Question 1002087: 对于组合特征怎么理解?
统计/机器学习 特征选择众所周知,传统机器学习的主要工作在于特征工程,其中特征工程中进行特征组合往往会对模型的结果带来提升。
举个例子,考虑第一个特征“性别”,男为1,女为0;第二个特征“是否喜欢宠物”,喜欢宠物为1,不喜欢宠物为0。那么组合后构造了“性别_是否喜欢宠物”这个新的维度的特征,这个特征的取值可以是00、01、10、11。
组合特征背后的理论基础是什么呢?怎么更好地去理解组合特征?之前有看到过组合特征可以发现特征与特征之间的关系,从而发现非线性关系,不太理解,谢谢!
Answer
Question 1004187: 特征相关性高的影响
统计/机器学习 特征选择如果有十个特征,其中两个维度完全相同。那么这种情况有什么影响呢?
对LR、SVM、xgb、神经网络、FM等不同的模型都有什么影响呢?
谢谢
Answer
简单点说,对线性回归影响比较大,因为矩阵不可逆了;对线性模型,或者说广义线性模型、逻辑回归的影响不大,但是有可能会模型系数不收敛;对树类模型影响很小,可以参考决策树、随机森林中的多重共线性问题
特征相关性高往往影响的是模型的解释性和稳定性。
我觉得多重共线性对FM影响应该是不大,因为FM本质上和PCA是类似的,而PCA本身也是可以处理特征相关性的。
Question 1005509: 什么情况下需要做特征选择?
统计/机器学习 特征选择训练模型前,什么情况下需要做特征选择?是一定训练模型前一定要做的吗?
Answer
(1)当特征之间相关性非常强
(2)当特征数量特别大
(3)当你希望模型更简洁,防止过拟合,节约计算时间
的时候你需要特征选择。如果没有这些问题,也不一定非要做特征选择。
Question 1005619: wrapper特征选择法是什么意思?
统计/机器学习 特征选择wrapper特征选择法是什么意思?怎么用这个所谓的wrapper进行特征选择呢?
Answer
wrapper,有时候也叫包裹法,是一种用来进行特征筛选的思路,比如向前选择法(forward step-wise selection)和向后选择法(backward step-wise selection)。wrapper法就是在建模的过程通过对模型性能的衡量筛选特征的方法。
此外还有过滤(Filter)方法,相关分析、卡方检验等以及嵌入类(Embedded):正则化(L1、L2)等。
Question 1005657: 训练word2vec时移动窗口的大小怎么选择?
统计/机器学习 自然语言处理 特征选择训练word2vec时移动窗口的大小怎么选择?有时候是5,有时候是3,有时候是10,这个数字一般是怎么选的?
Answer
一般就是5吧。
window越大,训练越慢。还有一种说法是window越小,得到的结果越关注语法,window越大,得到的结果越关注语意。
Question 1006075: 怎么理解lightgbm中的直方图法选择分裂点?
统计/机器学习 特征选择怎么理解lightgbm中的直方图法选择分裂点?
Answer
之前普遍采用的方法是对数据集里一个特征所有的值进行排序,然后遍历每个值,从而选取最佳的分裂点。这个做法最大的问题就是速度太慢,因为先要进行排序,然后每次分裂都要遍历所有的点。考虑到现在很多数据集都很大,这样的做法会非常慢。
直方图的方法就是用k个离散点代替原始的数据,这样数据量就大大压缩了。k越大,越接近传统的方法,越容易过拟合;k越小,还原度就越低,越容易欠拟合。
直方图方法的示意图
来自sofasofa(一个专业的机器学习社区),建议去sofa社区阅读,这里只是记录。防止网站在网络中走失。