- 博客(39)
- 收藏
- 关注
原创 Java的Annotation(3)
JDK的元Annotation前面我们提到,java.lang下提供了三个基本的Annotation,分别是:@Override,@Deprecated,@SurppressWarnings.除此之外,java.lang.annotation包下还提供了四个元Annotation。@Retention只能用于修饰一个Annotation定义,作用是指定这个Annotation可以保留多...
2018-12-08 23:32:46
205
原创 Java Annotation(2)
使用Annotation的例子学习《疯狂java讲义》使用标记Annotation首先,我们先定义一个不含任何成员变量的Annotation类,也就是标记Annotation。//Retention注释用于指定Testable注释可以保留多久,这里是保留在运行期间//Target注释用于指定Testable注释能修饰的目标,这里指定了只能是方法@Retention(Reten...
2018-12-08 11:59:16
193
原创 Java的Annotation
AnnotationAnnotation增加了对元数据(metadata)的支持,它是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理.Annotation就像修饰符一样被使用,可用于修饰包,类、构造器、方法、成员变量、参数、局部变量的声明,这些信息被存储在Annotation的“name = value”对中。Annotation是一个接口,程序可以通过反射...
2018-12-07 15:21:47
460
原创 最近···
我的秋招大概是结束了,签了一个之后,后面就不大想面试和看书了,可能之前时间压力太大,现在进入了叛逆期。听说陌陌十一之前就有人受到了offer call,感觉自己又没戏了。好像一直都是这样,不知道自己想要什么,等到明确了自己想要的,却怎么也得不到。我还是非常非常非常想去陌陌的。千言万语汇成一句话,还是我太菜。现在不是终点,只是开始而已。我要继续努力了!...
2018-10-08 14:56:17
158
原创 LeetCode刷题 之 回溯法
LeetCode中回溯法的一些题总结最近刷LeetCode(惭愧,前两页还没刷完···)发现在好多问题中都碰到了回溯法,并且有一个固定的模板。于是想试着总结一下,并加深记忆,希望以后碰到类似的问题能信手拈来~利用回溯的题目,比较好识别,特点就是需要穷举才能得到答案。所以肯定是需要递归的。(吐槽一下自己,树的问题基本都需要递归,我每次碰到都要想半天···)话不多说,上题:LeetCode4...
2018-09-26 16:33:21
193
原创 梯度消失,梯度爆炸及表现
梯度消失出现的原因经常是因为网络层次过深,以及激活函数选择不当,比如sigmoid函数。梯度爆炸出现的原因也是网络层次过深,或者权值初始化值太大。综合来看,这两种梯度问题产生的原因可以归结为网络深度,以及反向传播带来的遗留问题。反向传播基于的是链式求导法则。如果导数小于1,那么随着层数的增多,梯度的更新量会以指数形式衰减,结果就是越靠近输出层的网络层参数更新比较正常,而靠近输入层的网络层参...
2018-09-15 18:11:46
5182
1
原创 LeetCode 392 is subsequence
脑子秀逗了,看过的题目做的时候还是会忘记。晚上笔试的时候遇到判断是否为字符子串的问题。其实自己之前就在LeetCode上做过,但是!!!丝毫!!没有印象!!!而且!!!这道题很简单的啊!小拳拳锤我胸口!下面进入正题: Given a string s and a string t, check if s is subsequence of t. You may ass...
2018-09-14 23:40:26
171
转载 TF-IDF
接上一篇,同样在wind中考了,因为没怎么接触过自然语言处理,所以对这一类算法并不熟悉,只知道有这么个词儿···尴尬···参考:https://blog.csdn.net/lionel_fengj/article/details/53699903 算法应用:是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增...
2018-09-14 22:12:10
115
原创 PageRank原理
真尴尬····参加Wind的宣讲会,笔试第一个简答就是描述PageRank,我一脸懵逼·····我只知道这是谷歌用来对网页进行排序的算法,好像有个什么权重系数,什么什么来着???回来赶紧补上。这么重要经典的算法我都不知道,真是枉为立志搞算法的人了【哭唧唧】进入正题 PageRank的原理是,通过计算链接到一个网页的数量及质量来对该网页的重要程度有一个估计。它所依赖的假设是越重要...
2018-09-14 20:54:32
1347
原创 降维方法
kNN首先,k近邻是一种监督学习方法;它的基本思路是这样的: 给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个邻居的信息来进行预测。如果是分类问题就用投票发,回归问题就用平均法。它的特点是,没有显式的训练过程,lazy learning的代表影响k近邻效果的两个因素; k值的选取,灰常重要,不同的k可能会导致不同的预测结果距离度量方式的选择(前面...
2018-09-14 14:37:34
224
原创 聚类算法(二)
密度聚类密度聚类假设聚类结构能通过样本分布的紧密程度确定,通常情况下密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类 簇以获得最终的聚类结果DBSCAN基于一组邻域参数来刻画样本分布的紧密程度。事先不用预设聚类簇数 https://blog.csdn.net/xiaokang123456kao/article/details/74978572...
2018-09-14 11:48:38
257
原创 聚类算法(一)---基于原型的聚类
高斯混合模型采用概率模型来表达聚类原型,簇划分则由原型对应的后验概率确定。求解利用EM算法 原理看这里EM算法和梯度下降:为什么高斯混合模型不可以用梯度下降来求解? 以及一些优化问题的求解方法 参考这里...
2018-09-13 22:56:58
2576
1
原创 树模型比较(二)
主要是看看随机森林,GBDT,XGBoost这些基于树的集成方法之间的异同。随机森林(RF)Bagging思想利用Boostrap采样,从样本中选取不同的集合构造决策树,整个过程可以并行;Boostrap采样方式带来了一个优势,能留下32%的数据从未被用过,可以用来进行包外估计两种扰动方式,样本扰动和属性扰动,增加了模型的多样性以及最终的泛化能力最终结果的得出:分类问题用投票...
2018-09-13 15:30:21
358
原创 XGBoost那些事儿
仔细把陈天奇大神的论文又读了一遍,对xgBoost的原理又有了一些深入的了解吧。XGBoost模型本身是Boosting方法,所以它的整体过程和传统的Boosting还是比较接近的,即串行化的建树过程。个人认为,XGBoost比较新奇点在于,在建树的过程中,结点分裂的时候使用的标准并不是传统的基于信息增益啊、信息增益比这类东西,而是根据损失函数自己定义了一个指标,并且在损失函数中也加入...
2018-09-12 23:54:07
548
原创 树模型的一些理解(从决策树到GBDT)
1.决策树基本流程:整体是一个递归的过程,返回条件有三种: 当前结点中所有样本的类别都为c,返回值为c; 当前结点中样本集合为空,此时返回父结点中类别数最多的类。把父节点的样本分布作为先验 当前结点中样本的属性集合为空,或者所有样本属性取值相同,将当前结点标记为叶节点,返回样本最多的类别。利用样本的后验分布 对当前结点,从属性集合A中选择最优划分属性a 对每一个属性a的取值,...
2018-09-08 21:29:12
1272
原创 对LightGBM的一点理解
LightGBM是微软团队2017年发表在NIPS的一篇论文,也是一种基于GBDT的Boosting的方法。之前有了各种Boosting方法,以及在各类数据比赛中大放异彩的XGBoost,LightGBM的优势在哪里呢?LightGBM是一种基于GBDT的提升方法。对于这类基于树的模型,最耗时的部分就是在进行特征选择结点分裂时,需要遍历所有可能的划分点,计算信息增益,从而找到最优的划分...
2018-09-06 15:13:07
9856
1
原创 贝叶斯分类
前言 在做携程的笔试的时候,考到了利用朴素贝叶斯方法进行情感分析的问题,其实就是一道利用NB进行文本分类的题。所以在这里总结一下贝叶斯的基本知识,以做回顾。从贝叶斯判定准则讲起(这里省略一些公式) 贝叶斯判定准则的大意是说,对于一个多分类问题,我们的目的是要找到一个判定准则hhh,使得总体风险最小化(这里的风险是指一个属于i的样本被误分到j类中)。而为使总体风险最小化,...
2018-09-05 19:37:59
668
原创 LeetCode05
最近在刷题,对于动态规划类的问题完全懵逼····就从LeetCode上找DP的题目专门练习一下,熟悉熟悉思路。 这里还有一个动态规划背包问题的比较好的资源,请戳这里.LeetCode05 Given a string s, find the longest palindromic substring in s. You may assume that the maximum leng...
2018-08-10 14:46:45
295
原创 第一次面试经验
上上周京东金融约好今天下午两点会打电话过来聊一聊。1点半我就回宿舍等着了。忐忑忐忑。等电话来了,深呼吸了好几下才接的电话。虽然估计是要凉凉了,但是也得记录一下······首先是面试官先介绍了他的部门是做什么的,如果感兴趣再往下聊,不感兴趣的话是可以给推到其他部门的。很nice自我介绍项目介绍 我在简历里写了仨项目(都挺水的)有两个是机器学习相关的,还有一个是自己研究生在做的仿真,就不提...
2018-07-23 16:33:44
229
原创 L1,L2正则
总体概述:L1L1L_1正则:L1=α∥ω∥1L1=α‖ω‖1L_1 = \alpha\lVert\omega\rVert_1,其中αα\alpha为惩罚系数,ωω\omega为线性模型的参数。表示权值的绝对值之和最小。使他变最小的趋势就是希望模型参数中为0的项多一些,即稀疏。提到L1,自然而然会想到为什么没有L0.其实是有的。L0表示的含义是参数中非零项的个数。他的趋势也是希望模...
2018-07-20 15:07:56
509
原创 SVM从入门到精通(三)
前面,对于线性可分的数据,我们采用硬间隔最大化的策略,来训练线性可分支持向量机。回忆一下,之前的最优化问题的表示为:minω,b12∥ω∥2minω,b12‖ω‖2\min\limits_{\omega,b} \frac{1}{2}\lVert\omega\rVert^2s.t.yi(ω⋅xi+b)−1≥0,i=1,2,⋯,Ns.t.yi(ω⋅xi+b)−1≥0,i=1,2,⋯,Ns.t. y_i...
2018-07-16 15:56:15
212
原创 排序算法小结
冒泡排序略····选择排序一个数组,从0~N-1选择最小的和0位置值交换;1~N-1选择最小的和1位置值交换;以此类推。每次都是选择最小的放在前面。插入排序:0~i-1位置是排好的,对于新来的第i个数,相当于把这个数按大小插到原来排好的牌里,对于计算机来说,插进去的过程就是一路交换。这个i-1位置,是从0开始一直往后扩的,一直扩到数组最后一个,这样这个数组就排好了...
2018-07-15 22:12:37
213
原创 信用卡欺诈模型的一些总结
有些言简意赅······· 1. 样本不均衡过采样 让少的生成,让两者同样多下采样i. 让多的和少的一样多,相当于让多的放弃一些数据,让二者一样少2. 各种评估指标:recall = TP/(TP+FN)精度(precision) = (TP+TN)/(FP+FN)局限性:举个极端情况的例子,如果数据中大部分都是正样本,只有很少的负样本(样本不均衡),那么我...
2018-07-12 00:10:42
2087
原创 SVM从入门到精通(二)
讲完了感知机,接下来开始进入我们的正题了。SVM也是一个二类分类模型,它的定义是在特征空间的间隔最大的线性分类器。对于感知机,它的学习策略是误分类点到分离超平面的间距和最小;而SVM的学习策略是对于距离分离超平面的点,使他们到分离超平面的间隔最大化。也因此,区别于感知机,使得SVM的解是唯一的。按照模型由简至繁,SVM可以分为:线性可分支持向量机,线性支持向量机和非线性支持向量机。当训练数...
2018-07-08 23:36:40
491
原创 SVM从入门到精通(一)
我是标题党【doge】······ 最近在看SVM算法的原理,之前只知道用,但是对理论推导并不是很明白,这次算是复习一下,加深理解。从感知机说起要深入理解SVM,首先要从感知机说起。 什么是感知机呢? 感知机(perceptron)是二类分类的线性分类模型。 假设输入空间为χ⊆Rnχ⊆Rn\chi\subseteq R^n,输出空间是y=−1,+1y=−1,+1y = {...
2018-07-06 23:30:37
535
原创 写于京东赛(JData)----如期而至,用户购买日期预测----之后
京东赛告一段落。作为一个菜菜鸟,虽然无缘前十,但是也算是有一点小感悟和一些对数据挖掘的认知。毕竟这是第一次接触比较接近实际工程中的数据,而且是时间序列相关的数据。一. 数据集的划分在做京东赛的时候,第一眼看到数据集就是懵的,感觉和房屋预测的咋一点都不一样·········训练集也没有,测试集也没有,而且还有好多个表,咋往一块拼呢·········后来看了wepon在天池优惠券核销预测的...
2018-07-01 22:33:38
2889
原创 Reading《Practical lessons from predicting clicks on Ads at Facebook》(1)
因为在做京东的算法大赛,小白选手,看了一些别人的入门级程序,胡乱改了一通,也没有什么大的进展,而且感觉比赛的问题和点击率预估还是有点像的,所以搜了个论文来读,看看牛人们的思路。于是找到了这篇论文。 这篇文章主要是提出了一个GBM+LR这样的结构,并且效果得到了很大的提升。具体结构如下图所示。 在解决点击率预估问题的时候,最重要的是在特征工程的构建上,也就是特征选择的过程(深以为然),再加上...
2018-06-24 22:29:59
881
原创 做完Kaggle入门赛的一点总结
Import pakagesimport datadata preparationdata analysis and feature engineeringModelingsubmission最近想要把学的机器学习算法用起来,所以开始看看kaggle上的比赛。看了两个新人入门赛泰坦尼克号生还预测和房屋价格预测。总结一下看代码的一些经验吧。 总体感觉是,在建立特征工...
2018-06-16 17:26:49
1449
原创 Reversing Linked List
Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K=3, then you must output 3→2→1→6→5→4; if K=4,
2017-09-22 16:54:18
396
原创 两个有序链表序列的合并
02-线性结构1 两个有序链表序列的合并(15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义:List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点
2017-09-18 21:48:29
911
1
原创 最大子列和问题
01-复杂度1 最大子列和问题(20 分)给定K个整数组成的序列{ N 1 , N 2 , …, N K },“连续子列”被定义为{ N i , N i+1 , …, N j },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连
2017-09-05 13:44:42
573
原创 Linux目录结构及文件的基本操作(shiyanlou)
1. linux的目录结构linux和windows目录的区别目录与存储介质上。windows主要是靠分区以及盘符来实现文件管理,目录是在盘符下的,相对而言不那么重要。而linux系统本身就是基于树形目录结构来构建整个系统的。虽然本质上都是存储在磁盘上,但从逻辑上来说,linux的磁盘是挂载在目录上的。FSH标准(filesystem hierarchy standard)定义了两层规范: 1.
2017-08-04 19:37:56
721
转载 Linux下文件的复制,移动与删除
博客来源文件复制命令cp命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination) cp [option] source1 source2 source3 … directory 参数说明: -a:是指archive的意思,也说是指复制所有的目录 -d:若源文件为连接文件(link file),则
2017-03-05 20:16:24
183
转载 Linux 下的U盘挂载
Linux 下的U盘挂载在做仿真的过程中,因为是通过wifi 连接的服务器,所以从服务器下载跑出来的图片还好,txt文件就会丢包。这时就需要从服务器把跑出来的txt文本文件下载下来,用以进行分析或者渲染,等等··方法步骤首先,需要保证u盘为FAT格式。先进入/mnt/目新建一个usb目录 cd /mnt/ mkdir usb先用fdisk -l命令,查看Linux系统下的硬盘情况。然后插上
2017-03-05 19:55:50
228
原创 Python 第六周 列表与元组
测验第4题def caculate(lst_num,lst_opr,num): for i in lst_num: for j in lst_opr: for k in lst_num: for l in lst_opr: for m in lst_num:
2016-05-01 10:46:10
676
转载 字符串
你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:```python#!/usr/bin/env python# -*- coding: utf-8 -*-第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;第二行注
2016-04-15 16:29:42
129
原创 Python第四周:函数与递归函数
Python第四周:函数与递归函数题目内容: 一个斐波那契数列的前10项为:1, 2, 3, 5, 8, 13, 21, 34, 55, 89,对于一个最大项的值不超过n的斐波那契数列,求值为偶数的项的和。输入格式: 一个正整数n,如100。输出格式: 值为偶数的项的和,如 2 + 8 + 34 = 44。输入样例: 100输出样例: 44```pythonn = int(raw_inpu
2016-04-15 11:16:59
622
原创 Python学习计划(1)
关于命令行运行python 程序 一开始利用教程里的方法 cd E:\code python bubble_sort.py总是提示找不到文件 后来百度了一下 直接运行就可以,不必先进入存python脚本的盘里 所以就是这样的 python E:\code\bubble_sort.py完美运行 或者打出 python 后 将脚本文件直接拖到控制台也可以
2016-03-19 16:36:31
343
原创 文章标题
关于命名空间在写我的第一个C++程序,简单的符号输出,第一次写的程序如下: ```C++ include <iostream>int main(){ int tries = 0; cout << "Are you ready for try #" << ++tries << "?\n";return 0;}编译结果出现了错误: 9 2 E:\计
2016-02-27 16:57:09
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人