![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试相关
文章平均质量分 80
Sais_Z
这个作者很懒,什么都没留下…
展开
-
背包问题的总结(01背包/完全背包/满包/不满包)
背包问题的总结(01背包/完全背包/满包/不满包)原创 2022-08-14 21:45:11 · 717 阅读 · 1 评论 -
并查集(Find-Union)解决无向图连通数量问题
并查集(Find-Union)解决无向图连通数量问题原创 2022-06-26 21:57:39 · 727 阅读 · 0 评论 -
LRU与LFU的原理与实现
LRU LFU 原理与python实现原创 2022-06-24 17:04:59 · 522 阅读 · 0 评论 -
特征选择方法
Feature Selection 特征选择单变量特征过滤Variance Threshold 方差选择法Pearson Correlation 皮尔森相关系数 (回归问题)Mutual Information互信息Chi-squared Statistics卡方统计量数据预处理后,我们生成了大量的新变量(比如独热编码生成了大量仅包含0或1的变量)。但实际上,部分新生成的变量可能是多余:一方面它们本身不一定包含有用的信息,故无法提高模型性能;另一方面过这些多余变量在构建模型时会消耗大量内存和计算能力。因此原创 2022-05-01 19:02:29 · 1020 阅读 · 1 评论 -
缺失值填补
缺失值填补单变量特征插补多元特征插补参考: https://github.com/YC-Coder-Chen/feature-engineering-handbook单变量特征插补假设第 i 列中有缺失值,那么我们将用常数或第 i 列的统计数据(平均值、中值或众数)对其进行估算from sklearn.impute import SimpleImputertest_set = X[0:10,0].copy() # 选择前十个变量作为测试集,无缺失值# 返回 array([8.3252, 8.3原创 2022-05-01 15:25:55 · 502 阅读 · 0 评论 -
常用类别变量编码方式总结
常用编码方式总结1. Ordinal Encoding 序列编码2. One-hot Encoding 独热编码3.Target Encoding 目标编码4. Hashing Encoding 哈希编码5. Catboost Encoder Catboost 编码参考:http://contrib.scikit-learn.org/category_encoders参考:https://github.com/YC-Coder-Chen/feature-engineering-handbook1. O原创 2022-05-01 15:04:04 · 2065 阅读 · 1 评论 -
推荐系统的Pipeline架构总结
推荐系统的Pipeline架构1. 召回非个性化范式完全个性化范式群组个性化范式标的物关联标的物范式笛卡尔积范式2. 排序logistic回归模型GBDT模型Wide & deep模型DeepFM模型3. 业务调控思考推荐的流程一般分为召回、排序、业务调控3个阶段,召回就是将用户可能会感兴趣的标的物通过算法从全量标的物库中取出来,一般会采用多个算法来召回,比如热门召回、协同过滤召回、标签召回等,排序阶段将召回阶段的标的物列表根据用户可能的点击概率大小排序(即所谓的CTR预估)。在实际业务中,在排序原创 2021-08-20 23:36:56 · 846 阅读 · 0 评论 -
正则化技术总结
正则化方法总结概念正则化方法L2-NormL1-NormDropout思考概念过拟合与正则化在机器学习里,使用少量样本去拟合了所有没见过的样本, 我们叫这种现象为“过拟合”。另外,我们训练模型的数据不可避免的存在一些测量误差或者其他噪音,比如下图中10个点,我们可以找到唯一个多项式来拟合所有点;也可以使用线性模型 y = 2x 拟合。简单来说,正则化是一种为了减小测试误差的行为(有时候会增加训练误差)。我们在构造机器学习模型时,最终目的是让模型在面对新数据的时候,可以有很好的表现。当你用比较复杂的模原创 2021-08-20 00:17:02 · 675 阅读 · 0 评论 -
损失函数的总结与推导
损失函数的总结与推导1. 概念区分2.回归常用损失函数2.1 均方差损失(MSE)2.2 平均绝对损失 (MAE)MAE与MSE的比较2.3 Huber Loss3.分类常用损失函数3.1 交叉熵损失3.1.1 二分类3.1.2 多分类分类为什么是交叉熵总结1. 概念区分Loss Function损失函数 Loss Function损失函数 Loss Function还分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,通常是针对单个训练样本而言,给定一个模型输出原创 2021-08-20 00:06:13 · 4520 阅读 · 0 评论 -
激活函数总结
激活函数总结为什么需要激活函数Sigmoid激活函数Tanh激活函数整流线性单元(ReLU)指数线性单元(ELU)SELULeaky ReLUParametric ReLU (PRELU)Gaussian Error Linear Unit(GELU)SwishData Adaptive Activation Function(Dice)MaxoutSoftplusSoftmax如何选择激活函数?为什么需要激活函数激活函数之性质**1. 非线性:**即导数不是常数。保证多层网络不退化成单层线性网络。这原创 2021-08-20 00:04:20 · 522 阅读 · 0 评论 -
模型优化方法总结
模型优化方法总结1. 梯度下降法SGD2. 动量法Momentum3. RMSpropAdamAdamWLookahead,RAdam?LazyAdam参考资料模型优化方法的选择直接关系到最终模型的性能。有时候效果不好,未必是特征的问题或者模型设计的问题,很可能是优化算法的问题,而且好的优化算法还能够帮助加速训练模型。深度学习模型的发展进程:SGD -> SGDM ->NAG -> AdaGrad -> AdaDelta -> Adam -> Nadam1.整体框原创 2021-08-20 00:01:50 · 9704 阅读 · 0 评论 -
Logistic原理与公式推导
逻辑回归原理与公式手推逻辑回归(Logistic Regression)逻辑回归(Logistic Regression)逻辑回归算法实际上是一种分类算法,它适用于标签 ???? 取值离散的情况,预测的变量 ???? 是离散的值,如:1 0 0 1。要搞清楚逻辑回归的原理必须要从概率和似然性说起。我们常常用概率描述一个事件发生的可能性。而似然性正好反过来,意思是一个事件实际已经发生了,反推在什么参数条件下,这个事件发生的概率最大。即:已知参数 β 前提下,预测某事件 x 发生的概率是 P(x |原创 2021-08-19 23:58:27 · 1166 阅读 · 0 评论 -
BP神经网络公式推导
BP神经网络公式推导神经元简介公式推导神经元简介为了构建神经网络模型,我们需要首先思考大脑中的神经网络是怎样的?每一个神经元都可以被认为是一个处理单元/神经核(processing unit/Nucleus),它含有许多输入/树突(input/Dendrite),并且有一个输出/轴突(output/Axon)。神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络。神经元之间通过电信号进行沟通(微弱的电流)。所以如果神经元想要传递一个消息,它就会就通过它的轴突,发送一段微弱电流给其他神经元的树突。原创 2021-08-19 23:57:23 · 520 阅读 · 0 评论 -
数据结构经典算法(待完善)
数据结构与经典算法数组链表二叉树栈与队列字符串排序动态规划分治法贪心滑动窗口数组链表二叉树#94. 二叉树的中序遍历&节点个数class TreeNode: def __init__(self,val = None,left = None,right = None): self.val = val self.left = left self.right = rightclass Solution: c = 0 de原创 2021-08-17 23:38:10 · 315 阅读 · 1 评论 -
十种排序算法代码
十种排序算法Python实现1. 原理2.代码1. 原理排序过程原理总结https://zsaisai.github.io/sort-summary/2.代码class Solution(object): ''' 1.冒泡排序:bubbleSort() 2.选择排序:selectionSort() 3.插入排序:insertionsort() 4.希尔排序:shellSort() 5.归并排序:mergeSort() 6.快速排序:quick原创 2021-08-09 16:15:36 · 390 阅读 · 0 评论 -
相似度算法
相似度算法简单总结欧几里得距离皮尔逊相关系数最近开始研究推荐系统,其中常见的相似度算法有以下几种:欧几里得距离欧几里得比较常见,是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。注意事项:a.因为计算是基于各维度特征的绝对数值,所以欧氏度量需要保证各维度指标在相同的刻度级别,比如对身高(cm)和体重(kg)两个单位不同的指标使用欧式距离可能使结果失效。b.欧几里得距离是数据上的直观体现,看似原创 2021-07-09 19:51:06 · 555 阅读 · 0 评论 -
Protobuffer与GRPC的使用与测试
Protobuf与GRPC1. ProtobufferProtobuffer定义使用2. GRPCGRPC定义使用3.ghz请求测试1. ProtobufferProtobuffer定义Protobuf实际是一套类似Json或者XML的数据传输格式和规范,用于不同应用或进程之间进行通信时使用。通信时所传递的信息是通过Protobuf定义的message数据结构进行打包,然后编译成二进制的码流再进行传输或者存储。Protobuf的优点相比较而言,Protobuf有如下优点:足够简单序列化后体原创 2021-07-02 16:43:25 · 680 阅读 · 1 评论 -
Git的完整流程
Git获取与提交代码完整流程获取查看提交其他获取git clone xx@xxxxxx.git #连接远程仓库,注意这个xx@xxxxxx.git是你gitlab上的project的地址查看提交其他原创 2021-06-27 17:47:44 · 4465 阅读 · 0 评论 -
C++ 值传递、指针传递、引用传递
指针传递参数本质上是值传递的方式,它所传递的是一个地址值。值传递过程中,被调函数的形式参数作为被调函数的局部变量处理,即在栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的原创 2020-09-24 21:05:34 · 2544 阅读 · 0 评论 -
java反射机制原理
JAVA反射机制是在运行状态中对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;原创 2020-09-23 13:01:05 · 1360 阅读 · 1 评论 -
多线程与多核运算(Threading&MultiProcess)
Threading多线程什么是多线程线程的添加join功能QueueGIL线程安全与Lock锁什么是多线程线程是操作系统能够进行运算调度的最小单位;它被包含在进程之中,是进程中的实际运作单位。多线程,是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。简单来说:线程是程序中一个单一的顺序控制流程;而多线程就是在单个程序中同时运行多个线程来完成不同的工作。多线程是为了同步完成多项任务,不是为了提高运行效率,而是原创 2020-08-04 12:26:04 · 1563 阅读 · 0 评论 -
详解浏览器输入网址后发生了什么
浏览器输入网址的过程一台主机的联网过程过程简述过程详解输入网址获取IP建立TCP连接三次握手四次挥手小结发起http请求浏览器显示 HTML浏览器是我们平时经常使用一种工具,我们在浏览器地址栏输入一个URL后,敲下回车键,浏览器就会反馈我们一个页面。这个过程背后其实发生了很多。讲解过程之前,先介绍一下一台主机是如何连接到网络的。一台主机的联网过程一台主机想要连接网络,首选需要获得一个属于自...原创 2020-05-04 20:12:05 · 2118 阅读 · 0 评论 -
操作系统基础知识简述
OS基础知识简述基本特征二级目录三级目录基本特征操作系统是一组控制和管理计算机硬件和软件资源、合理的对各类作业进行调度以方便用户的程序集合。操作系统的主要目标:方便性:用户直接使用OS提供的各种命令来操作计算机,方便了用户的使用。有效性:一方面指提高系统资源的利用率。另一方面指提高系统的吞吐量。可扩展性:能够适应计算机硬件或体系结构的发展的要求。开发性:能够遵循世界标准规范。...原创 2020-05-02 23:50:05 · 290 阅读 · 0 评论 -
软件工程知识概述
软件工程知识概述(一) 知识概述1)软件危机#什么是软件危机?为何会出现软件危机?如何消除软件危机?2)软件工程什么是软件工程?基本原理是什么?方法学有哪些?3)软件生命周期(重点)4)软件过程模型瀑布模型快速原型模型喷泉模型优点:增量模型螺旋模型(一) 知识概述1)软件危机#什么是软件危机?软件危机是指计算机软件开发和维护过程中所遇到的一些严重问题,主要包含以下两个方面问题:如何满足...原创 2020-05-01 23:26:11 · 446 阅读 · 0 评论