算法
炼丹师666
要学神仙,驾鹤飞天,点石成金,妙不可言!
展开
-
神经网络激活函数和损失函数的选择
神经网络激活函数和损失函数的选择python深度学习.pdf参考:https://blog.csdn.net/lxiao428/article/details/88651767原创 2020-02-02 22:06:00 · 669 阅读 · 0 评论 -
矩阵卷积运算的具体过程
参考:https://blog.csdn.net/f156207495/article/details/82954506可通过信号系统来理解:原创 2020-01-19 22:09:52 · 2256 阅读 · 0 评论 -
【卷积神经网络】卷积层,池化层,全连接层的理解
CNN网络一共有5个层级结构:参考:https://www.cnblogs.com/wj-1314/p/9593364.html输入层卷积层激活层池化层全连接FC层1 输入层与传统神经网络/机器学习一样,模型需要输入的进行预处理操作,常见的输入层中预处理方式有:去均值归一化PCA/SVD降维等2 卷积层局部感知:人的大脑识别图片的过程中,并不是一下子整张图同时识别,而...原创 2020-01-21 20:12:24 · 5642 阅读 · 0 评论 -
激活函数ReLU为什么比Sigmoid效果好_梯度消失
参考:https://blog.csdn.net/u014114990/article/details/50144653第一个问题:为什么引入非线性激励函数?如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与只有一个隐藏层效果相当,这种情况就是多层感知机(MLP)了。正因为...原创 2020-01-19 16:44:54 · 1801 阅读 · 0 评论 -
前向传播和反向传播(推导示例)
参考这个:https://blog.csdn.net/qq_16137569/article/details/81449209前向传播(Forward Propagation)提一下前向传播过程,即网络如何根据输入得到输出的目的:由输入得到输出值,并算出loss。Loss指的是模型求解的值和数据label的差距。前传:可理解为一个公司的盈利取决于每个分部门的个人的付出。从底层到高层...原创 2020-01-19 16:10:33 · 855 阅读 · 0 评论 -
梯度下降法
https://blog.csdn.net/pengchengliu/article/details/80932232梯度下降推导过程首先理解什么是梯度?通俗来说,梯度就是表示某一函数在该点处的方向导数沿着该方向取得较大值,即函数在当前位置的导数。其中,θo是自变量参数,即下山位置坐标,η是学习因子,即下山每次前进的一小步**(步进长度)**,θ是更新后的θo,即下山移动一小步之后的位置...原创 2020-01-19 15:01:47 · 165 阅读 · 0 评论 -
逻辑回归损失函数推导及求导
sigmoid函数求导:https://blog.csdn.net/u012421852/article/details/79614417通过logistic曲线就可以知道1)sigmoid函数是一个阀值函数,不管x取什么值,对应的sigmoid函数值总是0<sigmoid(x)<1。2)sigmoid函数严格单调递增,而且其反函数也单调递增3)sigmoid函数连续4)...原创 2020-01-19 14:19:06 · 2106 阅读 · 0 评论 -
机器学习哪些算法需要归一化
机器学习中需要归一化的算法有SVM,逻辑回归,神经网络,KNN,线性回归,而树形结构的不需要归一化,因为它们不关心变量的值,而是关心变量分布和变量之间的条件概率,如决策树,随机森林,对于树形结构,树模型的构造是通过寻找最优分裂点构成的,样本点的数值缩放不影响分裂点的位置,对树模型的结构不造成影响,而且树模型不能进行梯度下降,因为树模型是阶跃的,阶跃是不可导的,并且求导没意义,也不需要归一化2...原创 2020-01-16 22:37:21 · 421 阅读 · 0 评论 -
最小二乘法的理解(最小平方法)
原来算术平均数可以让误差最小原创 2020-01-16 22:11:23 · 1243 阅读 · 0 评论 -
逻辑回归特征重要性查看
逻辑回归特征重要性查看LR模型也就是逻辑回归模型,作为一个简单的常用的模型,其有非常多的优点,除了模型简单,容易实现分布式,还有一个重要的优点就是模型的可解释性非常好。因为每个特征都对应一个模型参数wi该参数越大,那么该特征对模型预测结果的影响就会越大,我们就说该特征就越重要...原创 2020-01-10 19:26:23 · 6978 阅读 · 0 评论 -
支持向量机(SVM)的优缺点
支持向量机(SVM)的优缺点SVM的优点:(1)非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射;(3)支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量(4)SVM 是一种有坚实理论基础的新颖的小样本学习方法(5)SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了...原创 2020-01-09 10:45:44 · 7936 阅读 · 0 评论 -
逻辑回归的优缺点
8. Logistic回归有哪些优缺点?优点:(1)训练速度较快,分类的时候,计算量仅仅只和特征的数目相关;(2)简单易理解,模型的可解释性非常好,从特征的权重可以看到不同的特征对最后结果的影响;(3)适合二分类问题,不需要缩放输入特征;(4)内存资源占用小,因为只需要存储各个维度的特征值;缺点:(1)不能用Logistic回归去解决非线性问题,因为Logistic的决策面试线性的;...原创 2020-01-08 22:19:42 · 34146 阅读 · 2 评论 -
knn算法思想和优缺点
KNN算法的描述:(1)计算测试数据与各个训练数据之间的距离;(2)按照距离的递增关系进行排序;(3)选取距离最小的K个点;(4)确定前K个点所在类别的出现频率(5)返回前K个点中出现频率最高的类别作为测试数据的预测分类。算法优点:(1)简单,易于理解,易于实现,...原创 2020-01-08 16:58:09 · 2660 阅读 · 0 评论 -
软分类和硬分类
软分类:使用的是概率模型,输出不同类对应的概率,最后的分类结果取概率最大的类,如多SVM组合分类;硬分类:使用的是非概率模型,分类结果就是决策函数的决策结果;参考:https://blog.csdn.net/eternity1118_/article/details/51525702...原创 2020-01-08 16:52:37 · 2466 阅读 · 0 评论 -
交叉验证的作用
交叉验证的目的只是评估给定算法在特定数据集上训练后的泛化性能好坏交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现,可以在一定程度上减小过拟合。还可以从有限的数据中获取尽可能多的有效信息。https://www.jianshu.com/p/d08843423099...原创 2020-01-06 15:18:40 · 4473 阅读 · 0 评论 -
pyhton_DBSCAN实现
接上一篇:#### DBSCANfrom sklearn.cluster import DBSCANX, y = make_blobs(random_state=0, n_samples=12)dbscan = DBSCAN()clusters = dbscan.fit_predict(X)print("Cluster memberships:\n{}".format(cl...原创 2020-01-06 14:47:29 · 224 阅读 · 0 评论 -
聚类DBSCAN算法分析
DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种基于密度的空间聚类算法DBSCAN的主要优点是:它不需要用户先验地设置簇的个数,可以划分具有复杂形状的簇,还可以找出不属于任何簇的点。DBSCAN比凝聚聚类和k均值稍慢,但仍可以扩展到相对较大的数据集。DBSCAN的原理是...原创 2020-01-06 14:25:25 · 573 阅读 · 0 评论 -
轮廓系数确定kmeans的K值
轮廓系数确定kmeans的K值方法:1,计算样本i到同簇其他样本的平均距离ai。ai 越小,说明样本i越应该被聚类到该簇。将ai 称为样本i的簇内不相似度。簇C中所有样本的a i 均值称为簇C的簇不相似度。2,计算样本i到其他某簇Cj 的所有样本的平均距离bij,称为样本i与簇Cj 的不相似度。定义为样本i的簇间不相似度:bi =min{bi1, bi2, …, bik}bi越大,说明样...原创 2020-01-06 11:43:51 · 7080 阅读 · 1 评论 -
k-means算法思想
k-means算法思想https://blog.csdn.net/Dhane/article/details/86661208算法思想k-means算法的思想比较简单,假设我们要把数据分成K个类,大概可以分为以下几个步骤:随机选取k个点,作为聚类中心;计算每个点分别到k个聚类中心的聚类,然后将该点分到最近的聚类中心,这样就行成了k个簇;再重新计算每个簇的质心(均值);重复以上2~4步...原创 2020-01-06 11:22:10 · 3705 阅读 · 0 评论 -
GBDT的优点和缺点_参数
GBDT的优点和缺点_参数优点、 缺点和参数。梯度提升决策树是监督学习中最强大也最常用的模型之一。其主要缺点是需要仔细调参,而且训练时间可能会比较长。与其他基于树的模型相同,它也通常不适用于高维稀疏数据优点:与其他基于树的模型类似,这一算法不需要对数据进行缩放就可以表现得很好,而且也适用于二元特征与连续特征同时存在的数据集。参数:梯度提升树模型的主要参数包括树的数量 n_esti...原创 2020-01-03 16:31:10 · 7598 阅读 · 0 评论 -
python_GBDT分析
python_GBDT分析Gradient Boosted Regression Trees (Gradient Boosting Machines)#### Gradient Boosted Regression Trees (Gradient Boosting Machines)random_state# Gradient Boosted Regression Trees (Grad...原创 2020-01-03 16:26:58 · 629 阅读 · 0 评论 -
随机森林的优点和缺点_参数
随机森林的优点和缺点_参数参数:需要调节的重要参数有 n_estimators 和 max_features,可能还包括预剪枝选项(如 max_depth)。 n_estimators 总是越大越好max_features 决定每棵树的随机性大小,较小的 max_features 可以降低过拟合。一般来说,好的经验就是使用默认值:对于分类,默认值是 max_features=sqrt(n...原创 2020-01-03 16:11:16 · 3547 阅读 · 0 评论 -
pyhton_随机森林分类分析
pyhton_随机森林分析from sklearn.ensemble import RandomForestClassifierfrom sklearn.datasets import make_moonsX, y = make_moons(n_samples=100, noise=0.25, random_state=3)X_train, X_test, y_train, y_te...原创 2020-01-03 15:44:17 · 1139 阅读 · 0 评论 -
随机森林_随机的理解
1. 随机森林 我们刚刚说过,决策树的一个主要缺点在于经常对训练数据过拟合。随机森林是解决这个问题的一种方法。随机森林本质上是许多决策树的集合,其中每棵树都和其他树略有不同。 随机森林背后的思想是,每棵树的预测可能都相对较好,但可能对部分数据过拟合。如果构造很多树,并且每棵树的预测都很好,但都以不同的方式过拟合,那么我们可以对这些树的结果取平均值来降低过拟合。既能减少过拟合又能保持树的...原创 2020-01-03 15:32:29 · 1514 阅读 · 0 评论 -
决策树的优点和缺点
决策树的优点和缺点 如前所述,控制决策树模型复杂度的参数是预剪枝参数,它在树完全展开之前停止树的构造。通常来说,选择一种预剪枝策略(设置 max_depth、 max_leaf_nodes 或 min_samples_leaf)足以防止过拟合决策树有两个优点:一是得到的模型很容易可视化,非专家也很容易理解(至少对于较小的树而言);二是算法完全不受数据缩放的影响。由于每个特征被单独处...原创 2020-01-03 14:58:55 · 9487 阅读 · 0 评论 -
决策树的特征重要性
决策树的特征重要性接上一篇print("Feature importances:\n{}".format(tree.feature_importances_))def plot_feature_importances_cancer(model):n_features = cancer.data.shape[1]plt.barh(range(n_features), model.fea...原创 2020-01-03 14:54:55 · 8695 阅读 · 1 评论 -
可视化决策树
可视化决策树# 我们可以利用 tree 模块的 export_graphviz 函数来将树可视化# 这个函数会生成一# 个 .dot 格式的文件,这是一种用于保存图形的文本文件格式。我们设置为结点添加颜色# 的选项,颜色表示每个结点中的多数类别,同时传入类别名称和特征名称from sklearn.tree import export_graphvizexport_graphviz(t...原创 2020-01-03 14:44:04 · 709 阅读 · 0 评论 -
# 控制决策树的复杂度
控制决策树的复杂度设置 max_depth=4,这意味着只可以连续问 4 个问题# 控制决策树的复杂度# 我们在乳腺癌数据集上更详细地看一下预剪枝的效果# 我们固定树的 random_state,用于在内部解决平局问题from sklearn.tree import DecisionTreeClassifiercancer = load_breast_cancer()X_t...原创 2020-01-03 14:32:18 · 1154 阅读 · 1 评论 -
决策树模型分析
决策树模型分析# 1. 构造决策树# 我们在图 2-23 所示的二维分类数据集上构造决策树。这个数据集由 2 个半月形组成,每个# 类别都包含 50 个数据点。我们将这个数据集称为 two_moons# 为了构造决策树,算法搜遍所有可能的测试,找出对目标变量来说信息量最大的那一个。# 图 2-24 展示了选出的第一个测试。将数据集在 x[1]=0.0596 处垂直划分可以得到最多信#...原创 2020-01-03 14:27:55 · 916 阅读 · 0 评论 -
将线性模型用于 多分类问题_svm
将线性模型用于 多分类问题优点、 缺点和参数线性模型的主要参数是正则化参数,在回归模型中叫作 alpha,在 LinearSVC 和 LogisticRegression 中叫作 C。 alpha 值较大或 C 值较小,说明模型比较简单。特别是对于回归模型而言,调节这些参数非常重要。通常在对数尺度上对 C 和 alpha 进行搜索。还需要确定用的是 L1 正则化还是 L2 正则化。如果...原创 2020-01-02 16:27:27 · 840 阅读 · 0 评论 -
LogisticRegression逻辑斯特回归性能分析_学习曲线
LogisticRegression逻辑斯特回归性能分析_学习曲线L2正则化# 我们在乳腺癌数据集上详细分析 LogisticRegressionfrom sklearn.datasets import load_breast_cancercancer = load_breast_cancer()X_train, X_test, y_train, y_test = train_test_...原创 2020-01-02 15:30:42 · 11070 阅读 · 0 评论 -
逻辑斯特回归和SVM 对比
逻辑斯特回归和SVM 对比对于 LogisticRegression 和 LinearSVC,决定正则化强度的权衡参数叫作C。 C 值越 # 大,对应的正则化越弱。换句话说,如果参数 C 值较大,那么 LogisticRegression 和 # LinearSVC 将尽可能将训练集拟合到最好,而如果 C 值较小,那么模型更强调使系数向量 # (w)接近于 0。from sklearn.l...原创 2020-01-01 21:48:52 · 317 阅读 · 0 评论 -
python_Lasso _线性模型_L1正则化
python_Lasso _线性模型_L1 正则化Lasso。与岭回归相同,使用 lasso 也是约束系 # 数使其接近于 0,但用到的方法不同,叫作 L1 正则化。L1 正则化的结果是,使用 lasso 时 某些系数刚好为 0这样模型更容易解释,也可以呈现模型最重要的特征# 4. lasso# 除了 Ridge,还有一种正则化的线性回归是 Lasso。与岭回归相同,使用 lasso 也...原创 2020-01-01 17:55:24 · 1126 阅读 · 0 评论 -
python_岭回归_线性模型_L2 正则化(2)
python_岭回归_线性模型_L2 正则化(2)作学习曲线由于岭回归是正则化的,因此它的训练分数要整体低于线性回归的训练分# 还有一种方法可以用来理解正则化的影响,就是固定 alpha 值,但改变训练数据量。对于# 40 | 第 2 章# 监督学习 | 41# 图 2-13 来说,我们对波士顿房价数据集做二次抽样,并在数据量逐渐增加的子数据集上分# 别对 LinearRegress...原创 2020-01-01 17:39:19 · 443 阅读 · 0 评论 -
python_岭回归_线性模型_L2 正则化(1)
python_岭回归_线性模型_L2 正则化岭回归也是一种用于回归的线性模型,因此它的预测公式与普通最小二乘法相同。但在岭 # 回归中,对系数(w)的选择不仅要在训练数据上得到好的预测结果,而且还要拟合附加 # 约束。我们还希望系数尽量小。换句话说,w 的所有元素都应接近于 0。直观上来看,这 # 意味着每个特征对输出的影响应尽可能小(即斜率很小),同时仍给出很好的预测结果。这种约束是所谓...原创 2020-01-01 17:33:31 · 766 阅读 · 0 评论 -
python_线性回归,最小二乘法
python_线性回归,最小二乘法Linear Regression aka Ordinary Least Squares# 线性回归,最小二乘法# 生成测试数据from sklearn.linear_model import LinearRegressionX, y = mglearn.datasets.make_wave(n_samples=60)X_train, X_test, ...原创 2020-01-01 17:16:17 · 515 阅读 · 0 评论 -
如何理解xgboost
如何理解xgboost3、XGBoost3.1 原理 XGBoost的性能在GBDT上又有一步提升 对XGBoost最大的认知在于其能够自动地运用CPU的多线程进行并行计算,同时在算法精度上也进行了精度的提高 4.1 GBDT和XGBoost区别传统的GBDT以CART树作为基学习器,XGBoost还支持线性分类器,传统的GBDT在优化的时候只用到一阶导数信息,XGBoost则...原创 2020-01-01 15:52:05 · 166 阅读 · 0 评论 -
如何理解GBDT
如何理解GBDT2.1 原理传统的Boosting中关注正确错误的样本加权 但是 GBDT与传统的Boosting区别较大,它的每一次计算都是为了减少上一次的残差,而为了消除残差,我们可以在残差减小的梯度方向上建立模型在GradientBoosting算法中,关键就是利用损失函数的负梯度方向在当前模型的值作为残差的近似值,进而拟合一棵CART回归树。GBDT的会累加所有树的结果,而这种...原创 2020-01-01 15:15:39 · 159 阅读 · 0 评论 -
如何理解随机森林RF_随机性的理解
如何理解随机森林RF1、RF1.1 原理 提到随机森林,就不得不提Bagging,Bagging可以简单的理解为: 放回抽样, 多数表决(分类)或简单平均(回归),基学习器之间属于并列生成,不存在强依赖关系。引入了随机特征选择:1、随机选择样本(放回抽样);随机选择特征是指在树的构建中,会从样本集的特征集合中随机选择部分特征,然后再从这个子集中选择最优的属 性用于划分2、...原创 2020-01-01 15:04:45 · 520 阅读 · 0 评论 -
如何防止过拟合
如何防止过拟合通常过拟合由以下三种原因产生:1. 假设过于复杂;2. 数据存在很多噪音;3. 数据规模太小。过拟合的解决方法通常有:1. early stopping;2. 数据集扩增;3. 正则化;4. Dropout。正则化方法:正则化是指在优化目标函数或代价函数是,在目标函数后面加上一个正则项。正则项通常有L1正则项和L2正则项。L1正则项是为了使得那些原先处于零(即|w|≈0)附...原创 2020-01-01 14:45:37 · 168 阅读 · 0 评论