AI入门学习-特征工程

机器学习和人工智能之间的区别 人工智能(AI)和机器学习(ML)是更广泛的计算机科学领域中两个密切相关但又不同的领域。人工智能是一门专注于创建智能机器的学科,这些机器可以执行通常需要人类智能的任务,例如视觉感知、语音识别、决策和自然语言处理。它涉及开发可以根据输入数据进行推理、学习和决策的算法和系统。另一方面,机器学习 (ML) 是人工智能的一个子领域,涉及教导机器从数据中学习,而无需明确编程。机器学习算法可以识别数据的模式和趋势,并使用它们来做出预测和决策。 阅读详情

一、特征工程的本质:从测试数据中提炼「黄金信息」

公式:
高质量特征 = 原始测试数据 × 领域知识 × 数据处理技术
目标:构建能显著提升模型性能的特征,而非盲目增加数据量!


二、测试工程师专属特征工程框架

阶段1:特征抽取——挖掘测试数据中的隐藏价值
数据来源特征提取方法测试场景案例Python示例
缺陷报告- TF-IDF关键词权重
- 情感分析得分
- 实体识别(模块/版本)
预测缺陷修复优先级python<br>from sklearn.feature_extraction.text import TfidfVectorizer<br>tfidf = TfidfVectorizer()<br>X_text = tfidf.fit_transform(bug_descriptions)
测试日志- 错误类型频率
- 时序模式(如错误间隔)
- 调用链深度
异常测试失败根因分析python<br># 统计ERROR级别日志在每小时的次数<br>df['error_per_hour'] = df.resample('H', on='timestamp')['log_level'].apply(lambda x: (x=='ERROR').sum())
UI自动化截图- OpenCV边缘检测特征
- 关键元素位置坐标
- 颜色直方图
视觉回归测试中的元素状态识别python<br>import cv2<br>edges = cv2.Canny(image, 100, 200) # 边缘特征<br>hist = cv2.calcHist([image], [0], None, [256], [0,256]) # 颜色分布
性能指标- 响应时间百分位数
- CPU/Memory斜率变化
- 异常峰值计数
预测系统过载风险python<br>df['response_99th'] = df.groupby('api_endpoint')['response_time'].transform(lambda x: x.quantile(0.99))

💡 优势提示:你比数据科学家更懂哪些测试指标真正影响质量(如「首次失败环境」比「执行次数」更能预测缺陷)


阶段2:特征构造——创造领域驱动的复合特征

将测试经验编码为特征:

python

# 案例:构造「测试用例风险指数」特征
def calculate_risk(row):
    # 规则1:关联模块近期改动频繁 → 风险+20%
    if row['linked_module_commit_count'] > 10:
        risk += 0.2 
    # 规则2:历史失败率高于30% → 风险+50%
    if row['historical_failure_rate'] > 0.3:
        risk += 0.5
    # 规则3:涉及支付核心流程 → 风险+30%
    if row['is_payment_flow']:
        risk += 0.3
    return risk

df['testcase_risk_index'] = df.apply(calculate_risk, axis=1)

常用构造策略:

  • 时间窗口统计:过去7天同一模块的缺陷数

  • 比值特征:测试覆盖率 / 代码复杂度

  • 状态组合:(数据库连接异常) AND (响应时间>2s) → 标记为高风险组合


阶段3:特征选择——剔除噪声,保留核心信号

测试场景下的特征选择技术:

方法适用场景Scikit-learn示例
方差阈值法删除值几乎不变的特征(如所有测试都通过的标志位)python<br>from sklearn.feature_selection import VarianceThreshold<br>sel = VarianceThreshold(threshold=0.8)
相关性分析去除与目标标签无关的特征python<br>df.corr()['test_failure'].sort_values(ascending=False)
树模型特征重要性识别对预测失败最有价值的特征python<br>from sklearn.ensemble import RandomForestClassifier<br>rf.fit(X,y)<br>rf.feature_importances_
递归特征消除(RFE)自动化选择最优特征子集python<br>from sklearn.feature_selection import RFE<br>rfe = RFE(estimator=LogisticRegression(), n_features_to_select=5)

⚠️ 避坑指南:警惕特征泄漏!如使用「缺陷是否已修复」预测「缺陷严重性」——修复状态是未来的信息!


三、测试领域特征工程黄金法则

  1. 从业务目标逆向推导特征

    • 目标:预测测试用例失败概率 → 关键特征:关联模块的代码变更行数 + 历史失败率 + 环境配置差异

  2. 优先构造可解释性强的特征

    • 避免使用黑箱嵌入向量(如BERT文本向量),改用显性规则特征(如:“日志中含OutOfMemory次数”)

  3. 建立特征版本控制

    markdown

    | 特征名称          | 版本 | 创建日期   | 负责人 | 计算公式                  |
    |-------------------|------|------------|--------|---------------------------|
    | testcase_risk_idx | v1.2 | 2023-08-01 | 张三   | 0.3*历史失败率 + 0.7*代码变更密度 |

    当模型性能下降时,可快速回溯特征变更


四、特征工程在AI测试中的典型应用

案例1:智能测试用例优先级排序

特征方案:

python

features = [
    'code_complexity',         # 代码圈复杂度
    'requirement_volatility',   # 需求变更次数
    'dependency_count',         # 依赖服务数
    'last_failure_time_diff',   # 距上次失败时间
    'critical_business_weight' # 业务权重(来自产品)
]
# 标签:test_case_failure (0/1)

→ 训练分类模型输出高风险测试用例

案例2:视觉测试中的元素状态识别

特征方案:

python

# 从UI截图中提取
features = [
    'button_color_histogram',   # 按钮颜色分布
    'text_contrast_ratio',      # 文字与背景对比度
    'edge_density',             # 边缘密度(检测元素模糊)
    'position_deviation'        # 与基准位置的像素偏移
]
# 标签:element_state (正常/异常)

五、特征工程工具箱

工具测试场景适用性关键能力
Pandas⭐⭐⭐⭐⭐数据清洗、时间窗口统计、特征组合
Scikit-learn⭐⭐⭐⭐⭐特征编码(OneHotEncoder)、特征选择(VarianceThreshold)
Featuretools⭐⭐⭐⭐自动化特征生成(尤其适合时序测试数据)
OpenCV⭐⭐⭐⭐图像特征提取(边缘/纹理/轮廓)
TSFresh⭐⭐⭐自动提取时间序列特征(性能测试数据)

python

# 使用Featuretools自动生成测试执行时序特征
import featuretools as ft
es = ft.EntitySet(id="test_executions")
es = es.entity_from_dataframe(entity_id="logs", 
                              dataframe=test_logs,
                              index="log_id",
                              time_index="timestamp")
features, defs = ft.dfs(entityset=es, 
                        target_entity="logs",
                        agg_primitives=["mean", "max", "trend"])

六、持续优化:像管理测试用例一样管理特征

  1. 监控特征有效性

    • 定期检查特征重要性排名:rf.feature_importances_

    • 淘汰重要性持续下降的特征(如旧环境配置)

  2. 建立特征回测机制

    • 用历史数据验证新特征是否提升模型AUC

  3. 与开发团队共建特征池

    • 推动在CI/CD流水线中埋点采集:代码覆盖率、构建时长等

🔑 终极心法:特征工程是测试领域知识的量化过程。你比任何算法都更懂什么是“软件质量风险”——把这份认知注入特征,就能打造出精准的AI测试模型!

【AI深究】特征工程(Feature Engineering)深度解析:原理、算法与工程实践|核心原理、主流方法、数学表达、未来趋势|归一化与标准化、降维、文本、时间、类别型、AutoFE|未来前沿 大家好,我是爱酱。本篇延续将会系统梳理特征工程(Feature Engineering)的定义、核心流程、主流方法、数学表达、工程实践与未来趋势,结合数学公式,帮助你全面理解这一机器学习与AI落地的“灵魂工程”。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力! 阅读详情

相关推荐

机器学习&人工智能基础入门篇·笔记(一)特征工程及数据的处理

写在前面 视频来源于 黑马程序员 六节课入门机器学习。 学习完爬虫,下一步准备学习机器学习的相关知识,之前自己也学习过一点,但感觉层次还达不到入门,沉下心来重新开始,给自己加油,希望能跟大家一起进步!!! 第一课 特征工程及数据的处理 数据集 Kaggle:数据量大,准确,数据真实 UCI:收录数据集比较专业,覆盖领域广泛 scikit-learn:自带数据集,数据量比较...

朕与众爱卿皆瞠目结舌的博客 984

人工智能中的特征是什么?

在人工智能中,特征(feature)是指从原始数据中提取出的、能够代表数据关键信息并用于模型训练的属性或变量。特征通常是对原始数据的抽象或转换,目的是捕捉数据中的模式、结构或相关性,从而帮助机器学习模型更有效地学习和预测。简单来说,特征是原始数据经过提炼后的结果,能够突出对任务有用的信息,同时去除冗余或无关的部分。特征是从原始数据中提取的、能够代表数据关键信息的抽象表示。与原始数据相比,特征更简洁、更有针对性,能够提高模型的训练效率和预测准确性。

金石软件 2271

Python驱动的AI学习路径:从入门到实战

本文系统性地介绍了如何利用Python作为核心工具,开启人工智能学习之旅。从Python语言的优势、开发环境配置、数据分析基础库(如Pandas、NumPy)的使用,到机器学习入门(Scikit-learn)和深度学习框架(PyTorch/TensorFlow)的初探,最后通过Gradio部署AI应用,提供了一条从零基础到实战的清晰、高效的AI学习路径。

weixin_29063035的博客 313

转载:「特征工程」与训练测试集合划分(原标题“警惕「特征工程」中的陷阱”)

博主按: 这是我转的第一篇文章,实在是因为欲罢不能,不转不行。说到心坎上去了。测试集训练集划分和训练中关系问题,在工作中常常遇到。自己于是思考了一下,在知乎上看了一个相关问答,不谋而合。直到看到本文,描述清楚有完整。不失为好的总结。 警惕「特征工程」中的陷阱 知乎用户:微调 原文地址:https://zhuanlan.zhihu.com/p/33651227 特征工程(Feature E...

joshuajinxiaoshuai的博客 3134

AI特征工程原理与代码实战案例讲解

1. 背景介绍 1.1 人工智能与机器学习 人工智能 (AI) 是一门研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。机器学习 (ML) 是人工智能的核心,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。在机器学习中,我们利用数据来训练模型,并使

AI架构师小马 1203

提取abaqus中节点集合的应力应变

节点是没有应力应变的,只有积分点才有,所以直接在odb文件里面用FieldOutput是整不出来的(结果是个空列表),只能用session这种让abaqus自己帮你处理。具体的代码需要根据自己操作的时候abaqus.rpy这个文件中代码的变化来更改。

蓝胖子的博客 4556

AI基础:特征工程-类别特征

0.导语特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。此之前,我已经写了以下几篇AI基础的快速入门,本篇文章讲解特征工程基...

python爬虫人工智能大数据 760

AMESim柱塞泵建模全指南:从HCD库搭建到联合仿真

液压系统仿真中,轴向柱塞泵的建模始终是难点与热点。柱塞泵结构紧凑、功率密度高,在工程机械与航空航天领域应用广泛,然而其运动学与流体细节深度耦合,给仿真带来不小挑战。AMESim平台中的HCD库提供了一种从物理结构出发的建模思路,将柱塞泵分解为容积腔、节流口与机械约束等基础单元,从而真实刻画柱塞腔压力波动、配流特性和容积效率等关键行为,摆脱黑盒模型的局限。基于机理建模的仿真结果,可用于泵参数优化、故障特征分析以及控制策略验证。进一步结合AMESim与Simulink联合仿真,可以高效开发变量泵排量控制系统,研

weixin_29159441的博客 290

Datawhale AI夏令营机器学习Task2入门lightgbm,开始特征工程

在目前阶段,我们使用lightgbm完成了基本的模型训练,并且添加了时序问题中常见的特征提取方式,通过特征工程挖掘特征可以很快的提升模型预测效果,这也是数据挖掘比赛中的主要优化方向,很多情况下会决定最终的成绩。总之,就是在现有方案的基础上不断的改造与尝试,通过不断的实践来提升自己的数据挖掘能力,正所谓【纸上得来终觉浅,绝知此事要躬行,也许你熟练掌握机器学习的相关算法,能熟练推导各种公式,但如何将学习到的方法应用到实践工程中,需要我们不断的尝试与改进,

2301_79414097的博客 1759

一文学会Cadence Sigrity PDN仿真——硬件新手小白都能看懂的保姆级教程

电源完整性的仿真,实际上是在仿真以及优化系统中的等效串联电阻。知道了仿真以及优化的目标之后,接下来就是要弄明白这个串联电阻从哪儿来以及怎么优化。整个系统中的串联电阻实际上由三部分组成:没有相位的阻抗,有相位的容抗和感抗,得益于相位,在某个特定的频点,容抗和感抗会大小相等,相位相反而相互抵消,这时候整个系统中就剩下了阻抗,所以整个系统的串联电阻达到了一个最低值,这种现象就是----谐振。当系统处于谐振点时候,整个系统会有一个最小的串联电阻,所以第一个优化电阻的手段就是让谐振来的更频繁一点。

学习帮的博客 2万+

常用本体建模工具

常用本体建模工具: Apollo、OntoStudio、TopBraid Composer、Semantic Turkey、Knoodl、Chimaera、OliEd、WebODE、Kmgen和DOME Protégé Protégé[1]是一款由斯坦福大学编写并维护的开源本体建模和编辑工具,其支持Web版本和PC版本,使用OWL语言(关于OWL的详细介绍可参看前文2.1节内容)对知识进行表示,读者可以通过Protégé的官方网站访问Web版本或下载桌面版本。Protégé最早开发于1987年,最初目的是

qq_40503347的博客 6172

人工智能入门,都要掌握哪些知识点

AI入门时,应该从基础的数学、编程、机器学习等知识点入手,逐步深入到深度学习、特定领域的应用(如CV、NLP)和实际项目实践。通过不断学习和实践,可以逐步掌握并深入AI领域。

AngelCryToo的专栏 3800

电源工程师必看:平均电流模式BUCK双环控制详解(从传递函数到Psim仿真)

本文详细解析了平均电流模式BUCK变换器的双环控制策略,从传递函数推导到Psim仿真实现。针对电源工程师关注的环路设计和稳定性问题,深入比较了电压模式、峰值电流模式和平均电流模式的优缺点,并提供了12V/3A BUCK变换器的完整设计案例,帮助工程师掌握平均电流控制这一中高功率应用的首选方案。

weixin_42696271的博客 398

人工智能基础知识点 TOP10:搭建你的 AI 入门知识树

摘要:本文提出构建"AI入门知识树"的学习方法,将碎片化知识系统化。核心内容包括10个基础概念(AI-ML-DL定义、数据集划分、学习范式等)及其学习路径、工具和案例。每个知识点都配有实践项目,如MNIST手写识别、泰坦尼克数据集分析等。文章还提供了分阶段成长路线(1周入门到12月进阶)和工具链推荐(Python/PyTorch/Colab)。通过建立知识框架,帮助学习者高效掌握AI核心概念,并将新知识有序整合,避免信息过载。

2501_91624122的博客 1003

MPC-CBF 控制原理详解

假设系统满足如下离散时间动力学模型xt1fxtutxt∈Xut∈Uxt1​fxt​ut​xt​∈Xut​∈Uxtx_txt​:状态变量,定义域为可行状态集X⊆RnX⊆Rnutu_tut​:控制输入,定义域为控制约束集U⊆RmU⊆Rm系统需满足安全约束,由如下控制障碍函数(CBF)hX→RhX→RCx∈X∣hx≥0C:=x∈X∣hx≥。

m0_54691290的博客 1184

Spring Boot 调用豆包大模型如何开启联网搜索?

场景推荐方案有权限创建 Bot + 需强集成✅ 使用bot-xxxx无 Bot 权限 / 追求通用性✅ 自行集成搜索引擎 + 普通豆包模型仅需基础对话❌ 无需考虑联网豆包大模型确实支持联网搜索,但前提是:你用的是“智能体 Bot”,且它被配置了“网页搜索”插件,并调用正确的 API 端点。希望本文能帮你少走弯路,快速构建出真正“知天下事”的智能助手!

lpfasd123的博客 1125

人工智能入门必看:这 10 个基础概念,搞懂才算真正入门

本文系统介绍了人工智能领域的10个核心概念,包括AI定义、机器学习、深度学习、监督/无监督学习、数据集划分、过拟合与欠拟合、特征工程、损失函数、梯度下降与反向传播、评估指标等。通过生活案例和类比说明,帮助初学者建立完整知识框架。文章强调打好基础的重要性,并提供了学习路线和资源建议,包括数学基础、编程实践和经典课程推荐。掌握这些概念将为后续学习各类算法和框架奠定坚实基础。

2501_91624122的博客 1079

FPGA实践教程: 使用HLS将C程序生成IP核心进行FPGA开发

请根据您使用的FPGA开发板和供应商选择适当的HLS工具,并按照他们的安装指南进行安装。根据您使用的FPGA开发板和供应商选择适当的HLS工具,并按照他们的安装指南进行安装。通过本教程,您了解了如何使用HLS工具将C程序生成IP核心,并将其用于FPGA开发。在HLS项目中,您可以对C程序进行设计和优化,以生成对应的IP核心。在HLS项目中,您可以对C程序进行设计和优化,以生成相应的IP核心。将导出的IP核心导入到FPGA项目中。使用FPGA开发环境的菜单中的"导入"或"添加文件"选项导入IP核心。

CqpFsharp的博客 455

AI 入门必看:10 个核心基础知识点,从 0 到 1 打通机器学习脉络

本文系统梳理了AI入门的10个核心知识点:1)AI、机器学习和深度学习的关系;2)监督学习的基本原理与应用;3)无监督学习的任务类型;4)特征工程的关键环节;5)模型训练与损失函数的作用;6)优化器的运作机制;7)过拟合与欠拟合的识别与应对;8)数据集的科学划分方法;9)不同任务的评估指标选择;10)必备的AI工具与框架。文章强调构建完整知识框架的重要性,建议从Python基础开始,循序渐进掌握机器学习算法和深度学习模型,通过实践项目巩固技能,为AI学习奠定坚实基础。

2501_91624122的博客 1062

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

跟风学大模型三个月,我删掉 6 个收藏夹回头补 AI 入门

跟风学 DeepSeek 大模型三个月,收藏夹爆满却连注意力机制都解释不清。作者删掉 6 个速成文件夹,回头从「AI入门」课程学起,只用 40 小时就建立了从线性回归到 Transformer 的系统认知,最终能自信地分析大模型参数、监控数据漂移。本文给出了一份从焦虑式追热点到踏实补基础的可执行学习清单。

weixin_47315004的博客 10

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

从人工智能入门到理解ChatGPT的原理与架构的第一天(First)(含机器学习特征工程详解)

数据不平衡在实际应用中,数据往往分布得非常不均匀,也就是会出现“长尾现象”,即绝大多数的数据在一个范围或属于一个类别,而在另外一个范围或者另外一个类别 中,只有很少的一部分数据。此外,SHAP( SHapley Additive exPlanations )是一种最新的方法,它统一了许多早期的方法,旨在解决集成树模型中的偏倚问题,并使用博弈论方法来理解和解释每个特性是如何驱动最终预测的。然而,这种方法在处理复杂和多样的自然语言时面临困难,因为语言的规则和结构往往是非常复杂和模糊的。

lmy050813的博客 3115

深度学习工具包 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")

Datawhale AI 夏令营 从零入门机器学习竞赛 task2:入门lightgbm,开始特征工程

LightGBM(Light Gradient Boosting Machine)是一个实现GBDT算法的框架,支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以快速处理海量数据等优点。使用用户过往的行为(点击、曝光未点击、购买等)作为训练数据,来预测用户点击或购买的概率。一般的使用机器学习模型解决问题的主要步骤为探索性数据分析、数据预处理、提取特征、切分训练集与验证集、训练模型、预测结果。GBDT不仅在工业界应用广泛,通常被用于多分类、点击率预测、搜索排序等任务;

m0_51658788的博客 665

Datawhale AI夏令营 第二期 机器学习 Task2 入门lightgbm,开始特征工程

首先介绍一下什么是LightGBMLightGBM(Light Gradient Boosting Machine)是一个实现GBDT算法的框架,能够支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以快速处理海量数据等优点。

cch3311543544的博客 1717

日知录(八):python 人工智能基础和数据分析基础

人工智能作为当前最火的一个热词,我也想紧抓一把潮流,不过人工智能设计知识面极广,很多知识点参差不齐,其实更多自学者面临的是不知道怎么入门,不知道开始学什么,嘴上说着人工智能,机器学习,深度学习,可又不太清楚自己到底搜索哪个词,从哪个技术贴开始看。 我也是一直在门外观望,期待能找到一个可以好好入门的方式。 在这里先记录下一些基础知识 一、人工智能 1、概念 这一概念自上世纪中期被提出之后历经不断发展到今天。机器学习是人工智能实现的一个途径,深度学习是机器学习的一个方法(神经网络)发展而来的。 2、人工智能的主

王duan的博客 1131

AI入门核心术语拆解|10个高频术语,大白话一看就懂

摘要:本文为AI新手整理了10个高频术语,通过通俗比喻和实际应用场景进行解析。核心术语包括:人工智能(AI)作为总称、机器学习(ML)让机器自主找规律、深度学习(DL)自动提取特征、神经网络(NN)模拟人脑的"多层过滤器"。辅助术语涵盖大语言模型(LLM)、监督/无监督学习、过拟合、特征工程等。重点强调入门阶段不必死记硬背,而是理解术语的实际作用和适用场景,如将"深度学习"与AI生成内容相关联即可。关键词:AI术语、机器学习、深度学习、大语言模型、过拟合。(148字)

2501_91624122的博客 309

Python到AI的系统化学习路径与实战指南

Python作为人工智能领域的核心编程语言,其学习路径的科学设计直接影响AI开发效率。从基础语法到机器学习框架,分阶段构建知识体系是关键。首先需要掌握Python核心语法和科学计算库(如NumPy、Pandas),这是数据处理和模型训练的基础。随后过渡到机器学习算法原理与实战,理解特征工程、模型训练与评估的完整流程。深度学习阶段则涉及框架选择(PyTorch/TensorFlow)、计算机视觉和自然语言处理等核心技术。工程实践中,代码质量管控和模型部署同样重要。通过结构化学习路径,开发者可以避免常见误区,快

weixin_30596735的博客 430
上一篇: mongodb访问
下一篇: AI入门学习-Python 最主流的机器学习库Scikit-learn
sssammmm
博客等级 码龄9年 369粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值