面试必备!卖萌屋算法工程师思维导图—统计机器学习篇

卖萌屋的妹子们(划掉)作者团整理的算法工程师思维导图,求职/自我提升/查漏补缺神器。该手册一共分为数据结构与算法、数学基础、统计机器学习和深度学习四个部分。

下面是第二部分统计机器学习的内容~

公众号后台回复思维导图获取完整手册(Xmind脑图源文件,学习起来更方便(ง •_•)ง

统计机器学习

线性回归

  • 回归方程:Y = WX

  • 解析解:

  • 损失函数-最小二乘法

    用高斯概率密度函数表示出y,然后进行极大似然估计

    • 理解:频率派角度-误差复合高斯分布的最大似然估计

    • 求法:误差服从正太分布(0,sigma) => y服从正太分布(wx,sigma)

  • 正则化

    从两个角度理解:

    • 频率角度:维度太大无法求逆矩阵,且容易过拟合,给w加上约束 是半正定,不一定可逆, 为半正定加单位矩阵,是正定的,可逆

    • 贝叶斯角度(最大后验):参数符合laplace分布>L1正则,符合高斯分布>L2岭回归

线性分类

线性分类器是通过特征的线性组合来做出分类决定的分类器。数学上来说,线性分类器能找到权值向量w,使得判别公式可以写成特征值的线性加权组合。

  • 硬分类

    • 感知机

      二分类模型,y为{-1, 1} 损失函数:误分类点到分类平面到距离,分对为0,分错>0; 

    • Fisher判别分析

      把样本点投影到一个平面,类间均值差大,使得类内方差小

  • 软分类

    P(Y|X) = P(X|Y)P(Y) / P(X)

    判别模型直接求P(Y|X) 生成模型求P(X,Y)=>P(X|Y)P(Y)=>P(Y|X)

    • 判别式: 逻辑回归

      由对数几率=>sigmoid:
      https://zhuanlan.zhihu.com/p/42656051

      公式推导:
      https://zhuanlan.zhihu.com/p/44591359

      简介:逻辑回归是使用sigmoid作为链接函数的广义线性模型,应用于二分类任务。它假设数据服从伯努利分布,对条件概率进行建模,通过极大似然估计的方法,运用梯度下降求解参数。

      目标函数

      求解:迭代法(为什么不求解析解?换成矩阵形式后,X和exp(X)同时存在,无法求出解析解。)逻辑回归的损失函数L是一个连续的凸函数,它只会有一个全局最优的点,不存在局部最优。可以用SGD。

      Bias的可解释性:对于偏差b (Bias),一定程度代表了正负两个类别的判定的容易程度。假如b是0,那么正负类别是均匀的。如果b大于0,说明它更容易被分为正类,反之亦然。

      线性决策边界

      为什么不能用线性回归做分类?

      https://www.zhihu.com/question/319865092/answer/661614886

      平方差的意义和交叉熵的意义不一样。概率理解上,平方损失函数意味着模型的输出是以预测值为均值的高斯分布,损失函数是在这个预测分布下真实值的似然度,softmax损失意味着真实标签的似然度。

    • 由来及其表达式:用线性回归拟合 ,得到对数几率回归

    • 生成式:朴素贝叶斯

      朴素贝叶斯是基于贝叶斯定理与特征条件独立假设大分类方法,对于给定的x,对x,y的联合分布建模(P(x|y)&P(y)),输出后验概率最大的Y,对P(x|y)采用了极大似然估计

      当特征离散时为线性分类:离散特征的朴素贝叶斯分类器判别公式能够写成特征值的加权线性组合。
      https://www.jianshu.com/p/469accb2e1a0

      假设:特征间相互独立,P(x1|y)与P(x2|y)相互独立 P(x1, x2, .., xn | Y) = P(x1|Y) * P(x2|Y) * ... * P(xn|Y)

      求解:对于给定的x,对x,y的联合分布建模(P(x|y)&P(y)),输出后验概率最大的Y,对P(x|y)采用了极大似然估计

      max[P(x|y)P(y)],y服从伯努利分布,x|y服从categorial分布或高斯分布

      一般假设朴素贝叶斯的特征为离散值

    • 生成式:高斯判别分析

      假定已知类中的x的分别服从高斯分布,对于二分类,p(x|y=0)和p(x|y=1)分别服从两个高斯分布,方差一样,y服从bernoulli(p), 

      方差相同的情况下为线性分类(可以写成特征值x的线性加权组合):
      https://www.jianshu.com/p/469accb2e1a0

      方差相同时把消掉了,否则带有就不是线性了

SVM

https://zhuanlan.zhihu.com/p/61123737

解读:https://zhuanlan.zhihu.com/p/49331510

考点:https://zhuanlan.zhihu.com/p/76946313

  • 分类

    • 线性可分SVM

      当训练数据线性可分时,通过硬间隔(hard margin,什么是硬、软间隔下面会讲)最大化可以学习得到一个线性分类器,即硬间隔SVM

    • 线性SVM

      当训练数据不能线性可分但是可以近似线性可分时,通过软间隔(soft margin)最大化也可以学习到一个线性分类器,即软间隔SVM

    • 非线性SVM

      当训练数据线性不可分时,通过使用核技巧(kernel trick)和软间隔最大化,可以学习到一个非线性SVM

  • 线性可分SVM凸二次规划形式的推导

  • 拉格朗日乘子法和KKT条件

  • 凸二次规划求解

  • 软间隔最大化

  • 序列最小优化算法(SMO)

  • 核函数

  • 常见问题

    • 与感知机的区别

    • 与逻辑回归的对比

    • SVM优缺点

    • 二分类到多分类

树模型

  • 常见算法

    • XGBOOST

      优点:不用做特征标准化,可以处理缺失数据,对outlier不敏感

      理解泰勒展开
      https://www.zhihu.com/question/25627482/answer/31229830

      理解GBDT
      https://www.zybuluo.com/yxd/note/611571

      官方文档
      https://github.com/dmlc/xgboost/tree/master/demo http://xgboost.readthedocs.io/en/latest/parameter.html#general-parametershttp://xgboost.readthedocs.io/en/latest/python/python_api.html

      调参
      https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/ https://www.dataiku.com/learn/guide/code/python/advanced-xgboost-tuning.html

      源码剖析
      https://wenku.baidu.com/view/44778c9c312b3169a551a460.html min_child_weight: https://www.zhihu.com/question/68621766

      scale_pos_weight: https://blog.csdn.net/h4565445654/article/details/72257538

      节点分裂:H,Weighted Quantile Sketch, h对loss有加权的作用

      稀疏值处理:行抽样、列抽样

      Shrinkage:学习速率减小,迭代次数增多,有正则化作用

      系统设计:Columns Block, Cache Aware Access Gradient-based One Side Sampling (GOSS) Exclusive Feature Bundling (EFB)

    • LightGBM

      官方文档
      http://lightgbm.readthedocs.io/en/latest/ https://github.com/Microsoft/LightGBM

      改进:直方图算法;直方图差加速;Leaf-wise建树;特征并行和数据并行的优化

    • Random Forest

      调参
      http://www.cnblogs.com/pinard/p/6160412.html

      https://www.zhihu.com/question/34470160/answer/114305935

      https://zhuanlan.zhihu.com/p/25308120

      原理
      http://www.cnblogs.com/pinard/p/6156009.html https://www.jianshu.com/p/dbf21ed8be88

      优化
      https://stackoverflow.com/questions/23075506/how-to-improve-randomforest-performance

  • 信息熵相关概念

  • 生成

    • ID3:信息增益

    • C4.5:信息增益比

    • CART:回归-平方误差/分类-基尼指数

  • 剪枝

    • 叶节点个数

    • 预剪枝/后剪枝

图模型

  • 有向图

    https://www.zhihu.com/question/53458773/answer/554436625

    贝叶斯网络(Bayesian Networks, BNs)是有向图, 每个节点的条件概率分布表示为P(当前节点|父节点)

    从朴素贝叶斯到HMM:在输出序列的y时,依据朴素贝叶斯只有 。没有考虑yi之间的关系,因此加入,得到HMM

    • HMM

      定义:HMM是关于时序的概率模型,由一个隐藏的马尔可夫链生成不可观测的状态随机序列,再由各个状态生成观测序列

      三要素:初始状态概率向量,状态转移矩阵A,观测/发射概率矩阵B

      假设:齐次马尔可夫&观测独立

      概率计算:给定三要素和观测序列,生成观测序列概率

      学习问题:给定观测序列,用极大似然估计三要素

      预测/解码:给定观测序列和三要素,求最可能的状态序列

    • 朴素贝叶斯

      https://www.zhihu.com/question/53458773/answer/554436625

  • 无向图

    https://www.zhihu.com/question/53458773/answer/554436625

    马尔可夫网络则是无向图, 包含了一组具有马尔可夫性质的随机变量. 马尔可夫随机场(Markov Random Fields, MRF)是由参数(S,π,A)表示, 其中S是状态的集合,π是初始状态的概率, A是状态间的转移概率。一阶马尔可夫链就是假设t时刻的状态只依赖于前一时刻的状态,与其他时刻的状态和观测无关。这个性质可以用于简化概率链的计算。

    • 逻辑回归

      https://www.zhihu.com/question/265995680/answer/303148257

      朴素贝叶斯与逻辑回归的关系:都是对几率P/(1-P)进行拟合。朴素贝叶斯基于条件独立假设,另特征间相互独立,通过P(X|Y)P(Y)=>联合概率分布求得几率

      逻辑回归拟合特征间的关系:用线性回归逼近几率

    • CRF

      模型定义

      举例:
      https://zhuanlan.zhihu.com/p/104562658

      无向图:在给一个节点打标签时,把相邻节点的信息考虑进来(马尔可夫性:只与相邻的两个状态有关)

      线性链条件随机场:P(Yi|X,Y1,...Yn) = P(Yi|X, Yi-1, Yi+1),只考虑当前和前一个 由输入序列预测输出序列的判别模型,对条件概率建模

      观测序列,状态/标记序列

      特征函数:转移特征t(依赖当前和前一个位置),状态特征s(依赖当前位置),t和s对取值为1或0

      特征函数

      转移特征t(依赖当前和前一个位置),状态特征s(依赖当前位置),t和s对取值为1或0

      与逻辑回归比较:CRF是逻辑回归的序列化版本

      与HMM比较:每一个HMM模型都可以用CRF构造出来。CRF更加强大:

      1.CRF可以定义数量更多,种类更丰富的特征函数。HMM从朴素贝叶斯而来,有条件独立假设,每个观测变量只与状态变量有关。但是CRF却可以着眼于整个句子s定义更具有全局性的特征函数

      2.CRF可以使用任意的权重。将对数HMM模型看做CRF时,特征函数的权重由于是log形式的概率

      https://zhuanlan.zhihu.com/p/31187060

      1.HMM是生成模型,CRF是判别模型

      2.HMM是概率有向图,CRF是概率无向图

      3.HMM求解过程可能是局部最优,CRF可以全局最优(对数似然为凸函数)

      4.CRF概率归一化较合理,HMM则会导致label bias 问题

公众号后台回复思维导图获取完整手册(Xmind脑图源文件,学习起来更方便(ง •_•)ง

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【重磅】全行业事理图谱V3.0正式发布:基于实证的由因求果、由果溯因,因果路径发现

我们一直在事理图谱的探索和应用路上不断前行。。。 【中科院软件所】数据地平线的金融事理图谱Demo已经和大家见面有一段时间了(Demo地址:http://eg.zhiwenben.com/),这段时间我们收到了很多用户的建议反馈和合作邀约,大家对产品的认可和喜…

算法--二分查找--查找给定条件的值

文章目录1.数据有序且无重复,查找给定值2.数据有序且有重复,查找第1个给定的值3.查找最后一个值等于给定值的元素4.查找第一个大于等于给定值的元素5.查找最后一个小于等于给定值的元素6.查找IP归属(利用上面#5代码)7.循环有序数组…

论文浅尝 | 利用边缘标签的网络嵌入强化方法

链接:https://arxiv.org/pdf/1809.05124.pdf本文主要关注Network embedding问题,以往的network embedding方法只将是网络中的边看作二分类的边(0,1),忽略了边的标签信息,本文提出的方法能够较好的保存网络结构和边的语义信息来进行…

2018阿里集团中间件Java面试题(4面)

持续分享阿里技术面试 最新天猫3轮面试题目:虚拟机并发锁Sql防注入Zookeeper 最新阿里内推高级Java面试题 蚂蚁金服4轮面经(Java研发):G1收集器连接池分布式架构 天猫研发团队(4面全题目):并发压测Mina事…

卷积神经网络中十大令人拍案叫绝的操作

一只小狐狸带你解锁 炼丹术&NLP 秘籍作者:Justin ho来源:https://zhuanlan.zhihu.com/p/28749411前言CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个…

python--从入门到实践--chapter 11 代码测试unittest

编写的代码需要测试是否有Bug 1.函数测试 city_functions.py def city_country(city, country):return str(city) , str(country)city_country_unittest.py import unittest #导入测试模块 from city_functions import city_country as cc class citytest(unittest.TestC…

刘升平 | 基于知识图谱的人机对话系统

本文转载自公众号:AI科技大本营。 分享嘉宾 | 刘升平(云知声 AI Labs 资深技术专家)来源 | AI 科技大本营在线公开课人机对话系统,或者会话交互,有望成为物联…

最强Java面试题全部合集,涵盖BAT大厂面试必考的9大技术!-强烈建议收藏

过去2年我持续分享了BAT TMD为代表的大厂最新面试题目,特别是蚂蚁金服、天猫、淘宝、头条、拼多多等Java面试题目。 过去2年,我已经成功的帮助了部分同学进入了大厂。 2020开始,我依然会为大家带来最新的大厂现场面试专场题目,希…

杨强教授新番!破解机器学习数据孤岛和数据保护难题

一只小狐狸带你解锁 炼丹术&NLP 秘籍移动互联技术这把“温柔刀”,带来巨大便利之余,也将我们的个人数据放进了橱窗,为“推动信息技术发展”而供人调取。我们都清楚网络“裸奔”的行为很混乱,但你知道到底有多乱吗?…

POJ 3122 分披萨(二分查找)

题目链接:http://poj.org/problem?id3122 题目大意: 有 n 块披萨(大小不一样), f 个人分,包含主人自己 f1 人; 每人吃的披萨必须是一块披萨上切下来的。每个人吃的披萨相等,披萨可…

没错,继事理图谱后,我们又搞事情了:数地工场自然语言处理语义开放平台正式对外发布!

2020年的钟声即将敲响,在这辞旧迎新之际,经过近几年在Fintech领域中的自然语言处理技术研发和产品迭代积累,数据地平线Datahorizon迎来重大更新,以数据、事件、逻辑的语义toolbox为愿景的数地工场开放平台V1.0正式对外发布。 数地…

论文浅尝 | Understanding Black-box Predictions via Influence Func

Cite: Koh P W, Liang P. Understanding black-box predictions via influence functions[J]. arXiv preprint arXiv:1703.04730, 2017.链接:https://arxiv.org/pdf/1703.04730GitHub项目地址:http://bit.ly/gt-influence本文使用影响函数(Influence fun…

ICLR2020满分论文 | 为什么梯度裁剪能加速模型训练?

一只小狐狸带你解锁 炼丹术&NLP 秘籍作者:苏剑林(来自追一科技,人称“苏神”)前言需要许多时间步计算的循环神经网络,如LSTM、GRU,往往存在梯度爆炸的问题。其目标函数可能存在悬崖一样斜率较大的区域&…

快手高级Java四轮面试题:设计模式+红黑树+Java锁+Redis等

快手Java一面(一个小时十分钟) 1.自我介绍 2.说说B树和B树的区别,优缺点等? 3聊聊Spring,主要IOC等等 4多线程JUC包下的一些常见的类,比如CountDownLatch、Semaphore等 5.锁的概念,锁相关的…

数据结构--跳表SkipList

对单链表查找一个元素的时间复杂度是 O(n)通过对链表建立多级索引的结构,就是跳表,查找任意数据、插入数据、删除数据的时间复杂度均为 O(log n)前提:建立了索引,用空间换时间的思路(每两个节点建立一个索引)索引节点总和 n/2n/4n…

领域词汇知识库的类型、可用资源与构建技术漫谈

词是语言系统中重要的语言单元,词语是开展文本处理的基础,在语义表示上具有比字符更丰富的表达能力。词语具有领域特性,不同的领域具有不同的词汇体系,如军事领域、医疗领域、公共治安领域、金融领域之间存在着很大的差异性。这种…

论文浅尝 | EARL: Joint Entity and Relation Linking for QA over KG

Mohnish Dubey, Debayan Banerjee, Debanjan Chaudhuri, Jens Lehmann: EARL: Joint Entity and Relation Linking for Question Answering over Knowledge Graphs. International Semantic Web Conference (1) 2018: 108-126链接:https://link.springer.com/conten…

百度高级Java三面题目!涵盖JVM +Java锁+分布式等

百度高级Java一面 自我介绍 对象相等的判断,equals方法实现。 Hashcode的作用,与 equal 有什么区别? Java中CAS算法? G1回收器讲一下? HashMap,ConcurrentHashMap与LinkedHashMap的区别 如何在多线程环…

python--从入门到实践--chapter 12 pygame_Alien_Invasion

安装pygame包,把安装好的包copy一份到pycharm工程目录下,不然找不到pygame包 抄一遍书上的代码: settings.py class Settings():def __init__(self):self.screen_width 1200self.screen_height 800self.bg_color (255, 255, 255)self.s…

实时事理学习与搜索平台DemoV1.0正式对外发布

我们团队探索了一种将事件、概念、逻辑、实时学习、多类知识库实时更新串起来的知识服务新模式。一个面向事理的实时学习和搜索系统Demo,取名叫“学迹”,取自“学事理,知行迹”。 项目地址:https://xueji.zhiwenben.com 一、 “学…