自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

aift的专栏

对未来真正的慷慨,是把一切献给现在。

  • 博客(504)
  • 问答 (1)
  • 收藏
  • 关注

原创 2020数字中国 天池——智慧海洋建设 Top1%

文章目录总结Solution这是我前段时间参加的天池比赛,最终成绩:20/3275。 下面先写总结,最后给出我的solution。总结比赛理解:各种合理有效交叉特征可以批量扩展,结合业务背景往往比较精准。造特征要批量进行(别一个个,别试图学习test),但要注意,随时考虑过拟合(即考虑线下线上,ab榜数据可能区别,避免造只适合train的特征),合理的验证:(双层十折)/林有夕利用AUC的方法验证gap。比赛总结:探索数据可视化与清洗(极大过拟合,利用了label清洗(作弊),没有考虑线上线下要

2020-05-18 19:27:29 1443 6

原创 Kaggle——ASHRAE 能源消耗预测,排名1%

这是在2019年11~12月期间,我参加的一个kaggle比赛——ASHRAE - Great Energy Predictor III最终成绩:排名前1%,22/3614。差一点点就金牌了,感觉前面的名次每前进一名都跟炼丹似的,有一定运气成分。。。。难搞哦。比赛的具体要求我就不详细介绍了,直接去比赛官网看就好。我当时自己整理了notebook,记录了当时自己的解决方案,但是不好分享,关键...

2020-05-05 15:36:39 3989 10

原创 xgboost推导及常见问题

文章目录XGBoost 推导思路XGBoost 详细推导过程树的生长细节分裂一个结点寻找最佳分裂点停止生长常见问题References本篇文章仅仅是之前自己学习xgboost时的学习笔记,仅作备忘录之用。本篇文章大部分内容摘自多篇文章的精华部分,文章中及最后已注明出处,在此一并感谢各位大佬!XGBoost 推导思路图片来源及详细解释见:知乎文章。建议参考陈天齐大佬的PDF。XGBoo...

2020-04-07 14:30:40 506

原创 Dropout深入理解

文章目录简介What is dropout?How it work?Dropout in neural networksTraining stageTest stageCode implementationSome questionsReferences简介在2012年,Alex、Hinton(大佬们呀)在其论文《ImageNet Classification with Deep Convol...

2019-08-14 15:58:50 2246

原创 深度学习中的Normalization总结(BN/LN/WN/IN/GN)

文章目录简介独立同分布(i.i.d)Internal Covariate ShiftBatch-Normalization为什么用BNBN怎么操作InferenceBatchNorm的好处简介在深度学习领域,Normalization用得很多,最近在学习各种Normalization方法的时候颇有感悟和收获,特此记录。BN(Batch Normalization)于2015年由 Google...

2019-08-11 18:25:00 6499 13

原创 PyCharm配置远程python解释器

文章目录使用场景及简介配置过程本地及服务器环境配置Deployment配置远程python解释器总结References使用场景及简介虽然对于个人日常使用来说,Windows更加友好,但深度学习工作常需要在服务端(linux)环境中跑模型代码。对于新手来说,在学习ML/DL时,常常需要将本地写的代码传到GPU服务器中,然后在服务器上运行。这种方式需要先在本地写好代码,然后通过WinSCP这样的...

2019-06-13 20:47:50 21130 23

原创 基本卷积神经网络(CNN) —— AlexNet,VGG-Net,Inception系列,ResNet,DenseNet等

文章目录概要介绍基本卷积神经网络(CNN)AlexNetZF-NetVGG-NetInception系列Inception-V1:GoogLeNetInception-V2:An Improved Version of Inception-V1Inception-V3:Factorizing NxN into 1xN and Nx1Inception-V4:Inception with skip...

2019-06-05 21:41:52 4863

原创 “反向传播算法”过程及公式推导(超直观好懂的Backpropagation)

自己学习机器学习,深度学习也有好长一段时间了,一直以来都想写点有价值的技术博客,以达到技术分享及记录自己成长的目的,奈何之前一直拖着,近来算是醒悟,打算以后不定时写一写博客,也算是作为自己不断学习,不断进步的记录。既然是写博客,希望自己的博客以后要做到“准确、生动、简洁、易懂”的水平,做到对自己、对读者负责,希望大家多交流,共同进步!言归正传,想起当时自己刚入门深度学习的时候,当时对神经网络的“...

2019-05-15 11:37:33 179298 284

原创 Docker基础知识入门

文章目录Docker简介学习目标三大概念Docker安装资料参考Docker简介Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。(可移植,轻量级,动态管理,响应式部署)学习目标了解什么是dockerdocker镜像是怎么构建的如何运行一个docker容器docker之间的网络通信是怎么样的docker中的数据如何做持久化存储如何通过docker compose管理自己的项目如何将自己的个人项目

2021-04-13 00:13:50 319

原创 AUC计算方法与Python实现代码

AUC是ROC曲线下的面积,它是机器学习用于二分类模型的评价指标,AUC反应的是模型对样本的排序能力。它的统计意义是从所有正样本随机抽取一个正样本,从所有负样本随机抽取一个负样本,当前score使得正样本排在负样本前面的概率。具体的做法就是它也是首先对prob score从大到小排序,然后令最大prob score对应的sample 的rank为n,第二大score对应sample的rank为n-1,以此类推。所有的正负样本对中,正样本排在负样本前面的对数占总样本对数的比例,即这个概率值。

2020-09-27 18:33:16 2864 3

原创 [LeetCode] 450、删除二叉搜索树中的节点

题目描述给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。说明: 要求算法时间复杂度为 O(h),h 为树的高度。root = [5,3,6,2,4,null,7]key = 3 5 / \ 3 6 / \ \2 4 7给定需要删除的节点值是 3,所以

2020-09-27 15:41:47 384

原创 [LeetCode] 470、用 Rand7() 实现 Rand10()

已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数。不要使用系统的 Math.random() 方法。// The rand7() API is already defined for you.// int rand7();// @return a random integer in the range 1 to 7class Solution {public: int rand10() {

2020-09-11 19:52:36 245 1

原创 背包问题

题目链接0/1背包暴力解法#include<bits/stdc++.h>using namespace std;int main(){ int N, V; cin >> N >> V; int v[N], w[N]; vector<vector<int> > dp(N+1, vector<int>(V+1, 0)); for(int i = 0; i < N; i++)

2020-09-11 19:51:57 191

原创 [LeetCode] 109、有序链表转换二叉搜索树

简单题,注意递归写法不要忘记写递归出口,还有就是前后部分断链class Solution {public: TreeNode* sortedListToBST(ListNode* head) { // 递归别忘记写递归出口 if(head == nullptr) return nullptr; if(head->next == nullptr) return new TreeNode(head-

2020-08-27 01:15:06 142

原创 TF-IDF代码实现(纯python)

网上有很多各种工具库自带的实现,这里记录下纯python实现的版本(网上个别人的代码不对)理论就不介绍了,网上一堆。python实现如下:# corpus:语料库# words:对所有句子分词后的结果,[[], ...]# word_count:对每个句子进行词频统计, [{}, ...]# word_dict:每一个句子的词频统计结果, {}# word:每一个词,word_id# import mathfrom collections import defaultdict cor

2020-08-20 15:56:09 3792 4

原创 面试题 16.11. 跳水板

题目描述你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。返回的长度需要从小到大排列。输入:shorter = 1longer = 2k = 3输出: {3,4,5,6}解题思路这个题不是 DP 或者是 DFS 什么的。看给出的 k 的范围是 100000,我们知道需要用 O(n) 的解法。因此需要找规律了。两个特例:k == 0,这个时候返回 []

2020-07-08 13:33:13 428

原创 [LeetCode] 974、和可被 K 整除的子数组

题目描述给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。输入:A = [4,5,0,-2,-3,1], K = 5输出:7解释:有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]解题思路第一反应是用“前缀和”的思路,但是上手的时候还是有点不知所措,原因是之前不知道本题的关键是需要对负数进行同余预处理(

2020-05-27 17:51:54 234 1

原创 [LeetCode] 983、最低票价

题目描述在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。其中,火车票有三种不同的销售方式:一张为期一天的通行证售价为 costs[0] 美元;一张为期七天的通行证售价为 costs[1] 美元;一张为期三十天的通行证售价为 costs[2] 美元。通行证允许数天无限制的旅行。 例如,如果我们在第 2 天获得一张为期 7 天的通行证,那么我们可以连着旅行 7 天:第 2 天、第

2020-05-25 00:00:11 429

原创 [LeetCode] 1095、山脉数组中查找目标值

题目描述给你一个 山脉数组 mountainArr,请你返回能够使得 mountainArr.get(index) 等于 target 的最小 的下标 index 的值。如果不存在这样的下标 index,就请返回 -1。何为山脉数组?如果数组 A 是一个山脉数组的话,那它满足如下条件:首先,A.length >= 3其次,在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < ... A[i-1] < A[i]A[i

2020-05-24 22:43:00 317

原创 [LeetCode] 542、01 矩阵

题目描述给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。输入:0 0 00 1 01 1 1输出:0 0 00 1 01 2 1解题思路看到找最短距离 => BFS。广度优先搜索:(相似题目:[LeetCode] 1162、地图分析)首先把每个源点 000 入队,然后从各个 000 同时开始一圈一圈的向 111 扩散(每个 111 都是被离它最近的 000 扩散到的),扩散的时候可以设置 int[][] dist 来

2020-05-24 22:00:53 297 1

原创 [LeetCode] 1248、 统计「优美子数组」

题目描述给你一个整数数组 nums 和一个整数 k。如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。请返回这个数组中「优美子数组」的数目。输入:nums = [2,2,2,1,2,2,1,2,2,2], k = 2输出:16解题思路自己的第一反应是用“滑动窗口”的解法,但是没想清楚怎么弄,还是欠火候啊。。。滑动窗口(O(n)+O(1)O(n) + O(1)O(n)+O(1),推荐!):不断右移 right 指针来扩大滑动窗口,使其包含 k 个奇数;

2020-05-24 21:33:02 325

原创 [LeetCode] 680、验证回文字符串 Ⅱ

题目描述给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。输入: "abca"输出: True解释: 你可以删除c字符。参考代码简单题class Solution {public: bool validPalindrome(string str) { int left = 0, right = str.size() - 1; while(left < right){ if(str[left] == st

2020-05-24 20:33:14 206

原创 销量预测solution

这个比赛当时是在jupyter notebook上编程的,这篇博客是之前自己整理的代码和流程记录。但是很可惜,notebook转markdown显示效果很不好,下面给出目录和代码。# coding: utf-8# # 数据分析# In[59]:# 一般一起用才会管用,否则可能会显示混乱get_ipython().run_line_magic('config', "ZMQIn...

2020-04-26 13:44:19 967 1

原创 K-means算法详解及实现

文章目录一、原理和流程原理主要的KMeans算法的原理和应用,在学习典过程中,我们要带着以下几个问题去学习以下问题摘自于https://blog.csdn.net/qq_33011855/article/details/814825111、简述一下K-means算法的原理和工作流程2、K-means中常用的到中心距离的度量有哪些?3、K-means中的k值如何选取?4、K-means...

2020-04-07 21:59:44 5536

原创 逻辑回归(LR)公式推导及代码实现

文章目录构造hypothesis构造损失函数通过“梯度下降法”求参数 θ\thetaθ 的更新式代码实现逻辑回归是用来解决分类问题用的,与线性回归不同的是,逻辑回归输出的不是具体的值,而是一个概率。除去了sigmoid函数的逻辑归回和线性回归几乎是一样的。构造hypothesis逻辑回归的HHH可以看做是一个线性回归方程的结果经过一个sigmoid函数得到的结果(为正样本的概率),逻辑回归的...

2020-04-07 19:35:56 1574

原创 [LeetCode] 460、LFU缓存

题目描述请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。它应该支持以下操作:get 和 put。// 在此问题中,当存在平局(即两个或更多个键具有相同使用频率)时,应该去除 最近 最少使用的键。LFUCache cache = new LFUCache( 2 /* capacity (缓存容量) */ );cache.put(1, 1);cache.put(2, 2);ca...

2020-04-06 01:08:18 273

原创 [LeetCode] 1111、有效括号的嵌套深度

题目描述有效括号字符串类型与对应的嵌套深度计算方法如下图所示:给你一个「有效括号字符串」 seq,请你将其分成两个不相交的有效括号字符串,A 和 B,并使这两个字符串的深度最小。不相交:每个 seq[i] 只能分给 A 和 B 二者中的一个,不能既属于 A 也属于 B 。A 或 B 中的元素在原字符串中可以不连续。A.length + B.length = seq.length深度...

2020-04-03 14:56:09 228

原创 [LeetCode] 820、单词的压缩编码

题目描述给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S 中索引的位置开始读取字符串,直到 “#” 结束,来恢复我们之前的单词列表。那么成功对给定单词列表进行编...

2020-03-29 12:02:43 212

原创 [LeetCode] 914、卡牌分组

题目描述给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]解题思路读题知: 每种数字的...

2020-03-27 14:21:22 132

原创 [LeetCode] 999、车的可用捕获量

题目描述在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方向移动,直到它选择停止、到达棋盘的边缘或移动到同一方格来捕获该方格上颜色相反的卒。另外,车不...

2020-03-26 10:41:59 151

原创 [LeetCode] 892、三维形体的表面积

题目描述在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。请你返回最终形体的表面积。输入:[[1,2],[3,4]]输出:34解题思路关键是要先理解题意。首先,一个柱体一个柱体的看,每个柱体是由:2个底面(上表面/下表面)+ 所有的正方体都贡献了4个侧表面积。然后,把柱体贴...

2020-03-25 11:51:34 221

原创 [LeetCode] 876、链表的中间结点

题目描述给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。输入:[1,2,3,4,5,6]输出:此列表中的结点 4 (序列化形式:[4,5,6])解题思路快慢指针,简单题。补充:链表类经典题目。参考代码class Solution {public: ListNode* middleNode(ListNode* he...

2020-03-23 14:38:25 113

原创 [LeetCode] 945、使数组唯一的最小增量

题目描述给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1。返回使 A 中的每个值都是唯一的最少操作次数。输入:[3,2,1,2,1,7]输出:6解释:经过 6 次 move 操作,数组将变为 [3, 4, 1, 2, 5, 7]。可以看出 5 次或 5 次以下的 move 操作是不能让数组的每个值唯一的。解题思路主要有两种思路。我的实现。排序(O(...

2020-03-22 22:37:01 166

原创 [LeetCode] 365、水壶问题

题目描述有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水?如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水。你允许:装满任意一个水壶;清空任意一个水壶;从一个水壶向另外一个水壶倒水,直到装满或者倒空;输入: x = 3, y = 5, z = 4输出: True解题思路纯数学解法比较难搞,这是一个...

2020-03-21 22:41:40 599

原创 Kaggle: SIIM-ACR Pneumothorax Segmentation 比赛记录(银牌)Top 5%

文章目录记事SIIM是19年暑假的一个比赛了,当时拿了银牌,这篇博客是赛后自己做的总结和笔记。现在分享出来。记事随着 Kaggle: SIIM-ACR Pneumothorax Segmentation 接近尾声,我感觉有必要写一篇 blog 来记录一下这两个月的比赛经历,顺便总结一下经验。刚开始的时候想着这不过是一场普通CV类的比赛而已,肝一肝就能上金牌。但现实狠狠地打了我的脸。最初三天...

2020-03-20 21:15:23 1045 3

原创 [LeetCode] 409、最长回文串

题目描述给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。输入: "abccccdd"输出: 7解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。解题思路回文子串问题一般是用“动态规划”或者“中心拓展法”解决,但是这个题有点区别:本题不需要考虑原来字符串中字符的...

2020-03-19 11:42:24 134

原创 [LeetCode] 836、矩形重叠

题目描述矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。给出两个矩形,判断它们是否重叠并返回结果。输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]输出:true解题思路简单题。相似题目:[LeetCode] 223、矩形面积。参考代码class Solution {pub...

2020-03-18 23:26:55 94

原创 [LeetCode] 1071、字符串的最大公因子

题目描述对于字符串 S 和 T,只有在 S = T + ... + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。输入:str1 = "ABCABC", str2 = "ABC"输出:"ABC"解题思路这个题思路太巧妙,解题方法是“辗转相除法gcd”。我的实现。辗转相除法:看到...

2020-03-12 17:14:53 243

原创 [LeetCode] 1013、将数组分成和相等的三个部分

题目描述给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。输出:[0,2,1,-6,6,-7,9,1,2,0,1]输出:true解释:0 + 2 + 1 = -6 + 6 - 7 + 9 + 1 = 2 + 0 + 1解题思路此题最简单的思路就是从头直接开始找,比较暴力,但是时间复杂度也是O(n)O(n)O(n)。用双指针的思路理论...

2020-03-11 23:45:12 168

原创 [LeetCode] 1103、分糖果 II

题目描述我们买了一些糖果 candies,打算把它们分给排好队的 **n = num_people**个小朋友。给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。以此类推。返回一个长度为 num_people...

2020-03-05 23:05:55 172

空空如也

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

TA关注的人

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