- 博客(66)
- 资源 (1)
- 收藏
- 关注
原创 机器学习(西瓜书)学习——绪论
本文系统整理了机器学习领域的基础术语与核心概念,主要分为四个类别:1)基本概念与数据表示,包括样本、特征、标记等基本要素;2)学习过程与模型构建,涉及训练、假设空间等关键环节;3)任务类型与学习范式,涵盖分类、回归等不同任务;4)模型评估与验证,包含测试、泛化等重要评估指标。这些术语构建了机器学习的基础知识框架,为理解算法原理和应用场景提供了标准化概念体系。
2025-08-09 17:44:52
1064
原创 概率论-独立同分布
连续抛掷同一枚公平硬币10次,每次结果独立且正面概率恒为0.5 → 这是i.i.d.。真实数据常违反i.i.d.(如时间序列、用户行为随时间变化),此时需。随机变量序列中每个变量。
2025-07-12 10:44:35
543
原创 概率论符号和公式整理
个人总结,仅限参考!以下整理了概率论中的SωSABSAcS−AAA∩BABPA∩BA∪BABA∖BABA∩Bc∅P∅0A⊆BABA⊥BPA∩BPAPBAA⊆SPA≥0PS1SA1A2A3...ijAi∩Aj∅P⋃i1∞Ai∑i1∞PAiPA∣BPBPA∩BBAPA∩BPA∣BPBPA∑i。
2025-06-29 10:46:27
1444
原创 凸性(Convexity)
凸性是一种描述“无凹陷”结构的数学特性,在函数、集合及实际应用中均体现其重要性。其核心价值在于简化优化问题的求解(如全局最优保证)和分析复杂系统的非线性行为(如金融风险建模)。
2025-05-05 16:04:57
1710
原创 PyTorch学习之张量(Tensor)(一)
张量是PyTorch中最基础的数据结构,可视为多维数组的泛化形式,支持标量(0维)、向量(1维)、矩阵(2维)及更高维度的数据存储。动态计算图:允许实时构建和调整计算流程,适合复杂模型(如RNN)的灵活设计自动微分:通过autograd模块自动计算梯度,简化反向传播的实现。设备兼容性:可无缝运行于CPU或GPU,利用GPU加速大规模计算PyTorch 张量是深度学习任务的核心载体,其灵活的操作接口、高效的GPU加速能力与自动微分特性,使其成为模型开发与优化的基石。
2025-05-03 19:11:09
537
原创 机器学习中的分类和回归问题
数值输出,而非离散的类别标签。例如,预测房价、气温、销售额等连续值。其名称源于统计学中的“回归效应”,由高尔顿在研究父母与子女身高关系时提出,描述数据向平均值靠近的趋势,后被扩展为预测连续值的统称。问题是一种监督学习任务,其核心目标是将数据样本分配到预定义的。类别中,例如判断邮件是否为垃圾邮件、识别图像中的物体类型等。回归问题是机器学习中一种监督学习任务,其核心目标是预测。注:此文为AI生成后编辑。
2025-05-03 15:59:12
1086
1
翻译 Don‘t Block on Async Code(不要阻塞异步代码)
这是一个在论坛和StackOverflow上反复出现的问题。我认为这是async新手在学习基础知识后最常问的问题。
2024-04-22 19:50:05
178
原创 C# 反射基础
反射(reflection)是运行中的程序查看自身或者外部程序集的元数据的行为。特性(Attributes)是一种特殊的类,它用于为程序中的其他程序结构(如类、方法、字段等)提供附加信息。
2024-04-20 20:34:24
769
原创 C#基础总结
装箱和拆箱是值类型与引用类型之间转换时发生的操作。装箱(Boxing):是将值类型转换为引用类型的一个过程。装箱时,值类型实例被包裹在一个新的对象中,并分配在堆上,这样它就有了一个引用地址,可以作为对象使用。拆箱(Unboxing):是将引用类型转换回原来的值类型。拆箱时,从堆上的对象中提取出值类型数据,并将其复制到一个栈上的临时位置,以便作为值类型使用。序列化是将对象的状态信息转换为可以存储或传输的形式的过程,而反序列化则是将这种形式的数据恢复为对象的过程。浅拷贝。
2024-04-20 20:30:50
894
原创 1.1入门指南(AutoMapper官方文档翻译)
AutoMapper是一个对象-对象映射器。对象-对象映射的工作原理是将一种类型的输入对象转换为不同类型的输出对象。AutoMapper的有趣之处在于,它提供了一些有趣的约定,将如何将类型A映射到类型B的繁琐工作解决掉。只要类型B遵循AutoMapper的既定约定,映射两个类型几乎不需要任何配置。
2023-10-05 16:52:49
522
原创 vs2022修改字段默认样式
默认情况下,VS2022通过快捷键,自动生成的字段样式为驼峰命名法,如下那怎么修改VS2022的字段默认样式呢?下面是修改的过程。
2023-09-26 20:57:40
635
原创 右键菜单添加 Open Git Bash
在使用 TortoiseGit 作为Git的可视化工具,但是会经常用到命令行操作,一般来说,安装了TortoiseGit后,右键会出现的命令。但是,可能由于某些原因,这个右键菜单选项不见了。下面就是重新添加此右键菜单的方法。
2023-09-26 20:36:43
1840
原创 Visual Studio 新建类从默认internal改为public
Visual Studio 新建类从默认internal改为public
2023-09-04 20:22:15
2311
翻译 发件箱模式(The Outbox Pattern)
有时,在处理业务操作时,需要在即发即弃()模式下与外部组件通信。外部服务消息总线邮件服务器相同的数据库,但不同的数据库事务另一个数据库下单后发送电子邮件向消息传递系统发送关于新客户端注册的事件在不同的数据库事务中处理另一个DDD聚合-例如在下订单以减少库存产品数量之后由此产生的问题是从技术角度来看,我们是否能够保证业务操作的原子性?
2023-01-24 21:33:45
1081
1
翻译 .NET Core中的旁路缓存模式(Cache-Aside Pattern)
通常情况下,我们需要专注于优化应用程序的性能。有很多方法可以做到这一点,其中一种方法是缓存一些数据。在这篇文章中,我将简要描述旁路缓存模式()及其在 .NET Core中的简单实现。在这篇文章中,我描述了旁路缓存模式及其在 .NET Core中的主要实现。我还提出了增强设计,以少量的工作实现更优雅的解决方案。缓存快乐!🙂。
2023-01-24 20:04:58
422
1
翻译 处理领域事件:缺失的部分
前段时间我写了一篇关于发布和处理域事件的文章。此外,在其中一篇文章中,我描述了发件箱模式(The Outbox Pattern),它在不使用2PC协议的情况下为我们提供了与外部组件/服务集成时至少一次的交付(这次我想结合这两种方法来完成之前的文章。我将提出一个完整的解决方案,考虑到事务边界,使系统以结构化的方式来可靠地进行数据处理。在这篇文章中,我描述了如何在深系统中以响应式方式处理命令和领域事件。用于事件分派和事务边界管理的装饰器模式用于在单独事务中处理事件的发件箱模式工作单元模式(
2023-01-23 23:16:11
253
翻译 如何发布和处理领域事件
领域事件是建模领域中过去发生的事件信息,是DDD方法的重要组成部分。发布和处理领域事件的方法有很多种——通过静态类、返回它们、通过集合公开。领域事件应该在现有事务中处理(我的建议)对于非事务性操作,引入了领域事件通知。
2023-01-23 21:53:45
445
翻译 领域模型验证
我们可以根据范围将领域模型的验证分为两种类型——聚合范围和限界上下文()范围.在这篇文章中,领域模型验证涉及了很多内容。我们有两种类型的领域模型验证——聚合范围和限界上下文范围领域模型验证通常有3种方法使用验证对象、延迟验证或始终有效(抛出异常)总是有效的方法是首选对于限界上下文范围验证,有两种验证方法——将所有需要的数据传递到聚合的方法/构造函数或者创建领域服务(通常是出于性能原因)。
2023-01-23 20:36:26
496
翻译 REST API数据验证
这一次,我将描述如何保护REST API应用程序免受包含无效数据的请求(数据验证过程)的影响。然而,不幸的是,仅仅验证我们的请求是不够的。除了验证之外,我们还负责将相关消息和状态返回给API客户端。我想在这篇文章中处理这两件事。什么是数据验证?我发现最好的定义来自UNECE数据编辑组(UNECE Data Editing Group):一种旨在验证数据项的值是否来自给定(有限或无限)的可接受值集的活动。根据这个定义,我们应该验证从外部源进入应用程序的数据项,并检查它们的值是否可接受。
2023-01-23 13:23:02
342
翻译 使用EF的领域模型的封装和持久化透明(PI)
在之前的文章中,我介绍了如何使用原始SQL(读模型)和领域驱动设计(写模型)实现简单的CQRS模式。我想继续介绍主要集中在DDD实施的例子。在这篇文章中,我将描述如何尽可能多地利用最新版本的Entity Framework 2.2(译者注:现在已不是最新版本)来支持纯领域建模。我决定在GitHub上不断开发我的例子。我将尝试逐步添加新的功能和技术解决方案。我还将尝试扩展领域,使应用程序与实际应用程序相似。在琐碎的领域中很难解释DDD的某些方面。不过,我强烈建议您关注(follow)我的代码库。
2023-01-22 23:56:33
368
翻译 简单的CQRS实现与原始SQL和DDD
我经常遇到关于CQRS模式实现的问题。甚至比我经常看到的"是在上下文中用ORM还是纯SQL访问数据库哪个更快”的讨论遇到的更多。在这篇文章中,我想向你展示如何使用. Net Core快速实现简单的REST API应用程序。开宗明义,这是CQRS最简单的版本——通过写模型()的更新立即更新了读模型(Read Model),因此我们在这里不保证最终的一致性(然而,许多应用程序不需要最终的一致性,因为推荐使用两个单独的模型对读写进行逻辑划分,这种做法在大多数解决方案中更加有效。
2023-01-22 22:42:50
376
原创 WPF ListBox等ItemsControl交替(Alternation)变化效果
最近遇到一个需求,就是让表格等控件的内容显示交替变化。交替变化的内容,有利于缓解用户的视觉疲劳,个人感觉是一个很好的需求,要怎么实现呢?先看看效果吧!AlternationCount 属性指定了ItemsControl按AlternationCount 值轮换数量。如果这个值是2,那么内容(Item)相关每两个交替变化;如果这个值是3,则每三个交替变化;2.Xaml.cs总结总之,时显示方式就是ItemsControl的AlternationCount 属性搭配Trigger。另外,MSDN官方示
2022-12-04 20:28:18
1289
原创 WPF 通过依赖属性Value更新长历史图表
最近在实现一些控件,诸如仪表盘和长历史图表等。这些控件对外的接口只有一个依赖属性Value。通过绑定,可以实时接收后台产生的数据。get {} set {对于一般的控件而言,如仪表盘,通过向提供更改通知的回调就可以实现仪表盘上的指针位置的更新。然而,对于长历史图表而言,它还有一个额外的要求保存历史的数据。这时,问题就出现了。如果后台产生了连续的相同的数据,那么的回调将不会被调用,进而导致长历史图只会保存连续变化的数据。这显然不是我们想要的效果。那如何解决这个问题呢?可以控件内部编写。
2022-11-20 11:52:20
574
原创 C#获取程序集中的所有控件类型
/ 获取程序集中定义的所有公共类型 var types = assembly . GetExportedTypes();
2022-11-13 12:24:59
1300
原创 LeetCode 370. 区间加法(Range Addition)
假设你有一个长度为 n 的数组,初始情况下所有的数字均为 0,你将会被给出 k 个更新的操作。其中,每个操作会被表示为一个三元组:[startIndex, endIndex, inc],你需要将子数组 A[startIndex ... endIndex](包括 startIndex 和 endIndex)增加 inc。请你返回 k 次操作后的数组。示例:输入: length = 5, updates = [[1,3,2],[2,4,3],[0,2,-2]]输出: [-2,0,3,5,3].
2021-11-07 13:26:13
621
原创 LeetCodeN598.范围求和 Ⅱ(Range Addition Ⅱ)
给定一个初始元素全部为0,大小为 m*n 的矩阵M以及在M上的一系列更新操作。操作用二维数组表示,其中的每个操作用一个含有两个正整数a 和 b 的数组表示,含义是将所有符合0 <= i < a 以及 0 <= j < b 的元素M[i][j]的值都增加 1。在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。示例 1:输入:m = 3, n = 3operations = [[2,2],[3,3]]输出: 4解释:初始状...
2021-11-07 13:25:41
155
原创 C# 求二维数组中最小的x和最小的y
方法一:int minx = mint miny = n;foreach (int[] array in array2D) { minx = Math.Min(minx , array [0]); miny = Math.Min(miny , array [1]);}方法二:Array.Sort(array2D,(a,b)=>a[0].CompareTo(b[0]));intminx=array2D[0][0];Array.Sort(array2D,(a,.
2021-11-07 11:34:38
399
原创 C# m行n列的二维(锯齿形)数组的定义
int m = 3; int n = 4; int[][] matrix= new int[m][]; for (int i = 0; i < matrix.Length; i++) { matrix[i] =new int[n]; }
2021-11-07 10:41:05
530
原创 LeetCode268.丢失的数字
给定一个包含 [0, n]中n个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例 2:输入:nums = [0,1]输出:2解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中。示例 3:...
2021-11-06 21:38:50
126
原创 LeetCode452.用最少数量的箭引爆气球
在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得所有气球全部被引爆,所需的...
2021-11-06 21:30:19
181
原创 贪心(贪婪)算法
LeetCode575. 分糖果LeetCode455. 分发饼干LeetCode435.无重叠区间LeetCode55.跳跃游戏LeetCode45.跳跃游戏Ⅱ
2021-11-06 20:48:01
153
原创 LeetCode435.无重叠区间
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [ [1,2], [1,2], [1,2] ]输出: 2解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。示例 3:输入.
2021-11-06 20:15:27
247
原创 C# 二维数组排序
//定义一个2维数组int[][] array = { new[] { 3, 1 }, new[] { 1, 3 }, new[] { 4, 2 } };//按数组的第2个数排序Array.Sort(array, (a, b) => a[1].CompareTo(b[1]));
2021-11-06 19:25:15
2526
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅