自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 机器学习之CTR预估评价指标

一 离线、在线评价指标1.1 LogLoss对数损失熵熵的主要作用是告诉我们最优编码信息方案的理论下界(存储空间),以及度量数据的信息量的一种方式。理解了熵,我们就知道有多少信息蕴含在数据之中,现在我们就可以计算当我们用一个带参数的概率分布来近似替代原始数据分布的时候,到底损失了多少信息。交叉熵KL散度(相

2018-01-12 17:56:23 6405

转载 c++对象模型

登录首页 专栏 专家 热文chenglinhust的专栏[转]C++对象模型2013-8-12阅读81 评论0 C++对象模型 今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后获益良多,现在转在我自己的博客里面,作为以后复习之用。——谈VC++对象模型(美)简.格雷程化    译译者前言

2014-02-25 10:58:36 828

原创 链表(待续)

#include#include #include #include "List.h"using namespace std;//--------------------------------------------------------------------------------------------------------------------------/

2013-12-30 08:24:21 552

原创 机器学习之传统贝叶斯

贝叶斯

2013-12-25 21:42:31 849

转载 协方差矩阵

协方差矩阵的详细说明黄叶权  整理于2007-7-18 在做人脸识别的时候经常与协方差矩阵打交道,但一直也只是知道其形式,而对其意义却比较模糊,现在我根据单变量的协方差给出协方差矩阵的详细推导以及在不同应用背景下的不同形式。 变量说明:设为一组随机变量,这些随机变量构成随机向量,每个随机变量有m个样本,则有样本矩阵

2013-12-21 19:58:11 686

转载 方差

详解协方差与协方差矩阵分类: 软件开发心得 2011-03-23 10:46 11177人阅读 评论(12)收藏 举报matlabmatrix2010协方差的定义 对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协

2013-12-21 19:57:51 535

原创 机器学习之主成分分析(PCA)

主成分分析:

2013-12-21 19:53:34 1379

转载 梯度下降法

梯度下降法是一个一阶最优化算法,通常也称为最速下降法。我之前也没有关注过这类算法。最近,听斯坦福大学的机器学习课程时,碰到了用梯度下降算法求解线性回归问题,于是看了看这类算法的思想。今天只写了一些入门级的知识。我们知道,函数的曲线如下:编程实现:c++ code[cpp] view plaincopy

2013-12-11 19:58:32 636 1

原创 机器学习之线性回归(Linear Regission) 、 Logistic Regission

一  问题引入                     假设一个房屋销售数据如下:                                 由上表可以得出一个图:                 图中的蓝色点,表示已经存在的数据。但是若出现一个未统计在内的数据,例如红色点,那么我们如何得知其销售价格呢?常用的解决办法是利用数学,我们根据给定的数据元素,模拟一个模型来

2013-12-11 19:56:02 732

转载 七大排序算法总结

各种排序的稳定性,时间复杂度和空间复杂度总结: 我们比较时间复杂度函数的情况:                             时间复杂度函数O(n)的增长情况所以对n较大的排序记录。一般的选择都是时间复杂度为O(nlog2n)的排序方法。时间复杂度来说:(1)平方阶(O(n2))排序  各

2013-12-09 20:23:18 720

原创 排序之归并排序(MergeSort)

归并排序(Merge Sort)基本思想:        将两个或者两个以上的有序表合并为一个新的有序表,即将待排序序列分成若干个子序列,在每个子序列有序的前提下,将子序列合并为整体有序的序列;举例:归并排序,先分解成小的序列,对子序列排序,在合并子序列,故其是分治法的典型应用;重点是如何合并两个有序的子序列。合并操作:       假设序列data[i..

2013-12-09 19:24:41 571

原创 排序之希尔排序(Shell Sort)

希尔排序(Shell Sort):又叫缩小增量排序,该方法是直接插入排序的改进,其实质就是分组直接插入排序;我们还记得直接插入排序对基本有序的序列排序时,效率很高;由此思想得出希尔排序;基本思想:    先将待排序序列分成若干个子序列(由相距同等增量的元素组成),然后分别对分组序列进行直接插入排序;     缩小增量,依据增量再次分组排序。待到整个序列基本有序时,整体进行直

2013-12-08 15:32:55 524

原创 排序之简单选择排序(Simple Selection Sort)

简单选择排序(Simple Selection Sort)基本思想:    首先在待排序序列中选择最小的元素与序列的第一个位置元素交换,然后在剩余序列中再找出最小的元素与第二个     位置元素交换。以此类推,直至第n-1个元素与第n个元素比较交换为止;(也可以理解为依次从无序区中选择最小的     元素插入到有序区的末尾位置)算法操作:设数组data[0......n-1]:

2013-12-08 10:39:40 564

原创 排序之直接插入排序(Straight Insertion Sort)

直接插入排序(Straight Insertion Sort)的基本思想:   依次从无序表中取出一个元素,将其插入有序表的合适位置,从而使得有序表依然有序,长度加1,重复操作直至全部记录完成插入为止;算法操作:设数组为data[0 , 1 , 2 , ......n - 1]:           1) 初始时, 将data[0]设置为有序区, data[1 , 2 , ....

2013-12-08 09:32:42 673

原创 排序之冒泡排序(Bubble Sort)

冒泡排序思想:设数组长度为N。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3.N=N-1,如果N不为0就重复前面二步,否则排序完成。代码实现:#includeusing namespace std;//-----------------

2013-12-07 20:53:38 626

原创 排序之堆排序(Heap Sort)

堆的定义:具有n个元素的序列{k1 , k2 , k3 ......kn},当且仅当满足条件:此时序列成为堆;若用数组存储堆,则堆可以看作完全二叉树,只不过其任一非叶节点满足上述性质,即:Key[i] Key[2i] && Key[i] => Key[2i + 1](大顶堆)(1)所有非叶节点均不大于或者均不小于其左右子节点;(2)所有节点的左子树或者右子树皆满足

2013-12-07 19:18:58 695 1

转载 灰度以及灰度图像

1、灰度图像、灰度(值)灰度图像是由灰度像素组成的,所谓灰度像素就是指:在RGB颜色模型下,图像中每个像素颜色的R、G、B 三种基色的分量值相等的像素。在RGB 颜色模型下,RGB 三原色的取值都是0~255 之间的整数。因此,灰度图像只能表现256 种颜色(或亮度)。通常把灰度图像中像素的亮度称为灰度值。2、图像的灰度化处理在数字图像处理中,灰度直方图是一种最简单、最有用

2013-12-02 09:44:43 1787

原创 (16)替换空格字符

题目描述:请实现一个函数,把字符串中的每个空格替换成“%20”,例如输入的字符串“we are happy.”,则替换结果为:“we%20are%20happy.”思路一:从头到尾扫描字符串,遇到空格时,将其后面的字符全部后移两个字节,再将包括空格在内的三个字节赋值为:“%20”;若字符串长度为n,那么每次遇到一个空格,移动字符数为O(n),总的时间复杂度为O(n*n);思路二

2013-11-24 20:00:00 440

原创 (15)数组中出现次数超过一半的数字

题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如数组data{1,2,3,2 ,2 , 2 ,5 , 4 , 2};数组长度为9,其中2出现5次,超过数组长度的一半,因此输出为2;思路一:若数组是无序的,我们可以利用排序算法将数组排序,那么有根据数组的特点,在下标[N / 2]处即为所求;{1 ,2 ,2 ,2 ,2 ,2 ,3 ,4 ,5}--->

2013-11-22 20:21:29 596

原创 (14)第一个只出现一次的字符

题目描述:在给定的一个字符串中,找出第一次出现且个数为1的字符;

2013-11-22 17:05:18 571

原创 K最近邻结点算法(k-Nearest Neighbor algorithm)KNN——python简单实现

K近邻:代码实现:# -*- coding: utf-8 -*-import numpy#from numpy import *import operator#函数功能:将数据文件转换为矩阵形式def FileToMartix(filename): f = open(filename) arrayLines = f.readlines()

2013-11-20 10:40:26 1312

原创 (13)和为s的连续正数序列

题目描述:输入一个正数sum,打印出所有和为s的连续正数序列;序列至少包括2个数;例如sum = 9 = 2 + 3 + 4 = 4 + 5 , 则序列为[2 , 3 , 4] ,[4 , 5];思路:假设所求序列为:[small............big];small为最小值,big为最大值;且small 若CurrentSum == sum:直接打印满足的序列;

2013-11-20 10:16:12 598

原创 (12)调整数组,使奇数位于偶数之前;

题目描述:输入一个整数数组,调整该数组中元素的顺序,使所有奇数位于数组前半部分,偶数位于后半部分;思路一:从数组的首元素开始扫描,若遇到偶数,将其拿出,并将该元素后面的元素一次迁移,这样挪完后,数组末尾空出移位,则再将偶数元素赋予该空位;这样没遇到一个偶数元素,需要移动次数为O(n),假设数组元素个数为n;则时间复杂度为O(n*n);思路二:设置两个指针pBegin

2013-11-19 20:37:22 736

转载 (11)求五百万内的亲和数

第六章、亲和数问题--求解500万以内的亲和数作者:上善若水、July、yansha。出处:http://blog.csdn.net/v_JULY_v 。前奏    本章陆续开始,除了继续保持原有的字符串、数组等面试题之外,会有意识的间断性节选一些有关数字趣味小而巧的面试题目,重在突出思路的“巧”,和“妙”。本章亲和数问题之关键字,“500万”,“线性复杂度”。

2013-11-19 09:28:07 834

原创 二分(折半)查找

折半查找:又叫二分查找,采用分治思想,适用于不经常变动且查找频繁的表;算法思想:将n个元素(假设n个元素升序)分为大致相同的两部分,取data[n / 2] 与目标元素m比较:若data[n/2] == m:return (n / 2);若data[n/2] > m:则我们只要在data[]的左半部分继续查找;若data[n/2] 时间复杂度:O(logn);优点:比较

2013-11-18 21:22:00 648

转载 (10)寻找满足和为定值的两个或多个数

程序员编程艺术:第五章、寻找和为定值的两个或多个数     作者:July,yansha,zhouzhenren。    致谢:微软100题实现组,编程艺术室。    微博:http://weibo.com/julyweibo   。    出处:http://blog.csdn.net/v_JULY_v  。    wiki:http://tctop.wikispac

2013-11-18 18:40:11 857

原创 排序之快速排序(Quick Sort)

快速排序:代码实现:#include#includeusing namespace std;//---------------------------------------------快速排序Soulation1---------------------------------------int partion_Soulation1(int* data , int start

2013-11-15 21:09:44 928

原创 (9)求旋转数组中的最小数值

题目描述:将一个数组最开始的若干元素搬到数组的末尾,称之为旋转数组;输入一个增序数组的旋转数组例如{3,4,5,1,2} 其旋转数组中的最小数值为{1};思路一:顺序遍历数组中的每一个元素,找出最小值;时间复杂度O(n);思路二:旋转数组有增序数组变换而来,可以考虑二分查找 , 其复杂度为O(logN);但是旋转数组的增序排列是分为两部分的,而且我们的目标:

2013-11-14 20:17:39 690

原创 (8)连续子数组的最大和

题目描述:输入一个整型数组,元素有正数,也有负数。数组中一个或者多个组成一个子数组,求所有子数组中的最大值为多少?举例:{1 , -2 , 3 ,10 , -4 ,7 ,2 ,-5} ,那么最大子数组为{3 ,10 , -4 , 7 , 2}。最大值为18;思路一:穷举法遍历所有连续子数组,比较找出其中子数组值最大的一个;MaxSum[i .....j] 为数组data中第i个到第

2013-11-13 21:09:28 567

原创 (7)左旋字符串

原作者:v_JULY_v:http://blog.csdn.net/v_july_v/article/details/6322882                         何海涛--《剑指offer》感谢上述作者;我仅仅是将其一些思路重新自己实现了一遍,稍作整理,以便经常温习用。题目描述:字符串左旋操作:将一个字符串前面的若干个字符移动到字符串尾部;例如字符串

2013-11-13 14:55:40 605

原创 计数排序

计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。计数排序的基本思想是对于给定的输入序列中的每一个元素x,确定该序列中值小于x的元素的个数。一旦有了这个信息,就可以将x直接存放到最终的输出序列的正确位置上。例如,如果输入序列中

2013-11-12 19:14:27 371

转载 (6)翻转句子中单词的顺序

文章出处:http://zhedahht.blog.163.com/blog/static/254111742007289205219/作者:何海涛题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。

2013-11-11 18:50:24 560

原创 (5)数组中的逆序对数

逆序对:A[1,2......n]是一个包含不同数的数组,若当 i A[j] ,则称(A[i] , A[j])为逆序对(InversonPair);思考一:何种情况下,数组A[]中含有的逆序对数最多?逆序对数为多少?当A是完全逆序的数组时,含有最多的逆序对 , 即A = {n , n- 1 , n-2 , ......, 2 , 1};以1结尾的逆序对(A[i] , 1)个数为  n

2013-11-08 20:25:38 769

原创 (4)统计一个数字,在排序数组中出现的次数

题目描述:统计一个数字K,在排序数组中出现的次数;例如:数组data{1,2,2,3,3,3,3,4} , k = 3 则其出现次数应该为4;思路一:顺序扫描,若data[i] = k , 计数Number ++;时间复杂度为O(n);思路二:耗费时间主要还是在查找k上,由于数组已经排好序,可以利用二分查找算法 , 进行查找;若K= 3,又因为3连续出现;

2013-11-07 20:13:13 848

转载 从K近邻算法、距离度量谈到KD树、SIFT+BBF算法

从K近邻算法、距离度量谈到KD树、SIFT+BBF算法前言    前两日,在微博上说:“到今天为止,我至少亏欠了3篇文章待写:1、KD树;2、神经网络;3、编程艺术第28章。你看到,blog内的文章与你于别处所见的任何都不同。于是,等啊等,等一台电脑,只好等待..”。得益于田,借了我一台电脑(借他电脑的时候,我连表示感谢,他说“能找到工作全靠你的博客,这点儿小忙

2013-11-07 15:57:18 1383

原创 (3)打印1到最大的n位数

题目描述:输入数字n,顺序打印出1到n位的十进制最大数,例如n = 2,即打印出1 , 2 , 3 ...... 97 , 98 , 99;思路一:最大n位十进制数:999.......9999 ,共有n位;易知:其为()循环从1--输出;但是这里的为int类型,或者long long 类型;但是若n很大时,极易造成溢出;且此题考查的很有可能就是应聘者对大数问题解决办法;思

2013-11-06 20:41:27 782

原创 python——作用域

命名空间:名称与对象之间的关系,可以将命名空间看作是字典,其中键:名称,值:对像;注意:命名空间不共享名称。当有多个命名空间时,可以按照既定的名称解析规则,来解析名称。按照定义的搜索顺序,在多个命名 空间中查找名称;知识点一:在python中的变量名,在第一次赋值时,将被创建,而且变量名只有被创建了,才能使用,否则会报错;知识点二:在python中,只有模块,函数,类才可以

2013-11-05 19:21:27 804

原创 (2)斐波那契数列及其应用跳台阶问题

斐波那契公式:递归实现:输入参数n类型:unsigned int函数体:if : n  == 0 -->返回 0if : n  == 1 -->返回1if : n >= 2 --> 返回function(n - 1) + function(n - 2)分析:随着n 的增大,重复计算同一个数的次数明显增多,例如求f(9)会用到f(6);求f(8) 和f(7) 同样

2013-11-02 19:28:20 736

原创 (1)字符串全排列 / 组合

题目描述:输入一个字符串,打印出该字符串的全部排列;例如:字符串:abc     全排列:(abc , acb) , (bac , bca) , (cba , cab);解题思路:递归实现:从字符串中“依次”选择一个字符作为“首字符”,并在该“首字符”前提下,对剩余字符进行递归全排列处理;“依次”:即始终在“初始字符串”的前提下,后面的字符分别于第一个字符交换;字符串a

2013-11-01 20:13:07 657

原创 python-numpy的一些简单函数--补充中

模块Numpy的主要对象是同种类型元素的多维数组。在Numpy中维度(dimensions)叫做轴(axes) , 轴的个数叫做秩(rank)ndarray.ndim数组轴的个数,在python的世界中,轴的个数被称作秩ndarray.shape数组的维度。这是一个指示数组在每个维度上大小的整数元组。例如一个n排m列的矩阵,它的shape属性将是

2013-10-31 20:45:28 1862

空空如也

空空如也

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

TA关注的人

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