自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jeffrey-Heart

成功在于坚持

  • 博客(67)
  • 资源 (4)
  • 收藏
  • 关注

转载 高斯判别分析(Gaussian discriminant analysis)和朴素贝叶斯方法(Naive Bayes)

高斯判别分析(Gaussian discriminant analysis)和朴素贝叶斯方法(Naive Bayes) 生成模型和判别模型监督学习一般学习的是一个决策函数: y=f(x)或者是条件概率分布: p(y|x)判别模型直接用数据学习这个函数或分布,例如Linear Regression和Logistic Regression。 生成模型是用数据先学习联合概率分布p(x...

2018-05-13 15:04:26 2708

转载 详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

2018-05-08 22:11:04 485

原创 xgboost原理

Xgboost原理Obj(Θ)=L(Θ)+Ω(Θ)=∑i=1nL(yi,yi~)+∑i=1KL(yi,yi~)(280)(280)Obj(Θ)=L(Θ)+Ω(Θ)=∑i=1nL(yi,yi~)+∑i=1KL(yi,yi~)\begin{equation}\begin{aligned}Obj(\Theta) &= L(\Theta) +\Omega(\Theta) \\&=\sum_{i=...

2018-05-07 20:43:42 209

原创 信息熵,交叉熵和相对熵

1 信息熵的抽象定义 信息熵是由信息论之父香农提出来的,它用于随机变量的不确定性度量,先上信息熵的公式。H(P)=∑ip(i)logp(i)H(P)=∑ip(i)log⁡p(i)H(P) = \sum_i p(i) \log{p(i)}我们可以用log ( 1/P )来衡量不确定性。P是一件事情发生的概率,概率越大,不确定性越小。可以看到信息熵的公式,其实就是log ( 1/P ...

2018-03-12 09:58:04 355

转载 机器学习中的范数规则化之(一)L0、L1与L2范数

        今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化。我们先简单的来理解下常用的L0、L1、L2和核范数规则化。最后聊下规则化项参数的选择问题。这里因为篇幅比较庞大,为了不吓到大家,我将这个五个部分分成两篇博文。知识有限,以下都是我一些浅显的看法,如果理解存在错误,希望大家不吝指正。谢谢。        监督机器学习问题无非就是“minimizeyour error whil...

2018-03-02 14:11:06 297

原创 统计学习方法-感知机

感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1 二值。感知机对应输入空间中将实例划分为正负两类的分离超平面,属于判别模型。感知机学习旨在求出将训练数据进行线性划分的分离超平面。为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机是神经网络和支持向量机的基础。import numpy as np"""感知机学习算法的原...

2018-02-28 10:09:00 192

原创 统计学习方法-逻辑斯蒂回归

梯度下降法import numpy as npimport math"""逻辑斯蒂回归算法 梯度下降方法"""def L_W(X, y, w, b): wx = np.dot(w, X.T) + b return np.dot(y, wx) - np.sum( np.log(1+np.exp(wx) ), axis=0)def update_w(X, y, w, b, delta=1...

2018-02-28 10:06:48 291

原创 统计学习方法-隐马尔科夫模型

import numpy as np import mathdef HMM(): Pi = np.array([0.2, 0.4, 0.4]) print(Pi) A = np.array([[0.5, 0.2, 0.3], [0.3, 0.5, 0.2], [0.2, 0.3, 0.5]]) print(A) B = np.array([[0.5, 0.5], [0.4, 0.6]...

2018-02-28 09:59:28 317

原创 牛顿法和拟牛顿法

    牛顿法和拟牛顿法是求解无约束最优化问题的常用方法,收敛速度快。牛顿法是迭代算法,每一步需要求解目标函数的海塞矩阵(Hesse matrix)的逆矩阵,计算复杂。拟牛顿法通过正定矩阵近似海塞矩阵的逆矩阵或海塞矩阵,计算速度快。    牛顿法    考虑无约束优化问题    min f(x)   其中x* 为目标函数的极小值点    假设f(x)具有二阶连续偏导数,若第k次迭代值为x^(k),...

2018-02-23 15:17:28 356

原创 使用Python求一个全排列

为了编写方便,这里使用递归def swap(l_date, a, b): temp = l_date[a] l_date[a] = l_date[b] l_date[b] = temp# Input: s=0 ,e = len(l_date)# OutPut: l_outputdef perm(l_date, s, e, l_output): if s

2016-07-27 08:54:14 520

原创 python 递归保存数据在list中不正确

这里使用python来求一个组合数def combine(l_date, n, m, l_output, result): for i in range(n, m - 1, -1): l_output[m - 1] = l_date[i - 1] if m > 1: combine(l_date, i - 1, m - 1

2016-07-27 08:41:59 3651 1

原创 取n个数中第k大数

#include#include#includeusing namespace std;int random_partion(int *arry, int n){ time_t t; srand((unsigned)time(&t)); int index=rand()%n; swap(arry[index], arry[n-1]); //起到随机

2016-07-19 21:24:00 505

原创 二分图最大匹配算法-匈牙利算法

#include#includeusing namespace std;int map[105][105];int visit[105],flag[105];int n,m;bool dfs(int a){ for(int i=1; i<=n; i++) { if(map[a][i]&&!visit[i]) {

2016-07-18 09:21:38 339

原创 Python 爬百度帖吧图片

import reimport urllibimport urllib.requestdef getHtml(url):    page = urllib.request.urlopen(url)    html = page.read()    return htmldef getImg(html):    reg = r'src="(http:/

2016-04-24 14:02:39 307

转载 Class对象

JAVA类型信息——Class对象一、RTTI概要    1、类型信息RTTI:即对象和类的信息,例如类的名字、继承的基类、实现的接口等。2、类型信息的作用:程序员可以在程序运行时发现和使用类型信息。3、RTTI真正含义:运行时,识别一个对象的类型。    4、如何在程序运行时识别对象和类的信息?        1)传统RTTI:即在编译时已知道了所有的类型。   

2016-04-24 13:57:44 395

原创 codeblocks-13.12mingw 配置opencv-3.1.0(二)

1、选择Settings-->Compiler 选择头文件所在目录Search Directories ->Compiler  2、选择Settings-->Compiler      选择lib文件所在目录Search Directories ->Linker3、选择Settings-->Compiler    添加相应库文件,全部添加Linker set

2016-01-17 21:46:18 1110

原创 codeblocks-13.12mingw 配置opencv-3.1.0(一)

由于opencv-3.1.0 只提供编译好的vc12 和vc14版本,而codebooks默认使用的是mingw编译器,所以如果使用vc12或vc14就会出现Build: Debug in test (compiler: GNU GCC Compiler)===|obj\Debug\main.o||In function `main':|E:\OpenCv工程\test\main.cp

2016-01-17 21:18:36 2439

转载 ClassLoader详解及用途

ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回 这个类的class对象。 1.1 几个相关概念ClassLoader负责载入系统的所有Resources(Class,文件,来自网络的字节流 等),通过ClassLoader从而将资源载入JVM  每个class都有一个reference,指

2016-01-02 22:03:53 450

转载 git忽略特殊文件

有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示“Untracked files ...”,有强迫症的童鞋心里肯定不爽。        好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略

2016-01-01 22:40:52 452

转载 spring junit 做单元测试,报 Failed to load ApplicationContext 错误。

spring junit 做单元测试,报 Failed to load ApplicationContext 错误。 查找了好一会,最后发现。@ContextConfiguration(locations = { "classpath:/spring/applicationContext.xml","classpath:/spring/app-config.xml", ……

2015-07-18 21:38:36 6049

转载 log4j:WARN Please initialize the log4j system properly解决办法

log4j:WARN No appenders could be found for logger(org.springframework.context.support.ClassPathXmlApplicationContext).log4j:WARN Please initialize the log4j system properly.Spring 使用了LOG4J 这个开

2015-07-18 21:35:13 313

转载 spring AspectJ的Execution表达式-备忘笔记(转)

Aspectj切入点语法定义在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点"例如定义切入点表达式  execution (* com.sample.service.impl..*.*(..))execution()是最常用的切点函数,其语法如下所示: 整个表达式可以分为五个部分: 

2015-07-18 21:03:33 437

转载 百度_谷歌_雅虎搜索引擎URL参数全解析

一、百度搜索引擎URL参数全解析在搜索引擎的RUL地址参数中,我们可以清晰的知道,该软件是否与搜索引擎进行了点击付费类的合作,我们以百度搜索的URL参数部分举例说明如下:http://www.baidu.com/s?wd=关键字wd(Keyword):查询的关键词;(必要参数)http://www.baidu.com/s?wd=关键字& amp;cl=3cl(Class):

2015-06-22 22:45:49 3682

转载 windows下C语言多线程编程

_beginThreadex创建多线程解读一、需要的头文件支持 #include          // for _beginthread()需要的设置:ProjectàSetting-->C/C++-->User run-time library 选择Debug Multithreaded 或者Multithreaded。即使用: MT或MTD。源码如下:

2015-01-24 23:29:40 3450

转载 秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别

本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底应该使用CreateThread还是_beginthreadex?    使用多线程其实是非常容易的,下面这个程序的主线程会创建了

2015-01-24 23:26:05 413

转载 Windows静态库和动态库的创建和使用

偶们在实际的编程开发中,经常会遇到运行时无法找到某个DLL文件或者链接时无法找到某个LIB文件。然后,我们就开始乱GOOGLE一下,然后将VS2005的设置改变一下,或许就Ok了,我们将别人开发的DLL或者LIB导入到我们的编程中,那么这些lib,DLL到底是什么呢?下面,偶就细细道来。 首先,偶们说第一个:静态链接库(Static Libary)偶们用VS2005做一个静态链接库先

2015-01-24 22:45:05 792

原创 函数指针

在c语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址(入口地址),所以函数名跟数组名很类似,都是指针常量。函数指针就是指向这个入口地址的指针变量,注意函数指针是一个变量将函数名改成(*指针名)就可以了形式1:返回类型(*函数名)(参数表) void (*pFun)(int); void glFun(int a){ return;} vo

2015-01-24 22:01:24 348

转载 c++中__declspec用法总结

“__declspec”是Microsoft c++中专用的关键字,它配合着一些属性可以对标准C++进行扩充。这些属性有:align、allocate、deprecated、 dllexport、dllimport、 naked、noinline、noreturn、nothrow、novtable、selectany、thread、property和uuid。1,_declspec(1

2015-01-24 21:40:29 429

原创 Linux 静态库、动态库

库是一种软件组件技术,库里面封装了数据和函数。库的使用可以使程序模块化。Windows系统包括静态链接库(.lib文件)和动态链接库(.dll文件)。Linux通常把库文件存放在/usr/lib或/lib目录下。Linux库文件名由:前缀lib、库名和后缀3部分组成,其中动态链接库以.so最为后缀,静态链接库通常以.a作为后缀。在程序中使用使用静态库和动态库时,他们载入

2015-01-24 18:13:12 640

转载 数据挖掘入门指导

在下不是什么牛人,看大家对数据挖掘很感兴趣,自己也做这个方向的给大家介绍介绍。写的不对的地方求改正。真真要做数据挖掘还是要有良好的统计背景,概率论和数理统计,泛函,实变函数,测度论等。如果你这些都懂了的话那么水平应该很高了。我在这里这写点自己的感受吧。当做科普。数据挖掘解决的主要问题就是分类,聚类,回归,关联分析等问题。搜索中的分词,专名识别等都是用crf模型来做的。数据挖掘广泛的运用在各

2015-01-24 12:27:53 568

原创 规避重复包含

文件1.h#ifndef INFO#define INFOstruct info{ int num; char name[20];} ;#endif文件2.h#include "1.h"文件 main.c#include #include #include "1.h"#include "2.h"int main() { return 0;}

2015-01-23 20:55:32 281

原创 const用法

constt的本质是伪常量,无法用于数组初始化,以及全局变量初始化,原因在于const仅仅限定变量一旦初始化后无法在直接赋值(const 只是限定一个变量无法直接赋值,但是可以间接赋值)。但是还是有可能被意外修改,例如间接赋值,并不是完全只读,所以并非真正意义上的常量,例如把局部const常量放在栈区,而不是静态区(静态区会一直存在),也不知代码区禁止修改#include#include

2015-01-23 20:02:16 303

原创 宏定义#号用法

#define S(#X)     //自动给参数X转换为"X",转换为字符串#include#define S(X) system(#X)void main(){ S(calc);}

2015-01-23 19:26:12 496

转载 C_语法_宏定义define和函数的作用对比

要写好C语言,漂亮的宏定义是非常重要的。宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。 我们来看一个例子,比较两个数或者表达式大小,首先我们把它写成宏定义: #define M

2015-01-23 14:30:34 447

转载 C/C++中关于struct内存对齐问题

题:struct st1{                                       struct st2{          int i;                                                 char c;          char c;

2015-01-23 14:08:00 467

转载 函数中省略号的意义和用法

某些情况下希望函数的参数个数可以根据需要确定。典型的例子有大家熟悉的函数printf()、scanf()和系统调用execl()等。那么它们是怎样实现的呢?C编译器通常提供了一系列处理这种情况的宏,以屏蔽不同的硬件平台造成的差异,增加程序的可移植性。这些宏包括va_start、va_arg和va_end等。                 ----   采用ANSI标准形式时,参数

2015-01-22 21:53:22 1464

原创 C/C++assert 断言

一、动态断言assertassert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。#include

2015-01-22 20:53:41 5407

原创 进程管理演示

一、设计内容 设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有简单的进程控制、同步与通讯机构,其进程调度算法可任意选择(优先级调度,时间片轮转,短进程优先中的一种)。每个进程用一个PCB表示,其内容根据具体情况设置。各进程之间有一定的同步关系(可选)。系统在运行过程中应能显示或打印各进程的状态及有关参数的变化情况,以便观察诸进程的运行过程及系统的管理过程。二、设计指

2015-01-20 23:13:20 3120 4

原创 编程序模拟银行家算法

一、编程序模拟银行家算法1)对用银行家算法来避免死锁的方法有较深入的了解,给出系统的初始状态,模拟避免死锁的动态过程。2)银行家算法中的数据结构(1)可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。Available[j]=K,则表示系统中现

2015-01-20 23:03:53 2559

转载 boost在DevC++中的安装过程

Boost的源码主要分为两类:一类是源码都在头文件中源码。只用这类源码只需要包含特定的头文件即可。一类是源码包含在头文件和源文件中。想要使用该类源码需要连接该头文件对应的动态链接库文件。第二类的源码主要有以下几类:· Boost.Filesystem· Boost.GraphParallel· Boost.IOStreams· Boost.MPI· Boost.Pr

2015-01-19 23:34:32 973

进程管理实验

设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有简单的进程控制、同步与通讯机构,其进程调度算法可任意选择(优先级调度,时间片轮转,短进程优先中的一种)。每个进程用一个PCB表示,其内容根据具体情况设置。

2015-01-21

银行家算法

银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。为实现银行家算法,系统必须设置若干数据结构。

2015-01-21

JavaSE 火车售票系统

Java 工程 ,对Java感兴趣的人有一定帮助

2014-08-14

HTTP多线程下载

用Java编写的HTTP多线程下载工具,Java课程设计

2014-06-24

空空如也

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

TA关注的人

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