自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

诚朴求食

个人公众号「诚朴求食」

  • 博客(73)
  • 资源 (2)
  • 收藏
  • 关注

原创 机器学习中调优的思路总结

在项目、工作中,如果你是作为一个算法工程师或者数据分析师,用到机器学习或深度学习模型的话,会经常遇到模型的结果始终提升不了的瓶颈。在这个时候,我们该怎么做呢?我对模型的优化进行了一份总结,以后大家遇到类似的模型效果提升不了的时候,就按照这个清单看一遍有哪些自己还没做的,有哪些觉得可以用到的,进行一番尝试。我主要从以下四个方面进行了一下总结:1、数据人们都说,数据决定了模型的上限,而不同的模...

2019-10-29 11:00:04 484

原创 凸优化理论学习

在机器学习和深度学习的工作中,最后一步都是对损失函数的极值计算,而这个极值如果我们能够找到全局极值也就是最小值,这是最好的情况;否则我们就必须想办法把原来的问题进行转化或者尝试其他的方法。这其中用到的方法就是凸优化理论。下面我将对我学习的凸优化理论进行一些整理,知识点可能比较杂碎,但句句是关键和我们所必须了解的。衡量一个问题难易的程度不在于其是否线性,而在于是凸问题还是非凸问题。一阶导...

2018-05-07 13:44:12 4556

原创 latex公式图片识别(转换为latex语法格式)

latex公式图片识别(转换为latex语法格式)

2022-06-22 15:32:51 11104

原创 损失函数MSE和MAE的区别以及如何选择

损失函数MSE和MAE的区别,如何进行选择

2022-06-21 11:09:09 8358

原创 Python垃圾回收学习笔记

python垃圾回收机制学习笔记

2022-06-09 20:50:22 240

原创 @property装饰器的用途和意义

@property是非常好用的装饰器

2022-06-08 17:23:33 852 1

原创 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 1697

原创 python中的直接赋值、浅复制与深复制

直接赋值: 其实就是对象的引用(别名)。浅拷贝(copy): 拷贝父对象,不会拷贝对象的内部的子对象。深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。使用时需要import copy首先这个涉及到...

2019-10-28 11:00:38 262

原创 python的占位符——%

在书写python程序的时候,大家经常会遇到格式化输出的情况。每到这种情况,大家如果没有好好总结过这方面的问题,就得需要去网上查找相关的博客。其实在python中,格式化输出都是使用占位符来实现的,下面我就对占位符使用的情况进行了一下总结。占位符的格式如下:%[(name)][flags][width].[precision]typecode不要被上面这一大串给吓唬到了,实际上这也是Pyth...

2019-10-22 13:57:44 1746

原创 python中@property的用法

在绑定属性时,如果我们直接把属性赋值给对象,比如:p = Person()p.name= 'Mary'那么会发生什么事情呢?我们可以按照下面的步骤做个试验。class Person(object): def __init__(self, name, age): self.__name = name self.__age = age def...

2019-10-22 09:47:00 291

原创 python日期和时间函数

获取当前日期/获取前一天日期/日期加减:import datetimetoday = datetime.date.today()oneday = datetime.timedelta(days=1)yesterday = today - onedayfmt = '%Y%m%d'yesterday = yesterday.strftime(fmt)print(yesterday)字...

2019-10-18 16:35:31 260

原创 世界就是一部经济史

欢迎关注我的公众号:诚朴求食文章链接:原文链接如果我说,世界就是一部经济史,可能有人不会这么觉得。但如果反观世界上任何一场战争,没有那么多所谓的爱与正义,深究一下,根本原因都是经济。美国南北战争,南方搞种植,出口棉花,进口日用品,要求国家降关税,利于出口,北方搞工业,怕外国货抢生意,所以要求提关税,减少外来货进入国内,这样南北方在经济上出现了矛盾,从而发生了南北战争。第二次世界大战,类似...

2019-10-16 09:31:08 570

原创 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 1834 1

原创 量化投资——IC、IR、RankIC

在量化投资中,IC和IR是用来计算因子好坏的一个标准。在多因子模型中,IC的值如果大于0.03则可能说明该因子是个不错的因子,和收益率有较大的相关性。那么我们应该如何来计算IC呢,IR又是什么东西呢,我将在本文中对IC、IR的计算方法以及含义进行介绍,并引出RankIC的计算方法。1、IC**IC即信息系数(Information Coefficient),表示所选股票的因子值与股票下期收益率...

2019-09-25 10:28:26 44593 5

原创 C/C++之STL简介

C++是一门很复杂的语言,因为其面向对象以及各类继承多态的性质,再包括其中指针的难以理解,导致要想全面的了解C++是非常难的, 一般的开发人员只要做到会用和知道怎么用和大概的底层实现就足够了,下面我们就来说一下C++中STL的特性。STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Le...

2018-09-29 19:48:12 423

转载 梯度弥散与梯度爆炸

问题描述先来看看问题描述。 当我们使用sigmoid funciton 作为激活函数时,随着神经网络hidden layer层数的增加,训练误差反而加大了,如上图所示。下面以2层隐藏层神经网络为例,进行说明。 结点中的柱状图表示每个神经元参数的更新速率(梯度)大小,有图中可以看出,layer2整体速度都要大于layer1.我们又取每层layer中参数向量的长度来粗略的估...

2018-08-28 15:37:59 1821

转载 浅谈LR算法的Cost Function

了解LR的同学们都知道,LR采用了最小化交叉熵或者最大化似然估计函数来作为Cost Function,那有个很有意思的问题来了,为什么我们不用更加简单熟悉的最小化平方误差函数(MSE)呢?我个人理解主要有三个原因:MSE的假设是高斯分布,交叉熵的假设是伯努利分布,而逻辑回归采用的就是伯努利分布;MSE会导致代价函数J(θ)非凸,这会存在很多局部最优解,而我们更想要代价函数是凸函数;M...

2018-08-28 13:33:59 1075

原创 深度学习:卷积神经网络

卷积神经网络是实际应用中最为成功的神经网络。卷积在机器学习中有两个具体的优势:稀疏连接和参数共享。对一幅图像进行卷积,使用卷积核进行卷积,然后卷积后得到特征映射或者特征图(Feature Map)。卷积就是对数据加权求和。一般而言,卷积使用星号表示卷积的过程,卷积适合交换律。在机器学习中卷积就是就是局部特征乘以对应的权重,然后再累加起来即可。稀疏连接:在传统的神经网络中,每个神经元都会连接...

2018-07-05 20:01:41 811

原创 深度学习:优化器

在神经网络中经常面对非凸函数的优化问题,所以在平时经常会用到一些网络的优化方法,包括局部最优、鞍点、梯度悬崖和梯度消失问题。对于大规模的神经网络,大多数的局部最优都有一个比较低的损失值,并且寻找真实的全局最优也不是一个很重要的问题,重要的是在参数空间中找到一个相对较低的局部最优值。(因为全局最优可能过拟合严重,局部最优反而可能更好)鞍点:是高维数据中一个很突出的问题。鞍点就像是两座山峰的中...

2018-07-04 21:19:17 653

原创 深度学习:正则化

正则化是为了使训练错误率和测试错误率的差距尽可能的缩小。以下为一些方法笔记:L0范数惩罚:拿高次多项式函数进行说明,将参数不等于0的个数控制在c以内来达到限制模型的目的。L1范数惩罚:要求参数数值的总和要小于某个数值,这种对参数数值总和的限制就是L1范数惩罚,也叫参数稀疏性惩罚。L2范数惩罚:把对参数绝对值求和的限制改为对参数的平方求和的限制,也叫权重衰减惩罚。对于代价函数,常使用MS...

2018-07-02 21:58:36 295

原创 深度学习:前馈神经网络

神经元模型,由两部分组成。一部分将信号进行累加,得到得分函数,还有偏置项(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 1175 2

原创 深度学习快速入门必备知识

要想快速的了解机器学习或者深度学习的内容,以下一些名词都是必须了解的;要想快速的上手机器学习或深度学习的项目,以下内容都必须熟练的运用:训练集、验证集、测试集查准率(准确率)、查全率(召回率):**混淆矩阵**confusion matrix。 TP+FP+TN+FN=数据总量 precision recall 查准率与查全率是一对鱼和熊掌,一般来说,查准率高时,查全率往往很低;查全率...

2018-06-29 10:37:31 319

原创 Python:层次聚类分析

层次分析属于聚类分析的一种,Scipy有这方面的封装包。linkage函数从字面意思是链接,层次分析就是不断链接的过程,最终从n条数据,经过不断链接,最终聚合成一类,算法就此停止。dendrogram是用来绘制树形图的函数。from scipy.cluster.hierarchy import linkage, dendrogramimport matplotlib.pyplot...

2018-06-01 14:55:54 7512 1

原创 机器学习调参工具:Hyperopt

Hyperopt库为python中的模型选择和参数优化提供了算法和并行方案。机器学习常见的模型有KNN、SVM、PCA、决策树、GBDT等一系列的算法,但是在实际应用中,我们需要选取合适的模型,并对模型调参,得到一组合适的参数。尤其是在模型的调参阶段,需要花费大量的时间和精力,却又效率低下。但是我们可以换一个角度来看待这个问题,模型的选取,以及模型中需要调节的参数,可以看做是一组变量,模型的质量标...

2018-05-30 17:03:23 2675 2

原创 Python pandas基础整理总结

近几日对金融数据进行预处理分析等等,pandas用的比较多,而且发现pandas的创始人就是为了处理金融数据的时候开发的pandas,在pandas功能不断扩展的时候才应用到了其他更多的领域,下面,我就对我这些天来对pandas的学习做一个简单的整理,沉淀一下。from pandas import Series, DataFrame import pandas as pdSeries类似...

2018-05-28 16:36:42 1075

原创 Selecting good features——IV. Stability selection & RFE

在特征工程当中,我们经常要对特征进行选择。最近在做股票的多因子分析,指导老师给了我一篇英文文献让我看一下,文献中用到了Stability和RFE两种方法,因此,我在这里对这两种方法进行一下说明。Stability——稳定性选择 RFE——递归特征消除(Recursive Feature Elimination)以上两种方法都可以考虑wrapper方法。他们都建立在基于模型的选择方法之上,...

2018-05-16 20:03:31 1784

原创 特征选择: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 10417 2

转载 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 369

原创 树的三种遍历方式源码(递归与非递归)

在面试的时候,我们会经常被问到树的三种遍历,也就是前序遍历、中序遍历和后序遍历。所谓前序遍历,就是先访问根节点,再左,再右。命名方式就是根据根节点是在哪访问的去定义的。下面我们先用Java实现三种遍历的递归,是非常的简单。树的前序遍历:public void recursiveProOrder(Node root) { if (root != null) { S...

2018-05-08 22:30:19 605

原创 快速排序和归并排序

快速排序和归并排序是面试的时候经常被问到的东西,对于其中的任何一个知识点都要对答如流才可以,比如手推、时间复杂度、原理等等。下面我就对这两种排序中常问到的知识点进行以下总结。快速排序快速排序代码如下(要做到熟记并理解):private static int Partition(int[] arr, int left, int right) { //arr[lef...

2018-05-06 17:07:25 580

转载 中文分词之隐马尔科夫模型(HMM)

HMM(Hidden Markov Model): 隐马尔科夫模型。李开复1988年的博士论文发表了第一个基于隐马尔科夫模型(HMM)的语音识别系统Sphinx,被《商业周刊》评为1988年美国最重要的科技发明。这个事件在吴军的《数学之美》中也有提及。HMM模型可以应用在很多领域,所以它的模型参数描述一般都比较抽象,以下篇幅针对HMM的模型参数介绍直接使用它在中文分词中的实际含义来讲:...

2018-05-05 17:17:03 1612

原创 奇异值分解 VS 主成分分析

主成分分析(PCA)的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。一般我们会用特征值分解去解释PCA。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵...

2018-05-04 17:23:47 1051

原创 主成分分析——PCA降维算法

PCA,是一种降维算法,在我们处理高维数据的时候,他能够降低后序计算的复杂度,在“预处理”阶段先对原始数据进行降维。PCA就是通过将高维的数据通过线性变换投影到低维空间。降维当然意味着信息的丢失,不过鉴于实际数据本身常常存在的相关性,我们可以想办法在降维的同时将信息的损失尽量降低。以下就是PCA算法的基本步骤,我们假设有m条n维数据:将原始数据按列组成n行m列矩阵X将X的每一行(代...

2018-05-03 16:02:58 1141

原创 机器学习:GBDT(Gradient Boosting Decision Tree)

GBDT涉及到模型融合,模型融合分为三类,Bagging、Boosting和Stacking。Gradient Boost是一个框架,里面可以套入很多不同的算法。GBDT就是其中的一个子类,以决策树作为弱分类器。GBDT可以用来做分类,也可以用来做回归。Boosting:Boosting是一个前向分布算法,在每一步求解弱分类器和它的参数后,不去修改之前已经求好的分类器和参数。决策树:决策树...

2018-05-02 22:58:10 341

原创 机器学习:逻辑回归(Logistic Regression)

定义:逻辑回归假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。输入:逻辑回归的输入是一个线性组合,与线性回归一样,但是输出变成了概率。通过伯努利(类似抛硬币的概率分布)的概率公式我们可以得到sigmoid函数。逻辑回归的最终形式:hθ(x;θ)=11+e−θTxhθ(x;θ)=11+e−θTxh_{\theta }(x;\theta)...

2018-05-02 22:42:44 935

原创 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 5927

原创 linux压缩和解压文件

Linux上常用的压缩文件是tar.gz文件,也就是tgz,这些文件对应的命令是tar。但是也有一些文件是我们从Windows电脑上传过去的,比如zip文件,这些文件对应的命令是unzip。以下做一个总结。1、tartar有以下参数:-c :create 建立压缩档案的参数;-x : 解压缩压缩档案的参数;-z : 是否需要用gzip压缩;-v: 压缩的过程中显示档案;-f:...

2018-05-02 10:21:29 111

原创 2018春招微软预科生面试经历

学校在南京,26号早上坐高铁到苏州进行面试,到了以后11点多,错过了约好的11点,就改到了下午一点开始面试。中午微软HR小姐姐带我们吃了食堂给我们准备的盒饭,然后一位大牛在期间给我们介绍了微软苏州的情况和苏州的各方面清况(说实话还挺诱人的)。一点回到等候的会议室,没过几分钟就有小哥哥叫我去一面了。一面问题:自我介绍面试官:看你做过的挺杂呀;我:…然后解释了下面试官:问我现在主要的方向...

2018-05-01 10:16:30 1146 2

原创 Ubuntu16.04下Anaconda的安装

今天用实验室的一台闲置电脑安装了ubuntu16.04,然后想在上面安装Anaconda环境。经过查询资料和博客,最终如下实现:用另一台笔记本官网下载Anaconda:https://www.continuum.io/downloads#linuxUbuntu下使用ifconfig -a命令查看本机ip笔记本使用MobaXterm SSH连接到Ubuntu(女朋友推荐的,真心不错),将文...

2018-04-28 23:06:20 618

原创 最邻近规则分类——KNN(K-Nearest Neighbor)

KNN,是机器学习中常用的一种分类算法,主要的应用领域是对未知事物的判别,判断未知事物属于哪一个类别。它的思想是,根据未知事物特征与已知事物特征的距离去计算,看未知事物与哪一个已知类别的事物最接近。K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)...

2018-04-28 13:47:41 2697

基于小波变换的数字图像水印技术

该代码采用了小波系数变换与Arnold置乱相结合的方法来对图像进行处理,再嵌入水印信息,经过测试表明,该算法较一般的小波变换鲁棒性更高。

2015-08-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除