自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 Data Structure Tree

树1.树1.1 基本思想1.2 二叉树1.3 二叉搜索树1.树1.1 基本思想树是分层结构的抽象模型一棵树由父子关系的节点组成经常由空间换时间依赖元素的排序,意味着内存块的排序树术语Root:无父节点Internal node:具有至少一个子节点的节点External node:无子节点Ancestor of node:父母、祖父母等等Descendant of a node:孩子、孙子、重孙子等等Depth of a node:树的祖先高度数:任意节点的最大深度H

2020-08-31 16:25:13 100

原创 二手车价格预估-1

二手车价格预估NN方案 baseline1.获得google 云盘的权限2.导入工具包3.读取数据4.数据预处理4.1 数据清洗5.特征工程6.建立模型7.模型评估8.线上测试集9. 后续努力早在6月份的时候,刚接触这个比赛,就做了个xgb的baseline,得分大概在670左右。最近又重新做这个比赛,这次直接上NN,线上提升了一百多分。环境:Google Colab1.获得google 云盘的权限数据集放在Google 云盘上,所以需要获得相应权限来访问数据。from google.colab

2020-08-27 18:45:03 814

原创 Data Structure stack & queue

栈与队列1.栈1.1 列表实现栈1.2 简单括号匹配2.队列2.1 栈实现队列:1.栈栈的抽象数据结构栈是限制在表的一端进行插入和删除的线性表。允许插入,删除的这一端称为栈顶,另一端固定端称为栈底。当表内无元素时称为空栈。栈是有序的LIFO(后进先出)。栈的操作有:Stack() 创建新的空栈。push(item) 添加新项到栈顶部。pop() 删除栈顶项并返回栈顶项的值。栈被修改。peek() 返回栈顶部项。不修改栈。isEmpty() 测试栈是否为空,返回 Bool 值。size

2020-08-26 22:18:33 182

原创 栈-LeetCode

栈1.使括号有效的最小添加(921)2. 字符串解码(394)1.使括号有效的最小添加(921)给定一个由 ‘(’ 和 ‘)’ 括号组成的字符串 S,我们需要添加最少的括号( ‘(’ 或是 ‘)’,可以在任何位置),以使得到的括号字符串有效。从形式上讲,只有满足下面几点之一,括号字符串才是有效的:它是一个空字符串,或者它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者它可以被写作 (A),其中 A 是有效字符串。给定一个括号字符串,返回为使结果字符串有效而必须添

2020-08-26 10:33:21 102

原创 集成学习知识点(葫芦书笔记)

集成学习 1.集成学习种类2. 基分类器3. 偏差与方差4. GBDT的优缺点:5. XGboost和GBDT的联系和区别1.集成学习种类BoostingBoosting方法训练基分类器时采用串行的方式,各个基分类器之间有依赖。基本思路是将基分类器层层叠加,每一层在训练的时候,对前一层基分类器分错的样本,给予更高的权重。测试时,根据各层分类器的结果的加权得到最终结果。BaggingBagging方法在训练过程中,各基分类器之间无强依赖,可以进行并行训练。(著名算法:RF)Bagging

2020-08-25 16:12:03 289

原创 机器学习中的优化算法

优化算法1. 有监督学习的损失函数2. 机器学习中的优化问题3. 经典优化算法4. 随机梯度下降法5. SGD的加速6. L1正则化与稀疏性机器学习算法=模型表征+模型评估+优化算法优化算法所做的事情就是在模型表征空间中找到模型评估指标最好的模型。1. 有监督学习的损失函数在有监督学习中,损失函数刻画了模型和训练样本的匹配程度。二分类问题损失函数0-1损失Hinge损失Logistic损失函数交叉熵 Cross Entropy回归问题最常用的损失函数:平方损失函数。Lsq

2020-08-24 22:17:14 326

原创 分治法

分治法1.分治法 DivideConquer1.1.求ana^nan1.2 搜索峰值1.分治法 DivideConquer将问题拆分成几个子问题,而且这些子问题和原问题相似只是数量级上小一些递归地解决每一个子问题,然后结合这些子问题的解决方案构造出原问题的解决方案。类似的问题:二分搜索、归并排序、快速排序1.1.求ana^nan算法实现:# coding=utf-8def fast_power(x, n): if n == 0: return 1.0 el

2020-08-23 22:34:51 60

原创 推荐系统相关技术总结

在学习过程中,对推荐系统相关技术做得初步的总结。后续会随着学习的深入,不断完善补充,加油!!!!

2020-08-20 22:21:15 240

原创 推荐系统实践总结

前一段时间再读项亮老师的《推荐系统实践》,做了个全书思维导图!需要xmind源文件的,直接找我要就行。读《推荐系统实践》项亮

2020-08-20 22:17:45 160

原创 监督学习方法特点总结

监督学习方法特点概括总结方法适用问题模型特点模型类型学习策略损失函数学习算法感知机二分类分离超平面判别模型极小化误分点到超平面距离误分点到超平面距离随机梯度下降k近邻法多分类、回归特征空间、样本点判别模型———朴素贝叶斯多分类特征与类别的联合概率分布,条件独立假设生成模型极大似然估计、最大后验概率估计对数似然损失概率计算公式、EM算法决策树多分类、回归分类树、回归树判别模型正则化的极大似然估计对数似然损失特征选

2020-08-20 22:03:14 1742

原创 ML之集成学习

集成学习1. 机器学习中的集成学习1.1 个体与集成1.1.2 Boosting1.2 Bagging与Random Forest1.2.1 Bagging1.2.2 随机森林1.3 结合策略1.3.1 平均法(回归问题)1.3.2 投票法(分类问题)1.3.3 学习法1.3.4 多样性(diversity)1.4 **Boosting模型**1.4.1 数学准备1.2 Gradient Boosting Tree1.3 XGboost1.4 高效的工具包 LightGBM1. 机器学习中的集成学习1.

2020-08-20 13:40:39 184

原创 搜索与排序算法

搜索与排序算法1. 查找2.排序2.1 ***冒泡排序***2. ***选择排序***3.***插入排序***4. ***希尔排序***5.***计数排序***1. 查找顺序查找二分搜索适用有序数组# coding=utf-8def bi_search_iter(alist, item): left, right = 0, len(alist) - 1 while left <= right: mid = left + (right - left

2020-08-20 10:59:39 164

原创 栈的压入、弹出序列

剑指 Offer 31. 栈的压入、弹出序列1.题目描述2.代码实现1.题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。来源:力扣(LeetCode)2.代码实现class Solution: def validateStackSequence

2020-08-19 18:42:53 169

原创 无监督学习之主成分分析PCA

1.数据降维与主成分分析PCA主成分分析(principal component analysis,PCA)是一种常用的无监督学习方法,利用正交变换把线性相关变量表示的观测数据转换为少数几个由线性无关变量表示的数据,线性无关的变量称为主成分。1.1 基本思想后续持续补充,码公式不易!1.2 PCA算法总结PCA算法步骤:设有m条n维数据将原始数据按列组成n行m列矩阵XXX将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值求出协方差矩阵C=1mXXTC={1\over m}

2020-08-19 17:22:51 1495

原创 无监督学习之聚类方法

1.聚类算法1.1 聚类聚类算法分为两类:Partitioning Clustering:K-means/K=medoidsGaussian Mixture Model(高斯混合模型)Spectral Clustering(谱聚类)Centroid-based ClusteringHierarchical Clustering:Single-linkageComplete-linkageConnectivity-based Clusting聚类算法的应用:数据压缩

2020-08-19 17:19:28 756

原创 ML之分类回归树与随机森林

总结与记录之前学的一些知识!持续更新!!!1.分类回归树与随机森林1.1 连续值和缺失值的处理连续值处理基本思路:连续属性离散化常见做法:二分法(bi-partition)n个属性值可形成n-1个候选划分把候选划分值当做离散属性处理,寻找最佳划分缺失值处理基本思路:样本赋权,权重划分1.2 回归树模型1.2.11.2.2 回归树的构建方法假设一个回归问题,预估结y∈Ry\in Ry∈R,特征向量X=[x1,x2,...,xp]∈RX= [x_1,x_2,...,x_p]\

2020-08-18 19:08:06 500 2

原创 ML之朴素贝叶斯

1.贝叶斯分类器持续更新!!!1.1 简介1.1.2 贝叶斯分类的基础-贝叶斯定理P(B∣A)=P(A∣B)P(B)P(A)P(B|A)= {P(A|B)P(B) \over P(A)}P(B∣A)=P(A)P(A∣B)P(B)​1.2 朴素贝叶斯法(naive Bayes)朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的数据集,首先基于特征条件独立假设学习输入输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。朴素贝叶斯是典型的

2020-08-16 23:36:07 188

原创 经典ML之决策树 Decision Tree

1.决策树 Decision Tree1.1 简介决策树是一种基本的分类与回归方法。决策树的衍生算法有ID3, C4.5和C5.0等。它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布,其主要优点是模型具有可读性、分类速度快。决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的修剪。定义:分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。结点有两种类型:内部节点(internal node

2020-08-14 17:34:15 387

原创 连续子数组的最大和

剑指-连续子数组的最大和(动态规划)常规解题思路:常见解法时间复杂度时间复杂度动态规划O(N)O(N)O(N)O(1)O(1)O(1)分治法O(NlogN)O(NlogN)O(NlogN)O(log(N))O(log(N))O(log(N))暴力解法(O2(O^2(O2)O(1)O(1)O(1)在练习了多道动态规划题后,也颇有收获啊!1.思路解析1.1 状态定义设dp[i]dp[i]dp[i] 代表以元素 nums[i]nums[i]nums[i

2020-08-13 17:17:05 127

原创 经典ML之Logisitic Regression

逻辑回归(对数几率回归 Logisitic Regression)未完待续!!!1.模型介绍Logistic Regression 虽然被称为回归,但其实际上是分类模型,并常用于二分类。Logistic Regression 具有简单、可并行化、可解释强等优点。逻辑回归由于存在易于实现、解释性好以及容易扩展等优点,被广泛应用于点击率预估(CTR)、计算广告(CA)以及推荐系统(RS)等任务中。逻辑回归虽然名字叫做回归,但实际上却是一种分类学习方法。Logistic 回归的本质是:假设数据服从这个分

2020-08-13 15:00:37 137

原创 经典ML之线性模型 Linear model

经典机器学习模型之线性模型1. 线性模型 Linear modelhθ(x)=θ0+θ1x1+...+θnxnh_\theta(x) = \theta_0+\theta_1x_1+...+\theta_nx_nhθ​(x)=θ0​+θ1​x1​+...+θn​xn​h(x)=∑i=1nθixi=θTxh(x)= \sum_{i=1}^n\theta_ix_i=\theta^Txh(x)=i=1∑n​θi​xi​=θTxJ(θ)=12∑i=1m(hθ(x(i))−y(i))2J(\theta

2020-08-13 11:01:25 591

原创 算法之贪心算法

贪心算法(持续更新)在对问题求解时,总是做出在当前看来是最好的选择。基本思路:建立数学模型来描述问题把求解的问题分成若干个子问题求解每一个子问题,得到子问题的局部最优解把子问题的局部最优解合成原来解问题的一个解。适用前提:局部最优解策略能导致产生全局最优解。1.找硬币问题描述:在一堆可用硬币中,找到最少的硬币数来表示一个数值m。# coding=utf-8# 找硬币def minCoins(m): available = [1, 2, 5, 10, 20, 50, 100

2020-08-12 11:52:53 152

原创 滑动窗口

算法之滑动窗口1.从排序数组中删除重复数时间复杂度:O(n)空间复杂度:O(1)# coding=utf-8# 从排序数组中删除重复数,返回新数组长度def removeDuplicates(alist): if not alist: return 0 tail = 0 for j in range(1, len(alist)): if alist[j] != alist[tail]: tail += 1

2020-08-11 13:15:59 140

原创 Leetcode-动态规划总结

LeetCode-DP1.剑指offer 10-2 青蛙跳台阶dp[n] = dp[n-1]+dp[n-2]dp[0] = 1 dp[1] = 1java:时间复杂度:O(n)空间复杂度:O(n) 可优化为O(1)class Solution { public int numWays(int n) { if(n <= 1){ return 1; } int[] dp = new int[n+1];

2020-08-10 14:47:04 131

原创 算法之动态规划中

1.动态规划1.LeetCode 696. 计数二进制子串class Solution: def countBinarySubstrings(self, s: str) -> int: ans=0 last='' j=k=0 for i in s: if last==i:j+=1 else: last=i ans+=

2020-08-10 12:03:40 114

原创 算法之动态规划(上)

1.动态规划 Dynamic Programming1.1 概述将问题拆分成一些列重复的子问题以得到越来越大的子问题的答案。DP问题斐波那契数列 Fibonacci : f(n)=f(n-1)+f(n-2)汉诺塔 hanoi Tower子序列的最大和1.2 1维动态规划给定n,找到不同的将n写成1,3,4相加的方法D=D_{n-1}+D_{n-3}+D_{n-4}整合:D[0] = D[1]=D[2]=1;D[3]=2;for(i=4;i<=n;i++)

2020-08-09 15:34:09 97

历年沪牌拍卖数据整理可使用.xlsx

内容包括历年沪牌拍卖价格、成交平均价、竞拍人数等

2021-05-08

空空如也

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

TA关注的人

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