自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kaggle expert,全球排名前1000,清华计算机研究生,兴趣算法工程

kaggle expert,全球排名前1000,清华计算机研究生,兴趣算法工程

  • 博客(1289)
  • 资源 (4)
  • 收藏
  • 关注

原创 必知必会!常用矩阵求导和重要的矩阵

转自https://blog.csdn.net/a841454735/article/details/88608682,来备份一下,矩阵求导很重要!一、矩阵求导  一般来讲,我们约定,这是分母布局。常见的矩阵求导方式有:向量对向量求导,标量对向量求导,向量对标量求导。1、向量对向量求导2、标量对向量求导3、向量对标量求导其他的可以参考wiki:维基百科矩阵求导公...

2020-04-25 22:18:20 1665

原创 程序员面试——C++工程师面试大全第一部分

1.static 关键字的作用1. 全局静态变量在全局变量前加上关键字 static,全局变量就定义成一个全局静态变量.静态存储区,在整个程序运行期间一直存在.初始化:未经初始化的全局静态变量会被自动初始化为 0(自动对象的值是任意的,除非他 被显式初始化);作用域:全局静态变量在声明他的文件之外是不可见的,准确地说是从定义之处开始,到文件结尾.2. 局部静态变量在局部...

2020-02-24 13:41:40 568

原创 【shell脚本6】Shell脚本学习--条件控制2

一般while循环优于until循环,但在某些时候,也只是极少数情况下,until 循环更加有用。在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环。continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环。在嵌套循环中,break 命令后面还可以跟一个整数,表示跳出第几层循环。首先do里面的语句块一直在运行,直到满足了until的条件就停止。表示跳出第 n 层循环。

2024-09-25 00:10:02 301

原创 【shell脚本5】Shell脚本学习--条件控制

取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号。if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。如果输入正确的参数,则会进入正确的流程。和方括号([ ])之间必须有空格,否则会有语法错误。对比看就很容易理解了。很相似,只是格式不一样。命令介绍下一个经典的例子:从命令行读取参数。语句类似,是一种多分枝选择结构。,指的是获取命令行的第一个参数。捕获该值,再执行后面的命令。类似,意思是跳到整个。

2024-09-25 00:09:56 351

原创 【shell脚本4】Shell脚本学习--字符串和数组

字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。

2024-09-22 09:22:02 285

原创 【shell脚本3】Shell脚本学习--运算符

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。关系运算符只支持数字,不支持字符串,除非字符串的值是数字。是一款表达式计算工具,使用它能完成表达式的求值操作。文件测试运算符用于检测 Unix 文件的各种属性。

2024-09-22 09:21:57 324

原创 【python设计模式6】行为型模式1

责任链模式的内容:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链并沿着这条链传递该请求,直到有一个对象处理它为止。责任链的角色有抽象处理者、具体处理者和客户端。使用场景:有多个对象可以处理一个请求,哪个对象处理由运行时决定;在不明确接收者的情况下,向多个对象中的一个提交一个请求。优点是降低耦合度,一个对象无需知道是其它哪一个对象处理其请求。

2024-09-21 13:06:10 474

原创 【python设计模式7】行为型模式2

内容:定义一个操作中的算法骨架,将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。使用模板方法,需要用到两种角色,分别是抽象类和具体类。抽象类的作用是是定义抽象类(钩子操作),实现一个模板方法作为算法的骨架。模板方法适用的场景:一次性实现一个算法的不变部分,各个子类中的公共行为应该被提取出来并集中到一个公共父类中以避免代码重复;定义一个个算法,把它们封装起来,并且使它们可以相互替换。优点:定义了一些列可重用的算法和行为;缺点:客户必须了解不同的策略。

2024-09-21 13:06:06 184

原创 【shell脚本2】Shell脚本学习--入门2

注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。有空格会出错。首个字符必须为字母(a-z,A-Z)。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help命令查看保留关键字)。myNum=100注意:变量中间不能有空格,如果手误写错(例如var = test),刚好要使用删除这个目录,实际删除的是!

2024-09-21 13:05:46 840

原创 【shell脚本1】Shell脚本学习--入门

Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本。Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等,习惯上把它们称作一种Shell。我们常说有多少种Shell,其实说的是Shell脚本解释器。

2024-09-21 13:05:38 680

原创 【python设计模式5】结构型模式2

保护代理:控制对原始对象的访问,用于对象有不同的访问权限。将对象组合成树形结构以表示“部分-整体”的层次结构(特别是结构是递归的),组合模式使得用户对单个对象和组合对象的使用具有一致性。使用虚代理后,可以和根据需要创建对象,用户不调用是不会创建 RealSubject 对象的,节省了内存的开销。外观模式为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层的接口,这个接口使得这一子系统更加容易使用。外观模式下的角色有外观和子系统类,优点是:减少系统相互依赖,提高灵活性,提高了安全性。

2024-09-21 00:15:24 277

原创 【python设计模式4】结构型模式1

将一个类的接口转换成客户希望的另外一个接口,适配器使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。实现适配器的两种方式,类适配器使用多继承,对象适配器使用组合。组合就是一个类中放入另一类的对象。适配器模式有三种角色,分别是目标接口、待适配的类和适配器。适用场景是:想使用一个已存在的类,而它的接口不符合你的要求。想使用一些已经存在的类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。

2024-09-21 00:15:19 265

原创 【python设计模式3】创建型模式2

抽象工厂模式:定义一个工厂类的接口让工厂子类来创建一系列相关或者相互依赖的对象。相比工厂方法模式,抽象工厂模式中的每一个具体工厂都生产一套产品。下面是生产厂商生产一部手机的例子:生产一部手机如果说只需要手机壳、CPU和操作系统这三个类对象,其中每个类对象都有不同的种类。对每个具体工厂,分别生产一部手机需要的三个对象。抽象工厂模式的角色有:抽象工厂角色、具体工厂角色、抽象产品角色、具体产品角色和客户端。抽象工厂模式的优点是:将客户端和类的具体实现相分离;每个工厂创建了一个完整的产品系列。

2024-09-18 00:21:55 251

原创 【python设计模式2】创建型模式1

简单工厂模式不是23中设计模式中的,但是必须要知道。简单工厂模式不直接向客户端暴露对象创建的细节,而是通过一个工厂类来负责创建产品类的实例。

2024-09-18 00:21:48 402

原创 【python设计模式1】面向对象设计原则

设计模式是对软件设计中普遍存在或反复出向的各种问题所提出的解决方案。每一个设计模式系统地被命名、解释和评价了面向对象系统中一个重要和重复出现的设计。

2024-09-17 17:09:02 526

转载 【Linux备忘速查12】文本操作篇

2024-09-17 17:08:34 18

转载 【Linux备忘速查11】Shell脚本操作相关

2024-09-17 17:08:16 18

原创 【python因果推断库16】使用 PyMC 模型进行回归拐点设计

回归拐点设计应当通过分段连续函数来进行分析。一个这样的函数的例子是一个分段连续多项式:其中:是未知参数,- x 是连续变量,- t 是一个指示变量,如果 x>=k 则取值为1,否则为 0- k 是 x 在拐点处的值。我们可以通过绘制一系列随机选择的系数的函数图像来直观地展示这些函数的样子,但所有这些函数都具有相同的拐点在0.5。回归拐点分析的思想是拟合一个合适的函数到数据上,并估计在拐点处函数梯度是否有变化。下面我们将生成一些数据集并演示如何进行回归拐点分析。

2024-09-17 17:07:49 961

原创 【python因果推断库15】使用 sci-kit learn 模型进行回归断点分析

我们处理这个问题的一种方法是使用 `bandwidth` 参数。这将只对阈值附近的一定带宽内的数据进行拟合。如果 x 是连续变量,那么模型将只对满足。我们甚至可以走得更远,只为接近阈值的数据拟合截距。但很明显,这将涉及更多的估计误差,因为我们使用的数据较少。虽然我们可以看到这样做并不能很好地拟合数据,几乎肯定高估了阈值处的不连续性。

2024-09-11 00:13:56 705

原创 【python因果推断库14】饮酒年龄 - 贝叶斯分析

这个例子使用了回归断点设计来探讨最低合法饮酒年龄(在美国为21岁)对全因死亡率的因果效应。数据集来自carpenter2009effect 的一项研究。

2024-09-11 00:13:51 1180

原创 【python因果推断库13】使用 PyMC 模型进行回归断点分析

这将只对阈值附近的一定带宽内的数据进行拟合。尽管可以说使用更复杂的模型进行拟合可能会更好,例如使用样条模型。这允许我们使用所有的数据,并且(根据具体情况)可能会给出更好的拟合。我们甚至可以走得更远,只为接近阈值的数据拟合截距。但很明显,这将涉及更多的估计误差,因为我们使用的数据较少。PyMC 采样器的 `random_seed` 关键字参数不是必需的。虽然我们可以看到这样做并不能很好地拟合数据,几乎肯定高估了阈值处的断点。与本笔记本中的所有模型一样,我们可以要求提供模型系数的摘要。

2024-09-10 00:11:27 952

原创 【python因果推断库11】工具变量回归与使用 pymc 验证工具变量4

但现在我们可以将这个估计与仅包含教育作为控制变量的简单回归进行比较。在这里,我们看到包含我们的工具变量和处理变量的回归中,分配给我们的工具变量 `nearcollege_indicator` 的系数权重 beta_z[nearcollege_indicator] 进一步向 0 缩小。这在一定程度上表明排除限制假设仍然是合理的。工具变量的影响被吸收到了处理变量更直接的影响中。注意这里简单回归和工具变量估计之间的显著差异。这种对比在许多方面是工具变量设计的核心。

2024-09-07 09:39:53 608

原创 【python因果推断库12】工具变量回归与使用 pymc 验证工具变量5

我们可以通过尝试将争议性的信念作为模型的先验,并观察推断在多大程度上由我们的先验规范锚定,以及数据在多大程度上使我们远离不太可信的假设,来压力测试推断的可信度。但是尽管我们试图将 LATE 估计向上拉,贝叶斯更新的过程还是将我们的置信区间的高密度区间 (HDI) 拉入了一个与我们第一次 IV 模型拟合有很大重叠的合理范围内。请注意,所有的 IV 模型都将置信区间从更简单的 OLS 类型模型的估计中拉开。我们的最终模型显示了预测分布和反事实分布有些混乱的实现,表明它实际上并不是我们数据的好模型。

2024-09-07 09:39:43 875

原创 【python因果推断库10】工具变量回归与使用 pymc 验证工具变量3

这个假设是可以检验的,因为我们想要确保分配给我们的工具变量的系数权重不为零,从而证明工具变量的加入可以帮助预测处理变量的部分变异。这有两个目的:(i) 我们可以探索在简单的回归中如何度量教育的影响,并且 (ii) 我们可以基准测试我们的工具变量 `nearcollege_indicator` 在试图预测教育时的有效性。在这里,减少形式回归指示了一个接近于零的参数估计,这表明至少在预测对数工资的任务中,当我们将教育变量包含在我们的工具变量模型中时,我们应该看到接近度的预测影响被吸收到了教育变量中。

2024-09-06 20:40:37 1065

原创 【python因果推断库9】工具变量回归与使用 pymc 验证工具变量2

这里至少有一些迹象表明,大学的接近程度对教育程度有一定影响,而且教育似乎推动了工资的增长。此外,在第一个图中,我们可以看到在接近四年制大学较差的人群中,达到最高教育成果的人数稀少,即椭圆中的红色点比蓝色点少。最初,这些数据被用来重现 Card 在1995年的著名论文《Using Geographical Variation in College Proximity to Estimate the Return to Schooling》中的部分内容,他在该文中旨在提炼教育对工资的因果影响。

2024-09-06 20:40:32 500

原创 【python因果推断库8】工具变量回归与使用 pymc 验证工具变量1

pymc对于这个笔记,我们还安装了 jax 和 numpyro。这使得我们在 `InstrumentalVariable` 类中对后验预测分布的采样速度大大加快。

2024-09-05 21:37:00 692

原创 【python因果推断库7】使用 pymc 模型的工具变量建模 (IV)2

他们最终建议使用欧洲定居者在那个时期的死亡率作为工具变量,因为较高的死亡率会导致较少的移民和对该地区的投资,这应该会减少在殖民地建立的政治制度。在这个笔记中,我们不会进一步讨论弱工具变量和强工具变量的问题,也不会讨论如何找到并测试工具变量的强度,但我们将会展示如何在贝叶斯设置下拟合这类模型。工具变量回归是我们工具箱中的一种工具,可以帮助我们在潜在受上述基本DAG描述的混淆影响的情况下揭示政策的微妙效应。正如我们上面所述,贝叶斯方法的一个好处是我们可以直接测量工具变量和处理变量之间的双变量关系。

2024-09-05 21:36:38 683

原创 【python因果推断库5】使用 CausalPy 进行贝叶斯geolift 分析2

再次,类封装了检查倾向性得分分布以及在不同加权方案下评估平均处理效应的功能。这里我们在三个图板中绘制了以下内容:第一个图展示了按照处理组和对照组划分的倾向性得分分布的镜像抽样,分别用黄色和蓝色表示,灰色则表示通过加权创建的伪人群。第二个图展示了在每种抽样下,经过重新加权后这些组的预期结果。第三个图展示了得出的平均处理效应估计值。请注意,在这种加权方案下,ATE(平均处理效应)的期望值略微偏离了真实值。

2024-09-04 21:21:26 794

原创 【python因果推断库6】使用 pymc 模型的工具变量建模 (IV)1

评分越高,表示可用的法律保护越多。想法是法律和政治制度结构具有长期的好处,因为各个殖民地在不同的殖民力量下受到不同的对待(具有不同程度的制度发展),所以论点是我们有可能利用这类数据来估计政治制度对GDP的影响。在这里,协变量包含一个处理变量(risk),它通过未测量的历史(unmeasured history)这一中介值与结果(loggdp)相关联,违反了OLS假设中的独立性。这种相对简单的图在政策采纳的情境中相当常见,其中我们关心的是某个处理/政策()对人口的影响,其中()是一些影响采纳的度量。

2024-09-04 21:21:24 795

原创 【python因果推断库4】使用 CausalPy 进行贝叶斯geolift 分析1

在这个笔记本中,我们将简要展示如何使用倾向得分加权方案来从观察数据中恢复处理效应。首先,我们将使用Lucy D'Agostino McGowan在其优秀的博客中关于逆倾向得分加权方法中的模拟数据示例来进行说明。然后我们将同样的技术应用于Miguel Hernán和Robins在他们的《因果推断:假如》一书中讨论的NHEFS数据集。该数据集测量了1971年至1982年间戒烟的效果。在这两个时间点上记录了参与者的体重,我们的目标是估计在这期间戒烟对1982年记录的体重的影响。

2024-09-03 00:31:10 1043

原创 【python因果推断库3】使用 CausalPy 进行贝叶斯geolift 分析

本笔记本介绍如何使用 CausalPy 的贝叶斯{术语}合成控制功能来评估“地理提升”(GeoLift)。我们的假设情景如下:你是一家在欧洲运营的公司的数据科学家。你得到了一份过去四年的历史销售量数据集,数据按千单位计算,按周频率收集,并按国家细分。数据涵盖了过去四年的时间。从2022年初开始,市场部门决定翻新丹麦所有的门店。到了2022年底,公司希望你能评估这次翻新计划是否增加了销售额。如果你告诉他们门店翻新计划提高了销售额,那么他们会将这一计划推广到其他国家。

2024-09-03 00:31:05 936

原创 【python因果推断库2】使用 PyMC 模型进行差分-in-差分(Difference in Differences, DID)分析

random_seed` 这个关键词参数对于 PyMC 采样器来说并不是必需的。我们在这里使用它是为了确保结果是可以重现的。

2024-09-02 21:21:57 1051

原创 【python因果推断库1】协方差分析(ANCOVA)用于处理前/后非等效组设计

这是一个基于合成数据的初步示例。希望不久之后能用真实研究的数据进行更新。在只有一次预处理测量和一次后处理测量的情况下,我们可以使用类似于协方差分析(ANCOVA)的方法来分析非等效组设计(NEGD)实验的数据。基本模型是:i指第i个样本,指给样本i的treatment,是pre treatment,是post treatment,是一个截距项。非零值表示未经处理组随时间的变化,是斜率。是残差。

2024-09-02 21:21:27 1271

原创 【Python实战因果推断】73_图因果模型8

这将减少偏倚,但不会完全消除它,因为如你所见,1)有导致选择的因素是你不知道或无法测量的,2)结果或治疗可能直接导致选择。在我们一直在讨论的例子中,即使有随机对照试验,ATE也无法识别,仅仅是因为你无法在对那些回应了调查的人进行条件化后,关闭新功能与客户满意度之间的非因果关联流。总的来说,为了调整选择偏倚,你必须调整导致选择的所有因素,同时还要假设结果或治疗既不直接导致选择,也不与选择共享隐藏的共同原因。但如果它是正确的,一旦你控制了在应用程序中花费的时间,新功能对满意度的影响就变得可识别了。

2024-08-31 09:31:37 2112

原创 【Python实战因果推断】72_图因果模型7

这正是A/B测试的要点所在。在某些情况下,由于未测量的混杂因素,你无法关闭所有的后门路径。在这种情况下,由于混杂因素的偏差,治疗对结果的因果效应是无法识别的。如果你认为混杂偏倚已经在你的因果推断鞋子里埋下了难以察觉的小石头,那么等到你听到选择偏倚时,你可能会更加惊讶。在这个例子中,你无法直接测量经理的素质,但你可以测量其部分原因,如经理的工作年限或教育水平;因此,除了尝试弄清楚为了识别效应你需要对哪些变量进行条件化之外,你还应该问自己有哪些可能的干预措施可以改变图,使之成为一个感兴趣的因果量可识别的图。

2024-08-31 09:31:18 1956

原创 【python进阶攻略2】生成器(Generators)

你通过遍历来使用它们,要么用一个“for”循环,要么将它们传递给任意可以进行迭代的函数和结构。然而,一个迭代器在遍历并读取一个容器的数据元素时,并不会执行一个迭代。tep)的区别在于, 单步进入会进入当前行调用的函数内部并停在里面, 而单步跳过会(几乎)全速执行完当前行调用的函数,并停在当前函数的下一行。许多Python 2里的标准库函数都会返回列表,而Python 3都修改成了返回生成器,因为生成器占用更少的资源。pdb真的是一个很方便的功能,上面仅列举少量用法,更多的命令强烈推荐你去看官方文档。

2024-08-30 21:39:03 2860

原创 【python进阶攻略1】*args和 **kwargs

我观察到,大部分新的Python程序员都需要花上大量时间理解清楚 和这两个魔法变量。那么它们到底是什么?首先让我告诉你, 其实并不是必须写成和。 只有变量前面的 (星号)才是必须的. 你也可以写成和. 而写成和只是一个通俗的命名约定。 那就让我们先看一下吧。和 主要用于函数定义。 你可以将不定数量的参数传递给一个函数。这里的不定的意思是:预先并不知道, 函数使用者会传递多少个参数给你, 所以在这个场景下使用这两个关键字。 是用来发送一个非键值对的可变数量的参数列表给一个函数.这里有个例子帮你理解这个概念:

2024-08-30 21:38:36 2094

原创 【大模型从入门到精通46】LLM部署运维(LLM Ops)使用Kubeflow Pipelines掌握LLM工作流3

"""评估系统对于无效或不适用请求的响应,确保其适当拒绝回答。参数:- system_prompt_message: 测验生成的指令或上下文。- invalid_quiz_request_question: 系统应该拒绝回答的请求。- expected_refusal_response: 预期的拒绝响应,表明系统拒绝回答请求。- user_question_template: 用于结构化用户问题的模板,默认为占位符。

2024-08-29 22:10:13 621

原创 【大模型从入门到精通47】LLM部署运维(LLM Ops)使用Kubeflow Pipelines掌握LLM工作流4

根据项目的需要调整docker部分中的 Python 版本。将pytest命令替换为您用于运行测试的具体命令,如有不同。如果您的项目有额外的设置步骤(例如设置数据库、配置环境变量等),您可以在jobs部分添加更多的步骤。要使您的测试在 CircleCI 上自动运行,请将此文件提交到您的仓库。一旦推送,如果您的 GitHub 或 Bitbucket 账户已与 CircleCI 集成,CircleCI 将自动检测配置文件,并按照您设定的规则在每次提交时运行定义的管道。

2024-08-29 22:10:05 1382 1

原创 【大模型从入门到精通44】LLM部署运维(LLM Ops)使用Kubeflow Pipelines掌握LLM工作流1

在这一章节中,我们将探索创建一个AI驱动的测验生成器的应用案例,该应用展示了如何利用第三方API、数据集创建以及为AI模型设计提示。构建我们的AI驱动测验生成器的第一步涉及设置环境,并确保我们能够访问必要的第三方API。在这一节中,我们将整个AI驱动的测验生成过程的设置和执行封装在一个单一的可重用函数中。将所有必需的组件——提示创建、模型选择和输出解析——组合成一个连贯的工作流,可以通过自定义输入进行调用。最后,我们使用Langchain的表达语言将所有组件结合在一起,形成一个无缝的测验生成管道。

2024-08-28 09:48:36 407

人手一份核武器 - Hacking Team 泄露(开源)资料导览手册 _ WooYun知识库.pdf

事先声明本人并不是全栈安全工程师,仅仅是移动安全小菜一枚,所以对泄漏资料的分析难免会有疏忽或着错误,望各位围观的大侠手下留情。 首先来看安全界两大元老对Hacking Team(以下简称HT)被黑这个事件的看法: @tombkeeper: Stuxnet 让公众知道:“原来真有这种事”,Snowden 让公众知道:“原来这种事这么多”,Hacking Team 让公众知道:“原来这种事都正经当买卖干了”

2020-03-27

空空如也

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

TA关注的人

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