自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (2)
  • 收藏
  • 关注

原创 扫描线模块质量提升1

2023-09-22 17:55:10 63

原创 【无标题】

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Comma

2023-08-15 09:26:09 95

原创 算法小 trick

1.在数组中求若干个数之和为某一给定值public boolean isExistence(int[] a, int target){ boolean[] dp = new boolean[target+1]; for(int n : a) { for(int i = dp.length-1; i >= n; i--) { ...

2019-03-09 20:10:17 182

原创 蓄水池抽样问题

1.问题描述:随机抽样问题表示如下:要求从N个元素中随机的抽取k个元素,其中N无法确定。这种应用的场景一般是数据流的情况下,由于数据只能被读取一次,而且数据量很大,并不能全部保存,因此数据量N是无法在抽样开始时确定的;但又要保持随机性,于是有了这个问题。所以搜索网站有时候会问这样的问题。2. k =1的情况:解法:我们总是选择第一个对象,以1/2的概率选择第二个,以1/3的概率选择...

2018-10-24 10:54:56 177

原创 趣味算法题-1

1.MAX(a,b)不能用比较符号,if,else,问好,冒号输出二者最大值public static int max(int a, int b) { System.out.println((a&(b-a>>31))); System.out.println((b&~((a-b>>31)+1))); return (a&(b-a...

2018-10-03 21:28:11 752

原创 有趣的算法题-2

一:二叉搜索树和双向链表输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。1.要用一个lastNode指针指着最右的节点。/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; ...

2018-10-03 21:28:03 393

原创 有趣的算法题-1

java结构中:Queue:offer,poll,isEmpty,peek定义队列:Queue<Integer> queue = new LinkedList<Integer>();Stack:push,pop,Empty,peek一  二维数组中查找:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递...

2018-10-03 21:27:55 252

原创 趣味算法题-1

1.在一维坐标轴上有n个区间段(坐标),求重合区间最长的两个区间段1.先按有坐标排序。2.用递归算法解决从后往前找长度。public class point { //定义点类 int x; int y; public point() { // TODO Auto-generated constructor stub } public point(int x, int ...

2018-10-03 21:27:47 208

原创 有趣的算法题-3

1.链表中环的入口节点假设x为环前面的路程(黑色路程),a为环入口到相遇点的路程(蓝色路程,假设顺时针走), c为环的长度(蓝色+橙色路程)当快慢指针相遇的时候:此时慢指针走的路程为Sslow = x + m * c + a快指针走的路程为Sfast = x + n * c + a2 Sslow = Sfast2 * ( x + m*c + a ) = (x + n *c + a...

2018-10-03 21:27:38 140

原创 趣味算法题-3

1.给出N和K还有一串数字字符串,按最小的代价把字符串变为K个相同数字的字符串,代价为原数字变为该数字后的差值。public static void phoneNumber() { Scanner in = new Scanner(System.in); int N = in.nextInt(); int K = in.nextInt(); String s = in.ne...

2018-09-03 20:00:32 195

原创 0-1背包法

求一个背包装最大货物:一个背包最多装重量为 C = 10 的物品,现有物品数 n = 5,物品的重量跟价值如下,求该怎么装能装到物品价值w = {2,2,6,5,4} v = {6,3,5,4,6} wv123456789101260669912121515152230336699910113650006666610114540006666610105460006666666public clas...

2018-06-22 09:06:46 497

原创 DP

(一)简介:动态规划与分治法的区别,分治法一般是可以将问题分为没有重叠的子问题,而动态规划则是一般是子问题是重叠的,大的问题可以分为小的子问题再求解,其与递归的区别是,这些子问题的求解只要求解一次就可以,我们会把它保存下来,下次用到直接取值即可,一般实现这样的做法就是把问题从小问题开始求解到大问题,从下往上求解,需要用到的子问题的解保存下来。 我们求解动态规划一般先找子结构,边界,跟状态转移方程。

2017-12-17 14:18:08 227

原创 模型评估和选择

评估方法。 1),留出法。 将数据集D划分为两个互斥的子集,一个作为测试集,一个作为验证集。为保证准确性,可以随机,可以分层采样。 一般是2/3-4/5用作训练,其余用作测试。 2), 交叉验证法。 平均划分为K个大小相似得互斥子集,尽量数据分布与原数据集保持一致(可以用分层),每次用一个作为验证集,其他作为训练集,训练K次。最后结果取均值。 留一法: 有m个样本点,m=k. 优点:

2017-12-12 21:27:27 469

原创 Divide and Conquer

(一)Kth Largest Element in an Array:当寻找第K大的数时,我们可以用quickselect 方法。 1)The basic idea is to use Quick Select algorithm to partition the array with pivot:Put numbers < pivot to pivot's leftPut numbers >

2017-12-11 00:05:00 400

原创 seaborn画饼图

(一)饼图:1)用到的方法:matplotlib.pyplot.pie() 2)参数解析:pie(x, explode=None, labels=None, colors=('b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'), autopct=None, pctdistance=0.6, shadow=False, labeldist

2017-12-10 16:29:50 30731 1

原创 sorted

(一):sortedweiggle sort: 1)先把数组排序。 2)从中间分开;把小的那部分数组上的数放在偶数位数组上;把大那部分的数放在奇那部分的数组上;都是从后往前遍历。public void wiggleSort(int[] nums) { int l = nums.length; quicksort(nums, 0, nums.length - 1

2017-12-09 10:09:21 183

原创 数据处理笔记(一)

一 处理缺失值的几种方法:1. 提交的kaggle代码转换成所要求的形式。my_submission = pd.DataFrame({‘Id’:test.Id,’SalePrice’:predicted_prices}) my_submission.to_csv(‘submission.csv’,index = False)1. 缺失值处理的几种方法 1. 直接把有缺失值的那一列去掉

2017-12-05 10:29:53 320

原创 win64+python2.7(64位)+anaconda下安装xgboost

(一)背景:这两天刚好想装xgboost从昨天早上就开始弄,搞了一天多终于装上了,实在不容易,经历了很多的错误,查看了无数的博客,想写个博客记录下来。(二)实验环境:先说明版本一定要注意! (1)我的是在pycharm中用的anaconda,要把anaconda中python的编译器放在环境变量”Path”中。 (2)下载git,后面所有的命令行都在git下运行。 (3)下载Ming64(

2017-12-02 20:47:41 341

原创 XGBDT

1.模型(1)整体模型函数如下:其中 k 表示树的数量,f 表示每棵树的预测函数;(2)截取到第 t 棵树的模型函数表示如下:2.训练(1)每次训练一棵树,目标函数如下:   其中第一项是损失函数,第二项是防止过拟合;N表示样本数,T表示所有树的叶子数目,t 表示训练第 t 棵树,w 表示叶子的输出值;(2)泰勒展开(二阶展开):其中:由于L为常数项,所以:因此,该优化问题就是找出

2017-11-28 11:12:56 900

原创 GBDT

提升树:以决策树作为基函数的提升方法(boosting)称为提升树;提升树利用加法模型与前向分步算法实现学习的优化过程;(一)回归问题的提升树算法1.基本分类器:回归树2.决策树的加法模型:3.学习策略:平方误差损失函数4.学习算法:前向分步算法其中:也就是说对回归问题的提升树算法来说,只需简单地拟合当前模型的残差;5.算法流程6.当损失函数是平方损失函数时,每一步优化是很简单的,

2017-11-28 11:11:47 232

原创 Adaboost

(一)BoostingBoosting方法是一种用来提高弱分类算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数;1.模型:加法模型其中b为基函数(弱分类器),gama为基函数的参数;beta为基函数的权重;2.学习策略:3.学习算法:前向分步算法这样,前向分布算法将同时求解从m=1到M所有参数beta,gama的优化问题简化为逐次求解各个bet

2017-11-28 11:09:53 316

原创 CART决策树

(一)简介1.CART(classification and regression tree)是应用广泛的决策树学习方法,既可以用于分类也可以用于回归;2.CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有限个单元,并在这些单元上确定预测值或者类别;(二)回归树1.一个回归树对应着特征空间的一个划分以及在划分的单

2017-11-28 11:07:08 559

原创 ID3和C4.5

(一)简介1.决策树是一种基本的分类与回归方法,由结点跟有向边组成;其中结点可以分为内部结点(代表特征)跟叶结点(代表类别或者回归预测值);2.决策树模型:从根结点开始,对样本的某一特征进行测试,根据测试结果,将样本分配到其子结点,如此递归对样本进行测试并分配,直至达到叶结点;3.决策树模型的学习有3个步骤:特征选择,决策树的生成(局部最优化过程),决策树的剪枝(全局最优化过程);4. 决策

2017-11-28 11:02:13 447

原创 ID3 和 C4.5

(1)决策树:决策树是以一种分类(ID3, C4.5,CART)和回归(CART)的方法。在分类的问题上表示基于特征对实例进行分类的过程。(2)ID3:ID3是以信息增益准则选择特征,递归的构建决策树。但是这有一个问题就是这样的话会偏向特征值取值比较多的属性,例如当把分类每一条记录的序号也作为特征是,这时它得到的信息增益最大,但是让它作为分裂规则是不准确的。(3)C4.5:为了避免ID3偏向属性值多

2017-11-28 09:41:19 320

原创 前剪枝算法和后剪枝算法区别

(一)剪枝算法的简介:剪枝一般是为了避免树的过于复杂,过于拟合而进行的一个动作,剪枝操作是一个全局的操作。(二)预剪枝:预剪枝就是在树的构建过程(只用到训练集),设置一个阈值,使得当在当前分裂节点中分裂前和分裂后的误差超过这个阈值则分列,否则不进行分裂操作。(三)后剪枝:(1)后剪枝是在用训练集构建好一颗决策树后,利用测试集进行的操作。 (2)算法: 基于已有的树切分测试数据:

2017-11-26 11:10:19 12594

转载 最大似然估计详解

极大似然估计        以前多次接触过极大似然估计,但一直都不太明白到底什么原理,最近在看贝叶斯分类,对极大似然估计有了新的认识,总结如下:贝叶斯决策        首先来看贝叶斯分类,我们都知道经典的贝叶斯公式:        其中:p(w):为先验概率,表示每种类别分布的概率;:类条件概率,表示在某种类别前提下,某事发生的概率;而为后验概率,表示某事发生了,并且它属于某一类别的概率,有

2017-10-31 20:07:20 4165

原创 #感知机的Python实现

原始形式# coding: utf-8# 原始感知机的学习算法import pandas as pdimport numpy as npfrom pandas import *import matplotlib.pyplot as pltfrom numpy import *x = np.array([[3, 4, 1],[3, 3, 1]]) #数据集x = x.transpose

2017-10-22 18:11:49 311

转载 欧氏空间,希尔伯特等空间的解析

在数学中有许多空间表示,比如欧几里德空间、赋范空间、希尔伯特空间等。这些空间之间有什么关系呢?首先要从距离的定义说起。 什么是距离呢?实际上距离除了我们经常用到的直线距离外,还有向量距离如Σni=1xi⋅yi−−−−−−−−√、 曲面距离、折线距离等等,这些具体的距离与距离之间的关系类似于苹果、香蕉等与水果的关系,前面是具体的事物,后面是抽象的概念。距离就是一个抽象的概念,其定义为: 设X是任一

2017-10-20 10:09:41 3465

原创 # 第五章 神经网络

标准BP```# coding: utf-8# 标准的BP 我们没运行一条数据改变更新一次参数,在一次数据集的遍历只把误差累计起来,各参数的导数只用每次求得的导数更新,不用累计!import pandas as pdfrom pandas import *import numpy as npfrom numpy import *x = pd.read_csv(r"C:\Users\zmy

2017-10-17 10:01:15 240

原创 对西瓜数据集实现LDA编程

数据集:代码:import pandas as pdimport numpy as npfrom pandas import *from numpy import *import matplotlib.pyplot as pltdef readdata(): dataset = np.loadtxt(r'C:\Users\zmy\Desktop\titanic\watermelon

2017-09-05 21:22:34 2160

原创 详细解释《机器学习实战》第5章logistic回归 第5-1程序(梯度下降法推导)和梯度下降法实现对率回归

从别人的参考过来的推导过程梯度下降法实现对率回归数据集代码# -*- coding: utf-8 -*-from log import *import pandas as pdfrom pandas import *import matplotlib.pyplot as pltimport numpy as npfrom numpy import *#读取数据到X,ydataset

2017-09-01 20:16:23 1172

转载 #匈牙利算法和Kuhn-Munkres算法

内容摘自高随祥的《图论与网络流理论》一书                 |N(S)|或者|X|或|Y|表示的是相应集合的元素的个数。                N(S)表示与S集合中的顶点相邻接的顶点,例如,A-B-C-D中,B的邻接点就是A和C。       A-B-C-D是一条增广路,红色线表示属于M匹配,黑色线表示不属于,图中,B,C两点是M饱和的,A,D两点是非M饱和的。

2017-08-17 16:25:17 3039

转载 极大似然和极大后验概率

极大似然和极大后验概率

2017-07-25 11:00:03 217

原创 linux下python包的安装注意

1.安装tidy时,最后一部make install(从Makefile读取命令)需要用root权限执行。2.安装BeautifulSoup: linux安装: - 可以通过系统软件包来安装:apt−getinstallPython−bs4;−也可以通过easyinstall或pip安装: apt-get install Python-bs4; - 也可以通过easy_install或pip

2017-07-03 17:36:15 1565

原创 python基础教程

第十四章 网络编程一个简单的客户机import sockets = socket.socket()host = socket.gethostname()port = 1234s.bind((host,port))s.listen(5)while True: c,addr = s.accept() print 'Got connection from', addr

2017-07-01 18:36:12 584

转载 文章标题<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post

Java里初始化一个类的对象,通过初始化快或者构造方法进行数据赋值。与其相关的执行代码有这么几种:静态初始化块初始化块构造方法静态初始化块 静态初始化块只在类加载时执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。非静态初始化块 非静态初始化块在每次初始化实例对象的时候都执行一次,可以给任意变量赋值。构造方法 在每次初始化实例对象时调用。重点:执行顺序

2017-06-29 15:24:53 1230

原创 python基础教程学习笔记

第十一章 文件和流flush(),close()会把缓冲区的数据写到硬盘。read(),readline(),readlines()分别为读取字符,读取行,读取整个文件。fileinput() 和 readline()非常相似,只是fileinput把全部的行读到创建的xreadlines对象中,而fileinput则把全部的行读到列表。文件迭代器不用显式的关闭文件:(1) for line

2017-06-28 19:37:36 365

原创 python基础教程(第二版)

第十章 自带电池导入模块: import syssys.path.append('c:/python27')//告诉程序到这里找模块1.1. 若模块是一个程序,则在导入时只执行一次,后面导入不在执行,修改后可以用reload函数重新导入,这时会重新执行。#hello2.pydef hello(): print 'Hello,World!'>>>import hello2>>>he

2017-06-27 10:20:12 4707 2

原创 ID3分类决策树算法

简述对已知D中元组分类所需要的平均信息公式:Info(D)=−∑mi=1Pilog2(Pi)Info(D) = -\sum_{i=1}^{m}P{i}log{2}(P{i}) (1) 1. 平均信息的解释: 对信息所使用的进制的解释: 由此对于公式(1),我们以2为底,表示我们以2进制对信息进行编码,Info(D)表示我们对D中元组进行全部分类时,以2进制为编码表示这些信息所需要的位数。属性的选

2017-06-26 17:02:18 884

原创 文章标题

第八章 异常8.1 捕捉异常try: x = input(“enter a number: “) except ZeroDivisionError: print “the second number can not be zero!” 上面的except子句可以有多个,可以捕捉多种类的异常。8.2 全捕捉try: x = input(“enter a numb

2017-06-23 22:15:24 194

python 脚本,用于画图用的脚本

python 脚本,用于画图用的脚本

2023-11-17

setCustomOs.txt

BN和卷积融合的方案

2019-07-19

x64-4.8.1-release-posix-seh-rev5

ming64,用于在window环境下编译c,c++,如果不经常用的话可以安装一个,方便快捷。

2017-12-02

空空如也

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

TA关注的人

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