核化这个概念在很多机器学习方法中都有应用,如SVM,PCA等.在此结合sklearn中的KPCA说说核函数具体怎么来用. KPCA和PCA都是用来做无监督数据处理的,但是有一点不一样.PCA是降维,把m维的数据降至k维.KPCA恰恰相反,它是把m维的数据升至k维.但是他们共同的目标都是让数据在目标维度中(线性)可分,即PCA的最大可分性. 在sklearn中,kpca和pca的使用基本一致,接口都是一样的.kpca需要指定核函数,不然默认线性核. 首先我们用下面的代码生成一组数据. import…
一:引入问题 首先看一个表格,下表是某些学生的语文,数学,物理,化学成绩统计: 首先,假设这些科目成绩不相关,也就是说某一科目考多少分与其他科目没有关系,那么如何判断三个学生的优秀程度呢?首先我们一眼就能看出来,数学,物理,化学这三门课的成绩构成了这组数据的主成分(很显然,数学作为第一主成分,因为数据成绩拉的最开). 那么为什么我们能一眼看出来呢? 当然是我们的坐标轴选对了!! 下面,我们继续看一个表格,下标是一组学生的数学,物理,化学,语文,历史,英语成绩统计: 那么这个表我们能一眼看出来吗?…
在做数据处理时,需要用到不同的手法,如特征标准化,主成分分析,等等会重复用到某些参数,sklearn中提供了管道,可以一次性的解决该问题 先展示先通常的做法 import pandas as pd from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA from sklearn.linear_model import LogisticRegression df = pd.read…
(Demo) 这是最近两个月来的一个小总结,实现的demo已经上传github,里面包含了CNN.LSTM.BiLSTM.GRU以及CNN与LSTM.BiLSTM的结合还有多层多通道CNN.LSTM.BiLSTM等多个神经网络模型的的实现.这篇文章总结一下最近一段时间遇到的问题.处理方法和相关策略,以及经验(其实并没有什么经验)等,白菜一枚. Demo Site:  https://github.com/bamtercelboo/cnn-lstm-bilstm-deepcnn-clstm-in-…
写在前面 之前只停留在理论上,没有实际沉下心去调参,实际去做了后,发现调参是个大工程(玄学).于是这篇来总结一下sklearn中svm的参数说明以及调参经验.方便以后查询和回忆. 常用核函数 1.linear核函数: K(xi,xj)=xTixjK(xi,xj)=xiTxj 2.polynomial核函数: K(xi,xj)=(γxTixj+r)d,d>1K(xi,xj)=(γxiTxj+r)d,d>1 3.RBF核函数(高斯核函数): K(xi,xj)=exp(−γ||xi−xj||2),γ…
转自:https://www.zhihu.com/question/25097993 我和@杨军类似, 也是半路出家. 现在的工作内容主要就是使用CNN做CV任务. 干调参这种活也有两年时间了. 我的回答可能更多的还是侧重工业应用, 技术上只限制在CNN这块. 先说下我的观点, 调参就是trial-and-error. 没有其他捷径可以走. 唯一的区别是有些人盲目的尝试, 有些人思考后再尝试. 快速尝试, 快速纠错这是调参的关键. 看了杨军的回答. 对于这个回答, 下面的评论里面 @纪秋佳 说的…
调参方法:网格调参 tf.layers.conv2d()中的padding参数 取值“same”,表示当filter移出边界时,给空位补0继续计算.该方法能够更多的保留图像边缘信息.当图片较小(如CIFAR-10中的32*32)时,推荐使用该选项 取值“valid”,表示当filter移出边界时,舍弃该filter tf.layers.conv2d()中的filters参数 一般取值: 一般越靠后的层,我们将它的filters取的更多一些,一是为了保留更多的信息,二是为了提取更多抽象的特征 tf…
参数初始化 下面几种方式,随便选一个,结果基本都差不多.但是一定要做.否则可能会减慢收敛速度,影响收敛结果,甚至造成Nan等一系列问题.n_in为网络的输入大小,n_out为网络的输出大小,n为n_in或(n_in+n_out)*0.5Xavier初始法论文:http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdfHe初始化论文:https://arxiv.org/abs/1502.01852 uniform均匀分布初始化:w =…
GridSearchCV,它存在的意义就是自动调参,只要把参数输进去,就能给出最优化的结果和参数.但是这个方法适合于小数据集,一旦数据的量级上去了,很难得出结果.这个时候就是需要动脑筋了.数据量比较大的时候可以使用一个快速调优的方法——坐标下降.它其实是一种贪心算法:拿当前对模型影响最大的参数调优,直到最优化:再拿下一个影响最大的参数调优,如此下去,直到所有的参数调整完毕.这个方法的缺点就是可能会调到局部最优而不是全局最优,但是省时间省力,巨大的优势面前,还是试一试吧,后续可以再拿bagging…
最优化方法 调参方法 ml算法 梯度下降gd grid search lr 梯度上升 随机梯度下降 pca 随机梯度下降sgd  贝叶斯调参 lda 牛顿算法   knn 拟牛顿算法   kmeans 遗传算法   tree 蚁群算法    gbdt 模拟退火    xgboost 反向传播算法    lightgbm  坐标上升?   svm     rf 一.调参的思路: 如针对上面的问题,对x1和x2两个参数调优,假设起始点为绿色点, 1.grid search(全部交叉):计算所有上面的…