自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhourunan

IT小白

  • 博客(71)
  • 资源 (1)
  • 收藏
  • 关注

原创 数据结构----冒泡排序

冒泡排序(Bubble Sort)一种交换排序。基本思想:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。以升序冒泡为例:每趟排序过程中通过两两比较相邻元素,将小的数字放到前面,大的数字放到后面。核心代码:void BubbleSort(int arr[],int size){ int i,j,t; // 要遍历的次数,第i趟排序 for(i = 1; i < siz...

2018-05-05 17:02:38 18517 2

原创 机器学习----十大经典算法(总)

一、C4.5算法C4.5是决策树算法ID3的改进,它继承了ID3 算法的优点,并用信息增益率选择划分属性,能处理非离散或不完整的数据。二、K均值(K-means)算法K-means是基于距离的聚类算法,师徒找出满足方差最小的K个聚类。三、支持向量机(SVM)SVM选择合适的核函数将低维空间中难以划分的向量集映射到高维空间,建立一个分割超平面使其与支持向量的距离最大。四、最大期望(EM)算法EM算法...

2018-05-01 09:52:01 1806 1

原创 机器学习----面试题目总结(二)

源自:微信公众号(人工智能头条)----阿里机器学习七面面经一面(现场面)由于现场面大部分原理都需要手写解释。监督学习非监督学习啥区别,word2vec 属于啥类型xgb,gbdt啥区别l1,l2正则原理、区别xgb中l1正则怎么用的python 中 list 底层怎么实现list dict有什么区别手写对dict排序介绍项目,从项目中又问了一些二面(现场面)二面大哥是临时叫来的,没看过我的简历,...

2018-04-24 15:37:48 227

原创 机器学习----面试题目总结(一)

以下题目来自:微信公众号(人工智能头条)你在简历中提到曾经构建过一个文档挖掘系统,你都做了哪些工作?能否在主题建模(topic modeling)中使用LDA技术实现文档聚类?假设你有数百兆字节的数据文件,这其中包括PDF文件、文本文件、图像、扫描的PDF文件等等,请你给出一个分类方案。你如何阅读扫描版pdf文件或图像格式的书面文件的内容?朴素贝叶斯为什么被称为“朴素”?请详细介绍一下朴素贝叶斯分...

2018-04-24 15:33:52 633

原创 机器学习----基础知识

机器学习的特点:机器学习算法以数据和特征为基础,是数据驱动的科学;机器学习的目标是对数据进行预测与分析;机器学习以模型方法为中心,并利用统计学习的方法构建模型,并且利用构建好的模型对未知的数据进行预测和分类;机器学习是以概率论、统计学、信息论、计算理论、最优化以及计算机科学等多领域交叉的学科,因此要想在机器学习上有所成绩,必须要有深厚的数学基础。  机器学习的对象:特征:是最后需要输入到模型中进行...

2018-04-21 12:31:34 442

原创 数据结构----快速排序

快速排序(Quick Sort)是对冒泡排序的一种改进。基本思想:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,再对两部分记录分别进行继续排序,使得整个记录有序。首先任选一个记录(通常选第一个记录)作为枢轴(或支点)privot。一趟快速排序的做法:附设两个指针low和high,它们的初始值分别为low和high,设枢轴记录的关键字为privotkey,首...

2018-03-19 23:17:06 378

原创 数据结构----排序

根据牛客网算法视频以及https://blog.csdn.net/c406495762/article/details/78979946总结。排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。排序分为内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则...

2018-03-19 22:27:49 323

原创 二分查找总结

1.二分查找又称折半查找2.优点:比较次数少;查找速度快;平均性能好3.缺点:待查表为有序数组(若为无序数组,分成两份查找无意义,排序本身也耗费时间);插入删除困难(增删需要移动大量的节点)4.思想:在一个有序数组中,取数组的中间值与要查找的数进行比较;若要查找的数等于中间值,查找成功;若要查找的数大于中间值,则在右半区间继续取中间值与要查找的数进行比较;若要查找的数小...

2018-09-02 00:47:59 3947

原创 最大子数组之和

一个整数数组中的元素有正有负,在该数组中找出一 个连续子数组,要求该连续子数组中各元素的和最大,这个连续子数组便被称作最大连续子数组。比如数组{2,4,-7,5,2,-1,2,-4,3}的最大连续子数组为{5,2,-1,2},最大连续子数组的和为5+2-1+2=8。问题输入就是一个数组,输出该数组的“连续子数组的最大和”方法一:枚举法枚举所有的子数组并求出他们的和,长度为n的数组,有n(n...

2018-08-31 19:30:37 421

原创 句子/文档相似度计算

句子/文档相似度计算1.计算两个句子的相似性分词à列出所有词à计算词频à列出词频向量à两个向量的相似程度通过夹角的大小,来判断向量的相似程度。夹角越小,代表越相似(夹角越小,余弦值越大)2.计算两篇文档的相似性使用特征选择(TF-IDF)算法,找出两篇文章的关键词; 每篇文章各取出若干个关键词(比如20个),合并成一个集合,计算每篇文章对于这个集合中的词的词频(为了避免文章长...

2018-07-24 21:42:25 1363

原创 特征选择----TF*IDF

TF*IDFTF 称为词频,表示词在一篇文档中出现的频率=词在该文档中出现的次数 / 该文档中单词的总数---TF越大,表示该词对文档越重要DF称为文档频率,一个词在多少篇文章中出现过IDF 称为逆文档频率=Ln(总文档数/出现该次的文档数)反映了一个词在所有文档中出现的频率,如果一个词在很多文档中出现,那么它的IDF值较低;如果一个词在比较少的文档中出现,那么它的IDF值较高。如...

2018-07-24 21:40:18 1364

原创 算法分析与设计----动态规划

动态规划的原理基本思想:将待求问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。基本要素: 最优子结构  重叠子问题设计动态规划算法的步骤:找出最优解的性质,并刻画其结构特征;递归地定义最优值;以自底向上的方式计算最优值;根据计算最优值时得到的信息构造最优解。动态规划与分治法的异同共同点:将待求解的问题分解成若干子问题,先求解子问题,...

2018-07-24 21:36:53 383

原创 机器学习----正则化

L1和L2是正则化项,又叫做罚项,是为了限制模型的参数,防止模型过拟合而加在损失函数后面的一项。L0正则:模型参数中非零参数个数;L1正则:模型各参数绝对值之和;L2正则:模型各个参数的平方和的开方值。L1和L2的区别:L1是模型各个参数的绝对值之和。L2是模型各个参数的平方和的开方值。使用L1可以得到稀疏的权值;用L2可以得到平滑的权值L1会趋向于产生少量的特征,而其...

2018-07-24 21:34:45 306

原创 机器学习----过拟合和欠拟合

过拟合(1)什么是过拟合?模型学习能力太强,以至于把噪声数据的特征也学习到了,导致模型泛化能力下降,在训练集上表现很好,但是在测试集上表现很差。(2)过拟合出现的原因:训练集的数量级和模型的复杂度不匹配。训练集的数量级要小于模型的复杂度; 训练集和测试集特征分布不一致; 样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系; 权值学习迭代次数...

2018-07-24 21:30:55 485

原创 C语言实现----快速排序

1.快速排序是一种交换排序2.基本思想:        选取一个基准数;        然后将大于和小于基准的元素分别放置于基准数两边;        继续分别对按此方法分治基准数的两侧,直至整个序列有序。3. 注意问题        基准数的选择(通常选取头元素或者尾元素)        元素的查找(一组一组的查找需要交换的元素)        递归调用(终止递归...

2018-07-15 00:17:24 40814 7

原创 二分查找

1. 二分查找又称折半查找2. 优点:            比较次数少            查找速度快            平均性能好3. 缺点:            待查表为有序数组(若为无序数组,分成两份查找无意义,排序本身也耗费时间)            插入删除困难(增删需要移动大量的节点)4.思想:            在一个有序数组中,取数组的中间值与要查找的数进行比较; ...

2018-07-14 23:27:16 130

转载 Python下LDA的基础用法

"""第一部分:载入数据"""import numpy as npimport ldaimport lda.datasets # document-term matrixX = lda.datasets.load_reuters()print("type(X): {}".format(type(X)))print("shape: {}\n".format(X.shape))...

2018-07-12 00:11:42 8642

原创 华为历年笔试面试机考试题在线练习----输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。

#include <iostream>#include <string>using namespace std;int main(){ string str; while(getline(cin,str)){ int num1=0,num2=0,num3=0,num4=0,i,n; n=str.size(); ...

2018-07-08 16:34:16 358

原创 华为历年笔试面试机考试题在线练习----取近似值

题目描述写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。输入描述:输入一个正浮点数值输出描述:输出该数值的近似整数值示例1输入复制5.5输出复制6#include<stdio.h>int main(){ float n; scanf("%f",&n); int N; N = ...

2018-07-07 23:12:56 825

原创 华为历年笔试面试机考试题在线练习----提取不重复的整数

题目描述输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。输入描述:输入一个int型整数输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数示例1输入复制9876673输出复制37689#include<stdio.h>int main(){ int n; scanf("%d",&n); int arr[10]=...

2018-07-07 23:02:38 624

原创 华为历年笔试面试机考试题在线练习----字符个数统计

题目描述编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。输入描述:输入N个字符,字符在ACSII码范围内。输出描述:输出范围在(0~127)字符的个数。示例1输入复制abc输出复制3#include<stdio.h>#include<string.h>int main(){ int c; in...

2018-07-07 22:46:28 282

原创 华为历年笔试面试机考试题在线练习----计算字符个数

题目描述写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。输入描述:输入一个有字母和数字以及空格组成的字符串,和一个字符。输出描述:输出输入字符串中含有该字符的个数。示例1输入复制ABCDEF A输出复制1#include<stdio.h>#include<string.h>int main(){ ...

2018-07-07 18:21:51 305

原创 华为历年笔试面试机考试题在线练习----字符串最后一个单词的长度

题目描述计算字符串最后一个单词的长度,单词以空格隔开。 输入描述:一行字符串,非空,长度小于5000。输出描述:整数N,最后一个单词的长度。示例1输入复制hello world输出复制5#include<stdio.h>#include<string.h>int main(){ char str[5005]; gets(str); int c...

2018-07-07 18:08:30 206

原创 程序员面试金典----翻转子串

假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。测试样例:"Hello world","worldhello "返回:...

2018-06-21 23:18:56 151

原创 程序员面试金典----原串翻转

请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。给定一个string iniString,请返回一个string,为翻转后的字符串。保证字符串的长度小于等于5000。测试样例:"This is nowcoder"返回:"redocwon si sihT"class Reverse {public: string reverseStri...

2018-06-21 23:01:59 182

原创 剑指offer----数字在排序数组中出现的次数

统计一个数字在排序数组中出现的次数。class Solution {//数组有序-----> 借助二分查找法//找到第一个key 与 最后一个key//利用两者下标的差+1 即求得key出现的次数public: int GetNumberOfK(vector<int> data ,int k) { int len = data.size(); ...

2018-06-20 23:32:59 149

原创 剑指offer----和为S的连续正数序列

小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所有和为S的连续正数序列。序列内按照从小至...

2018-06-20 22:24:04 162

原创 剑指offer----和为s的两个数字

输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。方法一:暴力解法:双重遍历class Solution {//暴力解决:双重遍历public: vector<int> FindNumbersWithSum(vector<int> array,int sum) { //...

2018-06-20 17:40:11 132

原创 剑指offer----翻转单词序列

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?class Solution {/...

2018-06-20 15:52:52 162

原创 剑指offer----左旋转字符串

汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!class Solution {//步骤1:以n为界,将字符串分为两个子串//步骤2:对两个子串分别进行翻...

2018-06-20 15:46:14 177

原创 剑指offer----滑动窗口的最大值

给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, ...

2018-06-20 00:25:21 124

原创 Windows:Anaconda3安装TensorFlow

前提 Anaconda3 已经安装成功第一步:设置 Anaconda 仓库镜像,因为默认连接的是国外镜像地址,下载速度比较慢,将镜像地址改为清华大学开源软件镜像站,打开 Anaconda Prompt, 输入:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda conf...

2018-06-07 14:41:13 194

原创 Windows虚拟机 Ubuntu16.04安装tensorflow

第一步:在清华镜像网站下载:点击打开链接第二步:在终端输入:pip install \ -i https://pypi.tuna.tsinghua.edu.cn/simple/ \ https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/cpu/tensorflow-1.3.0-cp27-none-linux_x86_64.whl第三步:...

2018-06-07 14:26:56 1688 1

原创 Win7与Ubuntu 16.04 之间实现复制粘贴

安装 vmware tools:sudo apt install open-vm-toolssudo apt install open-vm-tools-desktopsudo reboot

2018-06-07 14:02:38 5198 2

原创 Anaconda ---报错

ImportError: No module named 'sklearn.model_selection'原因: sklearn库版本太低,升级为高版本方法1:cmd输入:conda update scikit-learn:方法2:方法1:update的速度超级慢进行如下操作:cmd输入1:conda config --add channels https://mirrors.tuna.ts...

2018-05-27 11:18:00 376

原创 结巴分词器

安装jieba库:pip3 install jieba #结巴分词# -*- coding:utf-8 -*-import sysimport osimport jiebasent = '天善智能是一个专注于商业智能BI、数据分析、数据挖掘和大数据技术领域的技术社区 www.hellobi.com 。内容从最初的商业智能 BI 领域也扩充到了数据分析、数据挖掘和大数据相关 的技术领域,包括...

2018-05-26 22:58:54 3451

原创 Anaconda 安装gensim

镜像安装gensim

2018-05-25 21:36:34 7904 6

原创 Python爬虫----正则表达式符号与方法

常用符号:常用方法:

2018-05-17 23:15:46 222

原创 机器学习----神经网络(实战)

import numpy as npdef tanh(x): return np.tanh(x)def tanh_deriv(x): return 1.0 - np.tanh(x)*np.tanh(x)def logistic(x): return 1/(1 + np.exp(-x))def logistic_derivative(x): r...

2018-05-17 17:42:48 971

原创 机器学习----神经网络(一)

1. 背景:     1.1 以人脑中的神经网络为启发,历史上出现过很多不同版本     1.2 最著名的算法是1980年的 backpropagation 2. 多层向前神经网络(Multilayer Feed-Forward Neural Network)     2.1 Backpropagation被使用在多层向前神经网络上     2.2 多层向前神经网络由以下部分组成:        ...

2018-05-17 16:40:42 171

数据结构排序算法

不稳定的排序算法:快速排序、希尔排序、堆排序、选择排序(简记:快些选堆)所需辅助空间最多:归并排序。所需辅助空间最少:堆排序。平均速度最快:快速排序。当n较大,则应采用时间复杂度为O(nlogn)的排序方法:快速排序、堆排序或归并排序。

2018-05-24

空空如也

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

TA关注的人

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