40、逻辑回归与儿童白血病持续缓解预测

逻辑回归与儿童白血病持续缓解预测

1. 逻辑回归中的估计方法

1.1 完全或准完全分离的检测

在逻辑回归中,标准误差变得更合理时,对于单个协变量 X,可通过对其值排序并与 Y 值比较,轻松检测完全或准完全分离。若有多个协变量,可使用 Santner 和 Duffy 提出的算法来确定最大似然估计是否存在。在实际数据集中,完全或准完全分离并不常见,因为其出现几乎只要求二分协变量。但在小样本或稀疏数据集的回归中估计多个参数时,分离出现的概率不可忽略。

对于二分协变量,可通过分析相应的列联表来检测分离。以神经生理学为例,我们想确定运动神经元影响下肌梭放电的预测因素。感兴趣的协变量包含在求和与恢复函数中,可通过逻辑回归模型同时研究这些协变量对系统放电的影响。在α运动神经元数据集的情况下,常用软件包大多失败,因为最大似然估计不存在。这是因为协变量 Xt - 13 取值为 1 的所有观测都出现在输出尖峰缺失(Y = 0)时,列联表中 Xt - 13 = 1 且 Y = 1 的单元格为空,单个频率为零的单元格表明存在准完全分离,这会导致最大似然估计出现问题,出现极端估计值和非常大的标准误差。

1.2 精确逻辑回归

精确逻辑回归由 Cox 于 1970 年提出,其参数估计基于消除似然函数中剩余的参数,并以其充分统计量为条件。似然函数可表示为:
[P(Y_1 = y_1, Y_2 = y_2, \ldots, Y_n = y_n) = \frac{\exp(\sum_{s = 0}^{p} \beta_s t_s)}{\prod_{i = 1}^{n} (1 + \exp(x_i \beta))}]
其中
[t_s = \sum_{i = 1}^{n} x_{is} y_i]
是随机变量 (T_s = \sum x_{is} Y_i) 的观测值。充分统计量 (t_0, t_1, \ldots, t_p) 是由 n 行 (x_i) 组成的矩阵各列的小计,求和元素对应成功发生的行。

假设我们对某个回归参数感兴趣,将其余参数视为干扰项。不失一般性,选择感兴趣的参数为 (\beta_p),则 (T_p) 在 (T_0 = t_0, T_1 = t_1, \ldots, T_{p - 1} = t_{p - 1}) 条件下的条件分布为:
[P(T_p = t_p | T_0 = t_0, T_1 = t_1, \ldots, T_{p - 1} = t_{p - 1}) = \frac{P(T_0 = t_0, T_1 = t_1, \ldots, T_p = t_p)}{P(T_0 = t_0, T_1 = t_1, \ldots, T_{p - 1} = t_{p - 1})}]
条件似然为:
[f(t_p | \beta_p) = \frac{c(t_0, t_1, \ldots, t_p) \exp(\beta_p t_p)}{\sum_{u} c(t_0, t_1, \ldots, t_{p - 1}, u) \exp(\beta_p u)}]
其中分母求和是对所有 (c(t_0, t_1, \ldots, t_{p - 1}, u) \geq 1) 的 u 值进行。(\beta_p) 的条件最大似然估计(CMLE)通过最大化上述条件似然得到。若 (t_p = t_{min}) 或 (t_p = t_{max})((t_{min}) 和 (t_{max}) 分别是 (t_p) 的最小和最大可能值),则 CMLE 未定义,此时可得到中位数无偏估计(MUE),MUE 始终有定义,且满足 (f(t_p | \beta_p) = 0.5)。

1.3 精确逻辑回归的优缺点

精确逻辑回归的优点在于,在小样本或稀疏数据集出现完全或准完全分离问题时,它能找到估计值。而最大似然法中,对数似然会随着系数取值增大而单调增加,导致方法不收敛。精确逻辑回归中充分统计量的分布存在,可得到 MUE 的精确置信区间和精确 p 值。当样本量增大或数据变得不那么稀疏时,渐近结果会收敛到精确结果。

然而,当其余协变量为连续变量时,精确逻辑回归存在缺点。此时充分统计量的条件分布可能退化为单个值,无法进行推断。但这种情况不常出现,可通过对一个或多个连续协变量进行离散化来避免。

1.4 数值方面

最大似然估计广泛应用,因为可通过最大化似然函数轻松数值获得模型系数的估计值,相关算法易于实现,且在所有统计软件包(如 Genstat、SAS)中都可用。但当出现上述问题时,估计值要么不收敛,要么达到极限,可通过未知参数的膨胀估计值和标准误差来识别这种情况。

精确逻辑回归需要枚举满足观测数据特定标准的二项响应向量(y 向量)的所有可能排列,这些 y 向量的集合称为“参考集”。逻辑回归模型中每增加一个解释变量,就会对参考集施加一个额外约束。生成和存储参考集的 y 向量会消耗大量内存和计算时间。最初 Cox 提出的精确逻辑回归理论多年来被认为计算不可行,直到 Tritchler 和 Hirji 等人提出快速算法方法。

精确逻辑回归在 LogXact 程序包中实现,该软件包专门用于精确方法,最多接受 30 个协变量进行精确推断,但处理这么多协变量的问题不太可能成功。解决问题的难度取决于数据的多个特征,如响应数量、组间不平衡以及连续变量值之间的间距。

1.5 神经生理学示例 - 伽马运动神经元

在伽马运动神经元的情况下,最大似然估计结果显示,求和函数的估计系数在 11 - 30 ms 区间为正且远离零,这意味着协变量 (X_{t - 11}, \ldots, X_{t - 30}) 可被视为风险因素,因为它们显著增加了输出尖峰的发生几率。求和函数的整体行为是兴奋性的,即伽马运动神经元的输入尖峰加速了系统的放电。恢复函数由二阶多项式描述,由于 (\hat{\gamma}_i)((i \geq 3))在统计上不显著,其形式表明系统没有自发活动,因为它不穿过估计的阈值水平,所以恢复函数不能被视为显著的风险因素。

1.6 神经生理学示例 - 阿尔法运动神经元

对伽马和阿尔法运动神经元数据集的初步比较表明,阿尔法运动神经元的输入和输出尖峰间隔不那么频繁,若存在则更大,这初步表明该数据集是稀疏的。处理此问题的第一步是使用 3 ms 的采样间隔对数据集进行重采样,而不是最初使用的 1 ms。重采样后,最大似然估计在阿尔法运动神经元数据集上完全失败,估计值达到极限,表明可能需要一个或多个参数为无穷大才能使似然最大化。

此时可采用精确逻辑回归,但逻辑模型涉及太多参数和大量观测值,给精确逻辑回归的实现带来严重计算问题。可通过省略逻辑回归模型中求和函数的一些协变量来减少参数数量,对三个几乎等长的非重叠子集应用精确逻辑回归可显著减小样本空间大小。

阿尔法运动神经元的渐近和精确结果显示,估计系数 (a_{13}, a_{19}, \ldots, a_{37}) 的最大似然估计值和标准误差比其他系数大得多,这突出了求和函数中的问题区域。这是因为相应列联表中存在零频率单元格,如 (X_{t - 13}) 与 Y 的列联表,所有响应 Y 的观测都聚集在协变量 (X_{t - 13}) 的极端 0 水平,导致最大似然方法发散。而精确逻辑回归得到的估计值似乎更合理,有问题的估计值的下置信界为 - 1,表明数据集包含样本空间极端点的观测值。

精确逻辑回归得到的阈值、恢复和求和函数的估计结果显示,求和函数的估计系数在前 10 ms 为正,协变量 (X_{t - 7}) 显著增加了系统放电的概率,但在 11 - 50 ms 区间,放电概率降低,这意味着潜在风险因素 (X_{t - 13}, \ldots, X_{t - 43}) 降低了输出尖峰的几率,求和函数在该区域的行为是抑制性的,即阿尔法运动神经元的输入尖峰在 11 - 50 ms 区间阻止了系统的响应。恢复函数由一阶多项式表示,估计系数 (\gamma_1) 的优势比为 1.1036,95% 置信区间为 (1.0647, 1.1439),阈值和恢复函数的图示显示恢复有增加趋势,且趋于穿过阈值水平,这表明系统可能有潜在的自发活动。

以下是阿尔法运动神经元的相关列联表:
| 协变量 | Y = 0 | Y = 1 |
| ---- | ---- | ---- |
| (X_{t - 7}) | 4738 | 295 |
| | 196 | 61 |
| (X_{t - 13}) | 4677 | 356 |
| | 257 | 0 |
| (X_{t - 43}) | 4679 | 354 |
| | 255 | 2 |

以下是阿尔法运动神经元 MLE 和 ELR 结果表:
| 逻辑回归系数 | 最大似然估计 | SE | CMLE 或 MUE | SE | 95% 精确 CI 下限 | 95% 精确 CI 上限 |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| (\gamma_0) | 3.4186 | 0.1307 | 3.4493 (CMLE) | 0.2297 | 2.9905 | 3.9435 |
| (\gamma_1) | 0.0967 | 0.0105 | 0.0986 (CMLE) | 0.0183 | 0.0629 | 0.1351 |
| (a_1) | 0.2168 | 0.2447 | 0.2134 (CMLE) | 0.4238 | - 0.7897 | 1.0618 |
| (a_7) | 1.7565 | 0.1722 | 1.7414 (CMLE) | 0.2994 | 1.0975 | 2.3617 |
| (a_{13}) | - 7.7503 | 6.6326 | - 2.2142 (MUE) | NA | - 1 | - 0.4818 |
| (a_{19}) | - 7.8191 | 6.7208 | - 2.2480 (MUE) | NA | - 1 | - 0.5272 |
| (a_{25}) | - 8.1085 | 6.6810 | - 2.5503 (MUE) | NA | - 1 | - 0.8199 |
| (a_{31}) | - 8.1542 | 6.7425 | - 2.5838 (MUE) | NA | - 1 | - 0.8594 |
| (a_{37}) | - 8.2998 | 6.6745 | - 2.7224 (MUE) | NA | - 1 | - 0.9879 |
| (a_{43}) | - 2.7278 | 0.7167 | - 2.4404 (MUE) | NA | - 1 | - 0.6608 |
| (a_{49}) | - 0.3193 | 0.2464 | - 0.3413 (CMLE) | 0.4330 | - 1.3670 | 0.5291 |

下面是处理阿尔法运动神经元数据集问题的流程图:

graph TD;
    A[获取阿尔法运动神经元数据集] --> B[初步分析,发现数据稀疏];
    B --> C[重采样数据集,使用3ms采样间隔];
    C --> D[尝试最大似然估计,失败];
    D --> E[决定使用精确逻辑回归];
    E --> F[减少参数数量,省略部分协变量];
    F --> G[对三个非重叠子集应用精确逻辑回归];
    G --> H[得到合理估计结果];

2. 儿童白血病持续缓解预测

2.1 儿童白血病概述

白血病是儿童最常见的恶性疾病,占 15 岁以下所有癌症病例的约 35%。约 80% 的儿童白血病是急性淋巴细胞白血病(ALL),源于淋巴系的未成熟细胞。超过 95% 的 ALL 儿童通过初始化疗获得缓解,约 70% 在治疗后治愈。另一种白血病,急性髓系白血病(AML),不如 ALL 常见,但更难治疗,源于髓系。

白血病细胞在骨髓中增殖,减缓正常血细胞的产生,因此急性白血病患者常有红细胞和血小板数量低的情况。ALL 的一些常见症状包括发热、疲劳、感染、面色苍白、出血、瘀伤、瘀点或骨与关节疼痛。白血病发作时的症状常与普通病毒感染相似。异常细胞可聚集在中枢神经系统(CNS)和睾丸,这些部位是白血病细胞的“避难所”,使抗肿瘤药物治疗变得困难。

2.2 儿童白血病的风险因素与预后因素

2.2.1 风险因素

已知 ALL 的风险因素包括性别(男性)、年龄(2 - 5 岁)、种族(白人)、电离辐射(宫内)、产后治疗性电离辐射以及一些遗传综合征(如唐氏综合征、布卢姆综合征)。其他因素如高出生体重(超过 4000 克)、母亲年龄(超过 35 岁)、头胎或独生子女、母亲孕前和孕期吸烟、产后使用氯霉素、暴露于电磁场等。父母职业暴露于有害物质也被怀疑是 ALL 的风险因素。

2.2.2 预后因素

ALL 诊断时的白细胞计数(WBCs)是该疾病重要且独立的预后因素。其他根据白血病类型指示预后好坏的特征包括年龄、淋巴结肿大区域、细胞免疫表型、性别、细胞遗传学异常、某些细胞表面抗原的存在(如 CD10 或 CD34)、对类固醇治疗的反应、纵隔或 CNS 中白血病浸润的存在、淋巴结肿大、非髓系定位和血红蛋白浓度等。一些特征被用于构建预后评分,影响治疗方案的选择,如 NOPHO 组评分或 BFM 风险评分。

2.3 统计方法在儿童白血病预后评估中的应用

2.3.1 常用统计方法

对上述特征预后重要性的评估更多基于一维统计分析(即逐个变量分析),而不是多元统计方法,尽管作者常强调多元分析的重要性。最常用于分析预后因素的统计程序是 Cox 比例风险回归。

2.3.2 多元方法的应用

多元方法更多用于识别儿童 AML 的预测特征。例如,血管内皮生长因子分泌和年龄、年龄大于等于 8 岁、WBC 计数大于等于 10×10⁹ 细胞/升、诊断时血小板计数高、无肝肿大以及骨髓原始细胞小于 30% 等。

2.4 不同类型白血病的预后预测因素总结

白血病类型 重要预后因素
ALL 白细胞计数、年龄、淋巴结情况、免疫表型、性别、细胞遗传学异常、细胞表面抗原、类固醇治疗反应、浸润情况、血红蛋白浓度等
AML 血管内皮生长因子分泌、年龄、白细胞计数、血小板计数、肝肿大情况、骨髓原始细胞比例等

2.5 预测儿童白血病持续缓解的流程

graph TD;
    A[收集儿童白血病患者数据] --> B[确定可能的预后因素];
    B --> C[选择合适的统计方法(如逻辑回归、判别分析、分类树)];
    C --> D[构建预测模型];
    D --> E[模型评估与验证];
    E --> F[若模型效果不佳,调整模型或更换方法];
    F --> D;
    E --> G[若模型效果好,用于预测儿童白血病持续缓解];

2.6 总结与展望

逻辑回归在处理小样本或稀疏数据集时,精确逻辑回归能有效解决最大似然估计不收敛的问题,为风险因素评估提供更可靠的结果。在儿童白血病持续缓解预测中,综合考虑多种预后因素,运用合适的统计方法构建预测模型,有助于提高预测的准确性,为临床治疗方案的选择提供依据。未来,随着数据量的增加和统计方法的不断发展,有望进一步优化预测模型,更好地服务于儿童白血病的治疗和管理。

以下是一个简单的步骤列表,概括了从数据处理到预测儿童白血病持续缓解的过程:
1. 收集儿童白血病患者的相关数据,包括各种预后因素信息。
2. 对数据进行初步分析,判断是否存在数据稀疏等问题。
3. 若使用逻辑回归,根据数据情况选择最大似然估计或精确逻辑回归。
4. 确定可能影响持续缓解的预后因素,构建预测模型。
5. 对模型进行评估和验证,根据评估结果调整模型。
6. 使用验证后的模型预测儿童白血病的持续缓解情况。

相关推荐

研发流程后端开发工具,提示功能开发效率

后端开发工具

好的,技术转移行业资深专家为您撰写如下。.docx

好的,技术转移行业资深专家为您撰写如下。

机器人具有扰动抑制功能的有限时间基于方位角的领航者-跟随者编队控制(Matlab代码实现)

内容概要:本文档标题为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际内容并未涉及该主题的具体技术细节或仿真建模过程。相反,文档实质是一份由科研服务团队发布的跨学科资源目录,集中展示了大量基于Matlab、Simulink、Python、PSCAD等平台实现的科研项目与算法开发案例,涵盖电力系统、无人机路径规划、微电网优化、状态估计、信号处理、车间调度、图像处理、通信技术、雷达追踪、智能优化算法等多个工程技术领域。每个条目以“【】”标注研究主题,并注明“Matlab代码实现”“Python代码实现”等形式,表明其为可提供技术支持与代码资源的服务项目。文档末尾频繁出现“完整资源下载:公众号——荔枝科研社”及百度网盘链接,明确体现出其作为科研辅助服务推广与引流工具的功能属性。; 适合人群:面向电气工程、自动化、控制科学与工程、计算机科学、智能制造、新能源、航空航天、通信工程及相关交叉学科的研究生、高校教师、科研人员及企业研发工程师。; 使用场景及目标:①为科研人员提供课题选题、技术路线设计与算法实现的参考范例;②辅助学生或研究人员完成课程设计、毕业论文、项目仿真与算法复现任务;③作为第三方技术服务团队的能力展示目录,便于潜在客户快速了解其在多领域提供的定制化仿真与算法开发服务范围。; 阅读建议:此文档并非传统意义上的学术论文或技术教程,而是一份高度碎片化、广告性质浓厚的资源索引清单。读者应忽略其误导性的文件名,将其视为一个综合性科研技术服务目录,重点关注自身研究方向相关的条目,并通过文末提供的公众号或网盘链接进一步获取具体代码与资料。同时,需注意甄别资源的技术质量、原创性与适用性,避免盲目依赖外部服务。

科技中介服务机构如何打造高效、可复制的技术交易服务流程?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员如何提升科研成果的市场推广与转化成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

基于LSTM神经网络的风电功率预测研究(Matlab代码实现)

内容概要:本文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但其实际内容并未包含与Plecs或全桥LLC谐振变换器相关的具体仿真模型,而是汇集了大量来自优快云博客平台的技术文章标题和片段,内容涉及基于MATLAB的电力系统动态分析、风储VSG系统仿真、多无人机路径规划、最优潮流计算、卡尔曼滤波状态估计、车间调度算法、无线电力传输、抽水蓄能电站调度等多个领域。这些内容主要围绕Matlab/Simulink或Python代码实现展开,覆盖电力电子、电力系统、自动化控制、优化算法、信号处理、深度学习等方向,具有较强的科研仿真属性。然而,文档整体缺乏统一主题与逻辑结构,信息呈现高度碎片化,更像是多个独立技术资源的罗列而非系统性论述。; 适合人群:适用于从事电力系统、电力电子、自动化控制、智能制造、人工智能、信号处理及相关交叉学科的研究生、高校科研人员及企业研发工程师。; 使用场景及目标:①作为科研选题与技术调研的灵感来源,快速掌握当前热门研究方向与方法论;②获取多种仿真模型的设计思路与实现框架,辅助完成课程设计、学位论文或科研项目的建模仿真任务;③结合文中提及的算法(如PSO、NSGA-II、EKF、CNN、LSTM等)与工具(如Matlab/Simulink、PSCAD等),开展系统性学习与二次开发。; 阅读建议:此文档内容杂乱无章,不具备连贯阅读价值,建议仅将其作为索引线索,从中提取感兴趣的主题后,进一步查找原始完整文献或配套代码资源进行深入研究,避免陷入无效信息泛滥的困境。

产业园区运营负责人如何精准匹配企业与高校科研资源?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

LLC谐振变换器开环+闭环软启动仿真设计(Simulink仿真实现)

内容概要:本文系统介绍了LLC谐振变换器的开环与闭环软启动仿真设计方法,基于Simulink平台实现,涵盖半桥、全桥等多种拓扑结构的建模与仿真。重点阐述了软启动过程中的控制策略,包括变频控制、移相混合控制、恒压恒流双闭环控制等核心技术,深入分析了从开环启动平稳过渡到闭环控制的切换机制。文中提供了完整的仿真模型、设计报告、参数计算书及参考文献等配套资料,有助于读者全面掌握LLC谐振变换器的工作原理、动态响应特性及其在高频高效DC-DC变换场景中的应用,适用于电力电子系统的设计与优化研究。; 适合人群:具备电力电子与电力系统基础知识,从事电源设计、新能源变换器研发、电力电子器件应用或相关领域研究的研究生、工程师及科研人员。; 使用场景及目标:①掌握LLC谐振变换器软启动过程的控制机制与Simulink建模方法;②学习开环启动至闭环控制的平滑切换策略与实现方式;③开展高频高效DC-DC变换器的性能优化与动态响应分析;④支撑毕业设计、科研项目开发或高水平学术论文的复现与创新研究。; 阅读建议:建议结合所提供的Simulink仿真模型与参数计算文档同步操作,逐步调试关键参数,重点关注软启动过程中电压电流冲击的抑制效果,对比不同控制策略下的系统动态性能差异,深入理解谐振变换器的控制逻辑与稳定性设计要点。

双向全桥CLLC谐振变换器仿真模型(Simulink仿真实现)

内容概要:本文档详细介绍了一套基于Simulink的双向全桥CLLC谐振变换器仿真模型,涵盖变频控制、开环与闭环软启动、系统建模、参数设计及实际应用场景(如V2G电动汽车充放电系统)。文档系统梳理了包括LLC、DAB、PFC、Buck-Boost等在内的多种电力电子拓扑结构的建模与控制策略,并提供了完整的仿真模型、Mathcad计算书、设计报告及参考文献,构建了一个面向科研与工程实践的综合性技术资源库。重点聚焦于谐振变换器的闭环控制策略、软开关实现机制、谐振参数优化设计以及系统动态性能分析,尤其突出了在变频控制和混合调制策略下的系统稳定性与效率优化,具有较高的科研参考价值与工程实用意义。; 适合人群:具备电力电子、自动控制或电气工程等相关专业背景,正在从事新能源变换技术、电动汽车充电系统、储能能量管理或电力系统仿真的研究生、科研人员及一线工程技术人员。; 使用场景及目标:①开展双向CLLC谐振变换器的变频控制与软启动策略研究;②构建V2G系统中AC/DC与DC/DC级联变换器的联合仿真平台;③完成谐振参数设计、闭环控制器调试与系统效率优化;④作为学位论文、科研项目或产品预研阶段的技术支撑与仿真验证工具。; 阅读建议:建议结合文中提供的Mathcad计算书、Simulink仿真模型与参考文献进行系统性学习,重点关注控制环路设计、谐振腔参数匹配与仿真调试技巧,推荐按照资源目录顺序循序渐进地学习,充分利用配套资料提升建模效率与科研深度。

通俗解析:霍尔编码器、光电编码器、电位计、磁编码器和旋转变压器的实战选型指南

本文深入解析了霍尔编码器、光电编码器、电位计、磁编码器和旋转变压器五大主流编码器的工作原理与核心特性。通过对比精度、环境耐受性、成本及寿命等关键维度,并结合消费电子、工业自动化、汽车电子及极端环境等典型应用场景,提供了一份清晰的实战选型指南,旨在帮助工程师根据具体需求,在性能、可靠性与成本间做出最优决策。

weixin_29216353的博客 254

DC算法竞赛——北京PM2.5浓度回归分析

北京PM2.5浓度回归分析 比赛结果(118/1150) 一. 概述 1、项目来源:https://www.dcjingsai.com/static_page/cmpList.html 2、给定数据字段如下: 3、使用方法:回归算法 4、目的:预测北京pm2.5值,使平均预测误差越小越好。 二、分析过程 setwd("E:/R数据源") #读入数据 data <- read.csv('p...

玻璃球的博客 3475

【MIMIC数据库教程】一、MIMIC-IV3.1表格与字段详解(一):Hosp和ICU模块表格整体介绍

MIMIC-IV 3.1 版本包含住院 (hosp) 和 重症监护 (ICU)提供全院电子病历数据,包括入院信息、实验室测量、微生物学、用药、账单等,共计22 张表。记录重症监护室数据,如静脉注射、呼吸机设置、生命体征等,共计9 张表。

BD_Design_cs的博客 3423

C51红外接收与发射控制及原理编码与解码

基于38khz的NEC协议红外发射简易电路图NEC协议产生红外光数据编码 0 1结合程序红外接收接收电路解码过程解码代码 红外发射 通过通过红外二极管发射红外光,三极管的状态来控制。 红外模块一般都是三个引脚,vcc,gnd,dat,通过控制dat口的来控制发射红外光。 简易电路图 将数据口连接到单片机的引脚为上,控制io口的电平状态,来控制三极管的导通状态,从而发射红外光。 NEC协议 NEC协议特点:8位地址和8位命令为提高可靠性,地址和命令都传输2次,脉冲间隔调制38kHz载波频率。 包含引导码,

yangfeng20的博客 1万+

Verilog实战:手把手教你实现IEEE 754单精度浮点乘法器(附完整代码)

本文详细介绍了如何使用Verilog实现IEEE 754单精度浮点乘法器,包括标准解析、架构设计、Verilog代码实现及优化技巧。通过两级流水线设计,平衡性能与面积,适用于数字信号处理、AI加速器等高性能计算场景。

weixin_33724046的博客 314

zemax像差参数Ray Fan/Spot Diagram/MTF/....讲解三

zemax像差参数Ray Fan/Spot Diagram/MTF/....讲解三

weixin_72050316的博客 1386

22、狭义相对论与曲线坐标空间相关知识解析

本文深入解析了狭义相对论与曲线坐标空间的核心概念,涵盖能量-动量张量的定义与守恒、曲线坐标系下的度量张量与基向量性质、协变与逆变张量的变换规则,并介绍了克里斯托费尔符号与协变导数的计算方法。进一步探讨了在弯曲空间中进行微积分运算的基础理论及其在广义相对论中的关键应用,如爱因斯坦场方程如何描述物质-能量对时空曲率的影响,为理解黑洞等引力现象提供了理论框架。

lambda的博客 116

8、鼠疫流行过程的计算机建模介绍

本博文介绍了一种基于概率细胞自动机和蒙特卡罗方法的计算机模型,用于模拟由大沙鼠传播的鼠疫流行过程。结合GIS和遥感技术,该模型能够分析鼠疫在不同聚居地类型和季节变化下的传播特征,揭示了群落密度、分布及流行接触率对鼠疫传播的影响。研究还验证了模型与自然流行过程的一致性,并探讨了鼠疫在宿主数量低谷时的持续机制。模型为鼠疫防控和流行病研究提供了定量分析工具。

x2y3z4a5b的博客 107

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: 5、Python地理空间开发库的全面指南
下一篇: 30、利用智能手机识别驾驶行为
网恋被骗八块八
博客等级 码龄3年 131粉丝 1594原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值