![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习算法
文章平均质量分 67
BlackMan_阿伟
不积跬步无以至千里
展开
-
秋招算法岗总结
昨天结束了秋招。这是我的第一次秋招,也是最后一次秋招。本科是双非网路工程,硕士是985是软件工程,找工作的方向是机器学习和计算机视觉。BAT等一线的大厂都有投递,算法竞争十分激烈,本人又无论文,最终只拿到美团和华为的offer。美团,工作地在上海,工作岗位是算法工程师。华为,工作地在西安,工作岗位是AI工程师。开奖时间间隔半个月,开奖数目相差不大。通过综合考虑,留在西安搬砖。秋招结束,论文开始。愿工作后还能持续写博客记录,保持好奇心,永远在路上!...原创 2021-10-27 15:39:24 · 384 阅读 · 0 评论 -
kaggle
https://www.cnblogs.com/limitlessun/p/8489749.html原创 2021-08-30 23:43:49 · 225 阅读 · 0 评论 -
熵、信息熵、互信息、条件熵区别
1、熵 在初中化学中学过,熵越大表示其混乱程度越大,熵越小表示混乱程度越小。因此在决策树中分类节点中用到了信息熵的概念。2、信息熵 假设有个离散变量x,有一个概率分布p(x),信息熵H(x)3、条件熵定义:在一个条件下,随机变量的不确定性。4、信息增益在一个条件下,信息不确定性减少的程度H(X,Y) = H(x)-H(Y|X)5、互信息定义:指的是两个随机变量之间的相关程度。...原创 2021-08-26 16:21:43 · 1455 阅读 · 0 评论 -
《机器学习超参数调整利器》贝叶斯优化算法
1、贝叶斯优化算法思想利用之前已经搜索点的信息确定下一个搜索点,用于求解维数不高的黑盒优化问题;首先生成一个初始候选集合,然后根据这些点寻找下一个有可能是极值得点,将该点加入集合中,重复这一步骤,直至迭代终止。最后从这些点中找出极值点作为问题的解。2、贝叶斯优化伪代码根据已经搜索的点的函数值估计真实目标函数值的均值和方差(通过高斯过程回归实现) 根据均值和方差可以构造出采集函数,对每一点是函数极值点的可能性的估计,反映了每一个点值得搜索的程度,该函数的极值点...原创 2021-08-26 15:32:57 · 1703 阅读 · 8 评论 -
《机器学习算法》XGBT
1、XGBThttps://www.cnblogs.com/pinard/p/10979808.html2、面试https://mp.weixin.qq.com/s?__biz=MzI1MzY0MzE4Mg==&mid=2247485159&idx=1&sn=d429aac8370ca5127e1e786995d4e8ec&chksm=e9d01626dea79f30043ab80652c4a859760c1ebc0d602e58e13490bf525ad7608原创 2021-08-25 15:32:45 · 1008 阅读 · 0 评论 -
《机器学习算法》逻辑回归(Logistic Regression)
1、逻辑回归2、公式推导也就是说如果x区域正无穷的时候,概率值也就越接近1,对数几率也就接近1。对数几率优点:直接对分类的概率建模,无需实现假设数据分布,从而避免了假设分布不准确带来的问题(区别于生成式模型(朴素贝叶斯)) 不仅可以预测类别还可以预测概率,对于决策任务很有用。 对数几率函数是任意阶可导的凸函数,有许多函数值优化算法都可以求出最优解。3、损失函数既然使用极大似然估计法来求解,必须明确似然函数。4、求解...原创 2021-08-24 11:19:10 · 284 阅读 · 0 评论 -
《机器学习算法》决策树
1、决策树思想根据一定的if-then规则,形成一种描述对实例进行分类的树形结构。2、特征选择3、信息增益的算法决策树ID3就是利用信息增益选择划分特征的。缺点:这样选择的特征偏好取值类别较多(v较大)的特征(例如某个特征的取值类别数等于样本数,则根据此特征划分之后,样本的纯度都已经达到了最大)。因此在C4.5的时候有一定的改进,将特征选择的标准定为信息增益比。缺点:信息增益比产生的一个问题就是对可取值数目较少的属性有所偏好,因...原创 2021-08-23 21:27:05 · 177 阅读 · 0 评论 -
《机器学习算法-Boost》GBDT(Gradient Boosting Decision Tree)
1、提升树的思想提升树是以分类树或者回归树为基本分类器的提升方法,实际采用的是加法模型(基函数的线性组合),以决策树为基函数的提升方法称为提升树。提升树的核心思想就是在不断的拟合残差,比如一个人的年龄是25岁,第一次猜到16,那么9就是我们接下来要拟合的残差,不断的迭代更新这个树,最终使得误差或者迭代次数满足我们的要求即可。2、前向分布算法初始化一个基分类器,存在一个数据集T,通过进行M轮的迭代更新不断更新β和γ,再更新,最终得到加法模型。3、回归问题的...原创 2021-08-20 11:45:37 · 358 阅读 · 0 评论 -
《机器学习算法-Boost》AdaBoost Algorithm
1、AdaBoost思想首先AdaBoost是隶属于集成学习Boost家族的一个算法,也是一个比较算的上是入门级又能充分的体现boost的思想的算法。通过一个现实生活中的例子来聊聊AdaBoost这个算法。假设这么一个场景:你是一个非常优秀的数学老师,你的班级有10个学生,你想要提升这个班级的成绩,一开始给每个人辅导2h,发现经过一次考试之后有其中一半的学生成绩比较好,另一些成绩比较差,这个时候你会把时间重新做一个分配,将考的好的学生的时间降为1h,把多出来的时间给考...原创 2021-08-18 15:31:11 · 771 阅读 · 0 评论 -
《机器学习算法》KNN算法(K近邻)
1、什么是KNN算法 K近邻算法是一个基本的机器学习算法,可以完成分类和回归任务。对于分类任务的话,主要是遵循”近朱者赤;近墨者黑“的原理。对于其中一个测试的实例,根据其K个最近邻的训练实例的类别进行多数表决然后完成预测。也就是随机森林中的”投票法“原则。2、KNN算法的三要素 ①K值的选择 K值的选择是一个非常关键的问题,一般情况下我们通过k折交叉验证,来选取一个比较好的K值,因为K值的选取完全影响了这个算法的性能。举两个极端的...原创 2021-08-17 17:55:12 · 855 阅读 · 0 评论 -
面试算法岗总结(持续更新.....)
寒假以来一直在投一些算法实习岗位,既然是算法,面大厂的话肯定少不了“手撕代码”的问题,怕自己忘掉,因此做已记录。目标是面试8个公司,现在已经面试了有三星、华为、快手,其中三星没有考代码题目。三星比较水,没有考代码问题。华为比较简单,就考察了一个斐波那契数列的问题。面试也是比较简单只考了一个算法题。class Solution: def fib(self, n: int) -> int: a, b = 0, 1 for _ in range原创 2021-01-28 17:32:44 · 678 阅读 · 4 评论 -
机器学习知识点复习
特征工程: 归一化、标准化特征选择: Pearson相关系数 卡方验证 互信息和最大信息系数 距离相关系数 方差选择法过拟合和欠拟合的解决办法 pass 方差和偏差的影响 pass选择参数的策略 1、网格搜索 全空间扫描,比较慢 2、Random search 速度较快,但可能会错失空间上重要的一些点,精度不够 3、Hyperopt 是一种通过...原创 2021-07-21 14:47:48 · 563 阅读 · 0 评论 -
跨模态检索mAP的计算
1、跨模态检索输入qB:查询输入的汉明码,m*bit(64/128)rB:检索集的汉明码,n**bit(64/128)query_L:查询输入的标签,m*21(21个类别)retrieval_L:检索集的标签,n*212、跨模态检索mAP公式这个公式表示的就是如何计算Q个数据的检索,我们只需要计算每条数据的检索的Ap即可,也就是AveP(q)AveP中,其中分母表示有几个相关文档,rel(k)表示排名第k的文档是不是相关文档,P(k)表示排名第k个文档的精准率。3、跨模态检索代码实例原创 2021-06-22 16:17:19 · 992 阅读 · 1 评论 -
【机器学习】优化器之Adam
上一个章节说了SGD和动量版本的SGD,这个优化算法目前也是比较常用的一个优化算法,但是它还是存在一些问题的,因此后面又出了几个不同的算法,比如AdaGrad、RMSProp、Adam等算法。原创 2021-05-30 17:10:14 · 7222 阅读 · 0 评论 -
【机器学习】优化器之梯度下降算法
不管在机器学习还是深度学习中,我们都是通过对loss函数求偏导,来更新要学习的参数。一般用的比较多的就是梯度下降算法,当然了梯度下降算法有几个变种,刚好面试问到这个问题了,因此在此做个记录。1、什么是梯度?梯度的本意是一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。1)梯度是一个向量,即有方向有大小; 2)梯度的方向是最大方向导数的方向;(函数沿梯度方向函数有最大的变化率。) 3)梯度...原创 2021-05-26 11:10:27 · 564 阅读 · 1 评论 -
循环神经网络之Long Short-Term Memory(LSTM)
1、LSTM简介长短期记忆神经网络,是基于RNN改进的一种可以处理有序数据的循环神经网络,由于它设计的输入门、输出门、遗忘门三个门结构很好的解决了RNN中存在梯度消失的问题,可以说是RNN的改进版,后续还有GRU网络,GRU是针对LSMT的一种改进。2、LSTM的结构标准的RNN中的单层神经网络包含重复模块的四层神经网络与RNN相比发现每一个时间步都是非常的复杂,不仅仅是一个激活函数而已。接下来将中间这个部分拆解开了,庖丁解牛。细胞状态是LSTM中非常重要的一个单元状态,它.原创 2021-05-21 16:29:24 · 952 阅读 · 0 评论 -
循环神经网络之Recurrent Neural Network(RNN)
1、什么是RNN?全名,叫做Recurrent neural network,它可以处理有序列的或者有前后关系的句子,利用前面的信息预测后面的信息,这个是RNN和CNN最大的区别。CNN不考虑顺序依赖关系,RNN考虑顺序依赖关系。2、RNN的结构这个图就是一个循环神经网络,它循环其实是一个"假"循环,就是将每个时间步的输入拆开即可。首先说一下RNN的输入和学习的参数。输入:x_t:每个时间步的输入,s_t每个时间步的隐状态向量。输出:o_t每个时间步的输出接下来说说如何得到隐状态原创 2021-05-21 11:37:25 · 401 阅读 · 0 评论 -
Attention机制:self_attention的原理及代码实现
attention机制的核心思想就是想让我们关注我们需要关注的东西,而把不重要的东西忽略掉,如果我们在说一句话或者一段文字里有的文字描述只是为了核心思想做铺垫,而attention机制的思想就是说我们根本不care铺垫的内容,我们只想把最核心的东西突出,因为核心的观点是对这段文字有最大的贡献值。那么attention机制开始的时候是在NLP领域有比较广泛的应用,再后来在图像视觉的领域也有极大的应用。比如我们在进行分类的时候我们只想关注目标而忽略背景,这个思想和attention的核心思想就对的上了,所以在视原创 2021-05-15 13:04:22 · 1838 阅读 · 0 评论 -
【集成学习】Stacking
Stacking也是机器学习的一种方法,他和Boost和Bagging的区别是集成的基学习器是异质的,其目的是学习到每个基学习器的优点,然后更好的去做分类或者回归任务。首先来说它是一个层级的集成学习方法,一般情况下分为两层,利用基学习器学习特征,然后把基学习器的预测值作为第二层的输入,在训练。这样做的目的是为了给第一层预测的结果分配不同的权重,这样让每个基学习器都有其侧重点,充分的利用了每个基学习器的特点。1、Stacking种的数据如何划分? 将原本的数据集一般进行N折交叉验证 取原创 2021-04-21 21:23:40 · 1586 阅读 · 0 评论 -
【集成学习】Bagging之随机森林
集成学习是一种机器学习的框架,并不是某种具体的算法,比如逻辑回归、决策树、SVM等。从字面意思上来看,集成学习就是将基本的机器学习算法集成起来,以达到比较好的性能,俗话说:三个臭皮匠,顶个诸葛亮。0、集成学习的分类同质 集成的机器学习算法都是同一个,比如随机森林用到的都是决策树这个基本算法 异质 集成的机器学习算法是不相同的,比如多层感知机、SVM、逻辑回归等基本的算法是混在一起的 今天的主角是Bagging,之后会把Stacking和Boost都写一下讲的清楚一些。1、什么是Ba原创 2021-04-21 15:25:05 · 321 阅读 · 0 评论 -
机器学习和深度学习分类问题的几个指标:准确率、精准率、召回率、F1-score、Macro-F1、Micro-F1
目录1、Accuracy——准确率2、Precision——精准率3、Recall——召回率4、进一步探索召回率和准确率5、F1-Score6、Micro-F1和Macro-F1在说这个几个指标之前有一个非常重要的东西叫做混淆矩阵:我们把上述提到的这个表格称作为混淆矩阵,那么一般使用混淆矩阵干嘛呢?计算召回率、计算准确率、计算精准率。接下来分别介绍这三个指标。TP:实际是正样本预测也是正样本;TN:预测是负样本实际也是负样本;FN:实际上是正要根本预测为负样本;FP.原创 2021-03-01 16:58:37 · 4528 阅读 · 0 评论 -
《机器学习算法》SVM进行多分类及代码实现
最近做了一个工作就是对属性进行分类,然后用了不同的分类器,其中就用到了SVM,再次做一个总结。1、什么是SVM?对于这个点已经介绍的非常多了,不管是西瓜书还是各种博客,就是我们需要找到一个超平面,用这个超平面把数据划分成两个类别,最开始的SVM就是在二分类的问题上应用,在之后被扩展到多类别的分类。对于SVM的推导公式不是很复杂,在此就不进行推导,大概清楚最基本的原理然后就进行应用就可以了。如下图所示,我们就是要找到中间这条线,使得||w||的值尽可能小,是正负样本离超平面的距离越大越好,分类的效原创 2020-10-27 22:36:28 · 33854 阅读 · 13 评论