复习
第一题 什么是逆向选择?核心机制与效果? 逆向选择是指在签订合同前,交易双方存在着市场的信息不对称,处在信息劣势的一方面临着不利的选择环境 核心机制: 买方无法分辨市场上的产品质量,导致只能给出平均价格购买产品 具有高质量产品的卖方不愿意接受低价,于是退出市场 市场上只剩下质量差的产品,最终导致劣币驱逐良币的现象 效果:市场交易量萎缩,市场失灵,资源配置无效率 第二题 逆向选择的案例 二手车市场:由于买方无法判断二手车的质量,只愿意出平均价格,导致优质的二手车商退出市场,市场上只剩下劣质的二手车 信贷市场:由于银行提高利率,导致稳健的企业不想支付高利率的利息,退出市场,但是追求高风险的企业愿意,导致银行高风险 保险市场:由于保险公司提供的是平均的保险价格,身体质量好的人因为价格贵不会去参保,而身体质量差的人会选择参保,导致保验公司赔付率过高亏损 P2P 网贷:由于出借人无法区分借贷人的信用,导致信用较差的借贷人提供高利率,信用好的借贷人无法提供高利率而退出市场,导致平台高风险 电商平台:由于质量差的电商平台选择刷单、刷好评,消费者无法区分质量好坏,而导致质量好的产...
git学习
git 学习,笔记参考 Peter Cottle 的:https://learngitbranching.js.org/?locale=zh_CN&NODEMO= Git branch git 的分支非常轻量,只是指向某一个提交记录。 也就是相当于一个指针,指向一个 commit,git checkout 是切换分支。 再次进行 git commit 的时候,main 会更新,但是分支不会更新。 Git merge 将两个分支合并到一起。在 Git 中合并两个分支时会产生一个特殊的提交记录,它有两个 parent 节点。 **创建新分支 **bugFix **用 **git checkout bugFix 命令切换到该分支 提交一次 **用 **git checkout main 切换回 main 再提交一次 **用 **git merge 把 bugFix 合并到 main 必须先创建分支,再切换分支,才能提交 注意的是 git merge 的时候需要 checkout 到被合并的分支(也就是主分支)上。 Git rebase **第二种合并分支的方法是 **...
量子计算学习
1.1 量子计算原理 量子比特概念介绍 量子计算是一种基于量子力学基本原理的信息处理范式,它利用量子叠加、量子纠缠和量子干涉等现象,解决经典计算机无法高效处理的问题。 在经典计算机中,信息的基本单元是比特(bit),只以 0 和 1 两种可能的形式存储信息。而在量子计算中,基本单元是量子比特(Qubit),它可以存储 0 和 1 的任何叠加状态(比如 64% 可能是 1,36% 可能是 0),使得量子计算在处理信息时拥有巨大的并行计算能力。 经典比特 (1)表示为二进制状态(0 或 1),如开关的“开/关”; (2)物理载体通常有晶体管的高低电压,磁盘的南北极磁化方向等; (3)N 个经典比特只能存储 1 个 N 位状态。 量子比特 (1)可以表示为叠加态(α|0⟩ + β|1⟩),其中 α 和 β 是复数概率幅,满足 |α|^2 + |β|^2 = 1; 量子态特性 (1)量子叠加 量子态可以是两个或多个不相容的经典态的叠加,比如 0 和 1 的叠加,这使得量子计算机可以指数级的并行处理加速。 数学描述 |ψ⟩ = α|0⟩ + β|1⟩ n 个量子比特:可同时表示 2^n 个...
llm前置知识-RNN
循环神经网络(Rerrent Neural Network, RNN) **是神经网络的一种,****RNN 对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,**利用了 RNN 的这种能力,使深度学习模型在解决语音识别、语言模型、机器翻译以及时序分析等 NLP 领域的问题时有所突破。 A. 挖掘“时序信息” (Mining Temporal Information) 这指的是 RNN 处理数据****顺序的能力。传统的神经网络(如全连接网络)在处理输入时,通常不考虑元素的顺序。例如,对于句子“我打你”和“你打我”,传统网络可能会得到相似的表示,因为它忽略了词序。 RNN 通过其独特的****循环结构解决了这个问题: 链式处理:RNN 像人阅读一样,一个词一个词地处理序列。 隐藏状态(记忆):RNN 的核心是一个“隐藏状态”(Hidden State),可以看作是网络的记忆。在处理序列的每一步,RNN 都会将当前的输入信息和上一步的记忆结合起来,形成新的记忆,然后传递给下一步 。 简单来说,当 RNN 处理到“你”这个词时,它的记忆里已经包含了“我”和“打...
llm神经网络深度学习
下面来讨论一下隐藏层的节点数设计。在设计一个神经网络时,输入层的节点数需要与特征的维度匹配,输出层的节点数要与目标的维度匹配。而中间层的节点数,却是由设计者指定的。因此,“自由”把握在设计者的手中。但是,节点数设置的多少,却会影响到整个模型的效果。如何决定这个自由层的节点数呢?目前业界没有完善的理论来指导这个决策。一般是根据经验来设置。较好的方法就是预先设定几个可选值,通过切换这几个值来看整个模型的预测效果,选择效果最好的值作为最终选择。这种方法又叫做 Grid Search(网格搜索)。 ** 了解了两层神经网络的结构以后,我们就可以看懂其它类似的结构图。例如 EasyPR 字符识别网络架构(下图)。** 下面简单介绍一下两层神经网络的训练。 ** 在 Rosenblat 提出的感知器模型中,模型中的参数可以被训练,但是使用的方法较为简单,并没有使用目前机器学习中通用的方法,这导致其扩展性与适用性非常有限。从两层神经网络开始,神经网络的研究人员开始使用机器学习相关的技术进行神经网络的训练。例如用大量的数据(1000-10000 左右),使用算法进行优化等等,从而使得模型训练...
llm-神经网络
由于实习等一系列事情,leetcode 更新暂时延缓,只保留每日刷一道题,知识点学习暂且搁置 下面是 llm 前置知识,在这部分结束后,我将更新经典论文阅读。 神经网络: 让我们来看一个经典的神经网络。这是一个包含三个层次的神经网络。红色的是****输入层,绿色的是输出层,紫色的是中间层(也叫隐藏层)。输入层有 3 个输入单元,隐藏层有 4 个单元,输出层有 2 个单元。 在开始介绍前,有一些知识可以先记在心里: 设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定; 神经网络结构图中的拓扑与箭头代表着****预测过程时数据的流向,跟训练时的数据流有一定的区别; 结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的****权重(其值称为权值),这是需要训练得到的。 除了从左到右的形式表达的结构图,还有一种常见的表达形式是从下到上来表示一个神经网络。这时候,输入层在图的最下方。输出层则在图的最上方,如下图: 神经元模型是一个包含输入,输出与计算功能的模型。输入可以类比为神经元的树突,而输出可以类比...
芯片验证(一)
芯片验证是确保芯片设计正确性的关键环节。随着芯片复杂度的不断提升,验证工作在整个设计流程中所占比重越来越大,已成为芯片成功与否的决定性因素。这一讲我们将从基础概念入手,系统介绍验证的重要性、基本流程与方法、验证层次和评估指标,探讨实际项目流程中可能遇到的挑战与敏捷验证的应对思路,分析当前验证领域面临的困境以及使用高级语言进行验证的价值,并展望芯片验证众包这一未来解决方案。 接下来,你将了解: 芯片验证的基本概念:什么是芯片验证,为什么它对芯片设计至关重要,以及验证不足可能导致的严重后果。 验证流程与敏捷方法:完整的验证流程是如何开展的,敏捷验证的原则与实践,以及从计划到报告的完整验证步骤。 验证层次体系:从单元测试到系统测试的不同验证层次及其特点。 验证质量评估:如何通过功能正确性、代码/功能覆盖率、缺陷密度等关键指标来评估验证质量。 当前验证挑战与高级语言价值:验证面临的工作量、成本、人才等挑战,以及使用高级语言(如 Python)的优势及其对验证的推动作用。 芯片验证众包前景:作为应对挑战的创新方案,众包验证的可行性、技术路线,以及 Picker 等工具在其中的作用。 ...
eoh环境配置
by zjn 1.克隆一下源码 1git clone https://github.com/FeiLiu36/EOH/ 2.进入源码目录,创建虚拟环境 我家里的电脑没有装conda,所以我用的是Python自带的venv,如果你有conda,可以用conda创建虚拟环境。 1python -m venv eoh_env 然后激活虚拟环境: 1source eoh_env/Scripts/activate 记得虚拟环境的Python版本要>3.10 可以确定一下: 1python --version 3.安装依赖 12#基础依赖pip install numpy numba joblib 在这个目录下,直接 1pip install -r requirements.txt 也可以 4.配置llm参数 按照官网的指示,我选择了 示例1:旅行商问题的构造算法 123cd examples/tsp_constructpython runEoH.py 但是需要先去买api DeepSeek 开放平台 在runEoH里面改一下参数 理论上就可以跑 但是,可能会遇到timeout...
EoH文章阅读
源码及文章:EoH/README_CN.md at main · FeiLiu36/EoH Evolution of Heuristic 启发式进化: Evolutionary Computation 进化计算: Automatic Heuristic Design 自动启发式设计 EoH 将自然语言中的启发式思维转化为可执行代码,通过优化搜索框架对思维与代码的持续演化,显著提升了高性能启发式算法的生成效率。 创新点: 双重演进:EoH 利用 LLM 不仅演进代码,更重要的是它还演进“思想”。LLM 首先根据现有的优秀启发式(包含思想和代码),生成一个改进的或全新的“思想” 。 思想指导代码:随后,LLM 再将这个新生成的“思想”作为指导,翻译成具体的“代码” 。 提示策略 (Prompt Strategies):整个演进过程并非盲目进行,而是由一系列精心设计的提示策略来引导,分为两大类:探索(Exploration: E1, E2)和修改(Modification: M1, M2, M3),以确保生成更多样化和更有效的启发式算法 。 通过构建 thought 来表征启发式算法...
链表双指针0808
3.0019. 删除链表的倒数第 N 个结点 3.1 题目大意 描述:给定一个链表的头节点 head。 要求:删除链表的倒数第 n 个节点,并且返回链表的头节点。 说明: 要求使用一次遍历实现。 **链表中结点的数目为 **sz。 示例: 123456 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 输入:head = [1], n = 1 输出:[] 题解: 123456789101112131415161718192021 class Solution: def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]: slow, fast = head, head # fast 先走 n 步 for _ in range(n): fast = fast.next # 如果 fast 走到 ...
