![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 68
诚朴求食
机器学习、深度学习、数据分析、JavaEE、测试开发
展开
-
损失函数MSE和MAE的区别以及如何选择
损失函数MSE和MAE的区别,如何进行选择原创 2022-06-21 11:09:09 · 8454 阅读 · 0 评论 -
Tensorflow-tf.reshape()详解
TensorFlow是常用的深度学习框架,在数据准备过程中,我们常常要将数据处理成我们想要的维度,在这里就需要用到reshape语法。与numpy的reshape类似,其基本语法为:tf.reshape(tensor, shape, name=None) One shape dimension can be -1. In this case, the value is inferred f...原创 2019-11-13 16:01:19 · 1703 阅读 · 0 评论 -
机器学习中调优的思路总结
在项目、工作中,如果你是作为一个算法工程师或者数据分析师,用到机器学习或深度学习模型的话,会经常遇到模型的结果始终提升不了的瓶颈。在这个时候,我们该怎么做呢?我对模型的优化进行了一份总结,以后大家遇到类似的模型效果提升不了的时候,就按照这个清单看一遍有哪些自己还没做的,有哪些觉得可以用到的,进行一番尝试。我主要从以下四个方面进行了一下总结:1、数据人们都说,数据决定了模型的上限,而不同的模...原创 2019-10-29 11:00:04 · 490 阅读 · 0 评论 -
Tensorflow–tf.assign()详解
tf中的tf.assign()函数非常容易被人误解,如果不是非常透彻理解tensorflow graph和op的概念的话,一不小心就会计算错误。下面先来看一下源代码中的注释:def assign(ref, value, validate_shape=None, use_locking=None, name=None): """Update 'ref' by assigning 'value...原创 2019-10-15 10:50:26 · 1843 阅读 · 1 评论 -
Python pandas基础整理总结
近几日对金融数据进行预处理分析等等,pandas用的比较多,而且发现pandas的创始人就是为了处理金融数据的时候开发的pandas,在pandas功能不断扩展的时候才应用到了其他更多的领域,下面,我就对我这些天来对pandas的学习做一个简单的整理,沉淀一下。from pandas import Series, DataFrame import pandas as pdSeries类似...原创 2018-05-28 16:36:42 · 1078 阅读 · 0 评论 -
机器学习调参工具:Hyperopt
Hyperopt库为python中的模型选择和参数优化提供了算法和并行方案。机器学习常见的模型有KNN、SVM、PCA、决策树、GBDT等一系列的算法,但是在实际应用中,我们需要选取合适的模型,并对模型调参,得到一组合适的参数。尤其是在模型的调参阶段,需要花费大量的时间和精力,却又效率低下。但是我们可以换一个角度来看待这个问题,模型的选取,以及模型中需要调节的参数,可以看做是一组变量,模型的质量标...原创 2018-05-30 17:03:23 · 2682 阅读 · 2 评论 -
Python:层次聚类分析
层次分析属于聚类分析的一种,Scipy有这方面的封装包。linkage函数从字面意思是链接,层次分析就是不断链接的过程,最终从n条数据,经过不断链接,最终聚合成一类,算法就此停止。dendrogram是用来绘制树形图的函数。from scipy.cluster.hierarchy import linkage, dendrogramimport matplotlib.pyplot...原创 2018-06-01 14:55:54 · 7524 阅读 · 1 评论 -
深度学习:前馈神经网络
神经元模型,由两部分组成。一部分将信号进行累加,得到得分函数,还有偏置项(bias),相当于函数的截距项或者常数项。 Z=bias+∑i=1mxiwi=∑i=0mxiwiZ=bias+∑i=1mxiwi=∑i=0mxiwiZ=bias+\sum_{i=1}^{m}x_{i}w_{i}=\sum_{i=0}^{m}x_{i}w_{i} 第二部分是激活函数,这是神经元的关键,通常使用某类激活函数...原创 2018-06-29 14:18:00 · 1177 阅读 · 2 评论 -
深度学习快速入门必备知识
要想快速的了解机器学习或者深度学习的内容,以下一些名词都是必须了解的;要想快速的上手机器学习或深度学习的项目,以下内容都必须熟练的运用:训练集、验证集、测试集查准率(准确率)、查全率(召回率):**混淆矩阵**confusion matrix。 TP+FP+TN+FN=数据总量 precision recall 查准率与查全率是一对鱼和熊掌,一般来说,查准率高时,查全率往往很低;查全率...原创 2018-06-29 10:37:31 · 322 阅读 · 0 评论 -
浅谈LR算法的Cost Function
了解LR的同学们都知道,LR采用了最小化交叉熵或者最大化似然估计函数来作为Cost Function,那有个很有意思的问题来了,为什么我们不用更加简单熟悉的最小化平方误差函数(MSE)呢?我个人理解主要有三个原因:MSE的假设是高斯分布,交叉熵的假设是伯努利分布,而逻辑回归采用的就是伯努利分布;MSE会导致代价函数J(θ)非凸,这会存在很多局部最优解,而我们更想要代价函数是凸函数;M...转载 2018-08-28 13:33:59 · 1082 阅读 · 0 评论 -
梯度弥散与梯度爆炸
问题描述先来看看问题描述。 当我们使用sigmoid funciton 作为激活函数时,随着神经网络hidden layer层数的增加,训练误差反而加大了,如上图所示。下面以2层隐藏层神经网络为例,进行说明。 结点中的柱状图表示每个神经元参数的更新速率(梯度)大小,有图中可以看出,layer2整体速度都要大于layer1.我们又取每层layer中参数向量的长度来粗略的估...转载 2018-08-28 15:37:59 · 1824 阅读 · 0 评论 -
Selecting good features——IV. Stability selection & RFE
在特征工程当中,我们经常要对特征进行选择。最近在做股票的多因子分析,指导老师给了我一篇英文文献让我看一下,文献中用到了Stability和RFE两种方法,因此,我在这里对这两种方法进行一下说明。Stability——稳定性选择 RFE——递归特征消除(Recursive Feature Elimination)以上两种方法都可以考虑wrapper方法。他们都建立在基于模型的选择方法之上,...原创 2018-05-16 20:03:31 · 1804 阅读 · 0 评论 -
Ubuntu下使用Anaconda3 出现conda: 未找到命令
在使用Anaconda时,出现以下清况:fengchi863@fengchi863:~$ conda listconda:未找到命令如果是使用Anaconda3安装的tensorflow的话,这种情况也不能import tensorflow as tf。原因是因为每次开机后需要运行一个命令才可以:export PATH=~/anaconda3/bin:$PATH然后再运行...原创 2018-05-02 16:44:57 · 5934 阅读 · 0 评论 -
机器学习:逻辑回归(Logistic Regression)
定义:逻辑回归假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。输入:逻辑回归的输入是一个线性组合,与线性回归一样,但是输出变成了概率。通过伯努利(类似抛硬币的概率分布)的概率公式我们可以得到sigmoid函数。逻辑回归的最终形式:hθ(x;θ)=11+e−θTxhθ(x;θ)=11+e−θTxh_{\theta }(x;\theta)...原创 2018-05-02 22:42:44 · 938 阅读 · 0 评论 -
机器学习:GBDT(Gradient Boosting Decision Tree)
GBDT涉及到模型融合,模型融合分为三类,Bagging、Boosting和Stacking。Gradient Boost是一个框架,里面可以套入很多不同的算法。GBDT就是其中的一个子类,以决策树作为弱分类器。GBDT可以用来做分类,也可以用来做回归。Boosting:Boosting是一个前向分布算法,在每一步求解弱分类器和它的参数后,不去修改之前已经求好的分类器和参数。决策树:决策树...原创 2018-05-02 22:58:10 · 344 阅读 · 0 评论 -
主成分分析——PCA降维算法
PCA,是一种降维算法,在我们处理高维数据的时候,他能够降低后序计算的复杂度,在“预处理”阶段先对原始数据进行降维。PCA就是通过将高维的数据通过线性变换投影到低维空间。降维当然意味着信息的丢失,不过鉴于实际数据本身常常存在的相关性,我们可以想办法在降维的同时将信息的损失尽量降低。以下就是PCA算法的基本步骤,我们假设有m条n维数据:将原始数据按列组成n行m列矩阵X将X的每一行(代...原创 2018-05-03 16:02:58 · 1150 阅读 · 0 评论 -
XGBoost调参经验
本文介绍三部分内容: xgboost 基本方法和默认参数 实战经验中调参方法基于实例具体分析1.xgboost 基本方法和默认参数在训练过程中主要用到两个方法:xgboost.train()和xgboost.cv()#xgboost.train()APIxgboost.train(params,dtrain,num_boost_round=10,evals=(),ob...转载 2018-05-10 22:42:08 · 370 阅读 · 0 评论 -
奇异值分解 VS 主成分分析
主成分分析(PCA)的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。一般我们会用特征值分解去解释PCA。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵...原创 2018-05-04 17:23:47 · 1056 阅读 · 0 评论 -
中文分词之隐马尔科夫模型(HMM)
HMM(Hidden Markov Model): 隐马尔科夫模型。李开复1988年的博士论文发表了第一个基于隐马尔科夫模型(HMM)的语音识别系统Sphinx,被《商业周刊》评为1988年美国最重要的科技发明。这个事件在吴军的《数学之美》中也有提及。HMM模型可以应用在很多领域,所以它的模型参数描述一般都比较抽象,以下篇幅针对HMM的模型参数介绍直接使用它在中文分词中的实际含义来讲:...转载 2018-05-05 17:17:03 · 1617 阅读 · 0 评论 -
最邻近规则分类——KNN(K-Nearest Neighbor)
KNN,是机器学习中常用的一种分类算法,主要的应用领域是对未知事物的判别,判断未知事物属于哪一个类别。它的思想是,根据未知事物特征与已知事物特征的距离去计算,看未知事物与哪一个已知类别的事物最接近。K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)...原创 2018-04-28 13:47:41 · 2705 阅读 · 0 评论 -
凸优化理论学习
在机器学习和深度学习的工作中,最后一步都是对损失函数的极值计算,而这个极值如果我们能够找到全局极值也就是最小值,这是最好的情况;否则我们就必须想办法把原来的问题进行转化或者尝试其他的方法。这其中用到的方法就是凸优化理论。下面我将对我学习的凸优化理论进行一些整理,知识点可能比较杂碎,但句句是关键和我们所必须了解的。衡量一个问题难易的程度不在于其是否线性,而在于是凸问题还是非凸问题。一阶导...原创 2018-05-07 13:44:12 · 4564 阅读 · 0 评论 -
特征选择:python lime
首先我们先看源代码:import limeimport sklearnimport numpy as npimport sklearnimport sklearn.ensembleimport sklearn.metricsfrom __future__ import print_functionfrom sklearn.datasets import fetch_20ne...原创 2018-05-16 17:53:44 · 10426 阅读 · 2 评论 -
机器学习:随机森林(Random Forest)
随机森林,Random Forest,简称RF,是一个很强大的模型。要研究随机森林,首先要研究决策树,然后再去看RF是怎么通过多颗决策树的集成提高的模型效果。决策树分为三种,分别是ID3、C4.5和CART决策树:ID3:信息增益 C4.5:信息增益率 CART:Gini系数而随机森林算法中,“随机”是这个模型的灵魂,“森林”只是一种简单的组合方式而已。随机森林在构建每棵树的时候,...原创 2018-04-24 21:16:04 · 2802 阅读 · 0 评论