当前位置: 首页 > news >正文

(二)当人工智能是一个函数,函数形式怎么选择?ChatGPT的函数又是什么?

在上一篇文章中,我们通过二次函数的例子,讲解了如何训练人工智能。今天,让我们进一步探讨:面对不同的实际问题,应该如何选择合适的函数形式?

一、广告推荐系统中的函数选择

1. 业务目标

想象一下,你正在刷抖音,突然看到一个运动鞋的广告。巧的是,你最近正在对比各种跑鞋,这个广告简直像是读懂了你的心!这就是智能广告推荐系统的魔力。

广告推荐的核心目标是:

  • 向用户推送最适合的广告
  • 提高广告点击率
  • 最大化广告收益

2. 数据输入(特征工程)

A. 用户基础属性
  • 人口统计学特征
    • 年龄
    • 性别
    • 地理位置
    • 职业
    • 收入水平
# 用户基础属性示例
import pandas as pduser_base_features = {'user_id': ['u001', 'u002', 'u003'],'age': [25, 35, 28],'gender': ['F', 'M', 'F'],'location': ['北京', '上海', '广州'],'occupation': ['学生', '工程师', '设计师']
}df_user = pd.DataFrame(user_base_features)
print("用户基础特征示例:")
print(df_user)
B. 用户行为特征
  • 历史互动数据
    • 最近30天点击的品类
    • 最近7天的购买记录
    • 收藏的商品类型
    • 停留时长

请添加图片描述

C. 广告特征
  • 广告属性
    • 商品类别
    • 价格区间
    • 品牌信息
    • 广告创意类型(图片/视频)
    • 历史点击率

3. 函数选择:Logistic回归(LR)

A. 为什么选择LR?
  • 输出范围在[0,1]之间,完美契合概率预测
  • 计算速度快,适合在线服务
  • 模型可解释性强
B. 函数形式
def logistic_function(x, weights):"""x: 输入特征向量weights: 模型权重返回: 点击概率"""z = np.dot(x, weights)probability = 1 / (1 + np.exp(-z))return probability

请添加图片描述

C. 实际应用示例

请添加图片描述

4. 函数输出

  • 预测值:用户点击广告的概率(0~1之间的数值)
  • 实际应用:
    • 概率 > 0.7:优先推荐
    • 0.3 < 概率 < 0.7:次优推荐
    • 概率 < 0.3:不推荐

在这里插入图片描述

5. 效果评估

  • 在线指标:
    • CTR(点击率)
    • CVR(转化率)
    • ROI(投资回报率)
  • 离线指标:
    • AUC
    • Log Loss

在这里插入图片描述

这样的广告推荐系统就像一个智能客服,它通过分析用户的各种特征和行为,预测用户对不同广告的兴趣程度,从而实现精准推送,既提升了用户体验,也最大化了广告收益。

二、人脸识别中的函数选择

2.1 人脸识别要解决什么问题?

想象你走进一个高科技大厦,门禁系统的摄像头对准你的脸:

  • 0.1秒后,门开了:“张先生,早上好!”
  • 系统刚刚做了什么?它解决了"这个人是谁?"的问题

本质上,人脸识别就是一个函数,输入是"一张人脸照片",输出是"这个人的身份"。

2.2 输入:人脸图像数据

2.2.1 原始输入
  • 一张普通的人脸照片
  • 数据格式:224×224×3的像素矩阵
    • 224×224:图片的宽和高
    • 3:RGB三个颜色通道
2.2.2 输入预处理

就像你拍证件照时,摄影师会要求你"正对镜头"、"不要歪头"一样,原始照片需要标准化处理:

  • 人脸检测:找到照片中的人脸区域
  • 人脸对齐:调整人脸角度,使其正对镜头
  • 尺寸统一:缩放到224×224像素
  • 像素归一化:将0-255的像素值转换为0-1之间

2.3 函数:深度卷积神经网络(CNN)

2.3.1 CNN如何工作?

想象你在认人时的过程:

  • 先看整体轮廓(是胖是瘦)
  • 再看局部特征(眼睛大小、鼻子形状)
  • 最后综合判断(这是张三!)

CNN就是模仿这个过程的数学函数:

  • 卷积层:提取局部特征(眼睛、鼻子、嘴巴等)
  • 池化层:抓住重要特征(眼睛很大、鼻子很挺等)
  • 全连接层:综合判断,生成"身份证"(特征向量)

2.4 输出:身份特征向量

2.4.1 特征向量
  • 一个512维的数值数组
  • 每个数值代表一个抽象的人脸特征
  • 可以理解为人脸的"数字指纹"
2.4.2 身份判断
  • 计算特征向量之间的相似度
  • 如果相似度超过阈值(如0.8),则认为是同一个人

2.5 整体流程总结

人脸识别 = 特征提取函数 + 相似度比较

  1. 输入:224×224×3的人脸图片
  2. 函数处理:
    • CNN提取特征
    • 生成512维特征向量
  3. 输出:
    • 与数据库中的特征向量比较
    • 找到最相似的人脸
    • 返回身份信息

就像每个人的指纹都是独一无二的,CNN会为每个人的脸生成独特的"数字指纹",通过比对这些"指纹"来识别身份。这就是人脸识别的核心原理!

三、ChatGPT的函数又是什么?

3.1 ChatGPT要解决什么问题?

想象你在和一个无所不知的朋友聊天:

  • “帮我写一个请假条”
  • “解释下量子力学的基本原理”
  • “给我的短篇小说提些修改建议”

ChatGPT就是要解决"如何像人类一样理解和生成文本"的问题。本质上,它是一个复杂的函数,输入是"用户的问题或需求",输出是"连贯且符合上下文的回答"。

在这里插入图片描述

3.2 输入:文本序列

3.2.1 基本输入形式
  • 自然语言文本
  • 可以包含多轮对话历史
  • 支持多种语言
  • 可以包含代码、数学公式等特殊格式

在这里插入图片描述

3.2.2 输入预处理
  • 文本标准化
  • 分词(Tokenization)
  • 添加特殊标记(如开始符、结束符)
  • 转换为模型可理解的数字序列

在这里插入图片描述

3.3 函数:Transformer架构

3.3.1 核心组件
  • 注意力机制(Attention):理解单词之间的关系
  • 自注意力层:捕捉上下文信息
  • 前馈神经网络:处理特征转换

3.3.2 工作流程

  1. 输入编码:将文本转换为向量
  2. 多头注意力:同时关注多个特征维度
  3. 特征处理:通过多层转换提取深层特征
  4. 输出生成:逐个生成输出词汇

3.4 输出:生成的文本序列

3.4.1 输出形式
  • 自然语言回答
  • 代码片段
  • 创意写作
  • 格式化文档
3.4.2 输出特点
  • 上下文连贯性
  • 语法正确性
  • 逻辑合理性
  • 风格一致性

3.5 整体流程总结

ChatGPT = 超级语言理解函数 + 智能文本生成器

  1. 输入处理:

    • 用户输入文本
    • 分词和编码
    • 添加位置编码
  2. 函数处理:

    • 注意力计算
    • 上下文理解
    • 特征提取
    • 知识应用
  3. 输出生成:

    • 词语概率预测
    • 序列解码
    • 文本生成

ChatGPT就像一个超级对话助手,它通过复杂的Transformer架构,将我们的输入文本转化为有意义的回答。这个过程就像是一个超级翻译官,不仅要理解我们说什么,还要用最恰当的方式回答我们的问题!

总结

选择合适的函数形式是AI工程中的关键步骤。我们需要:

  1. 深入理解问题本质
  2. 权衡不同模型特点
  3. 考虑工程实现约束

记住:没有最好的函数形式,只有最适合的选择!

参考资料

[1] 推荐系统中的CTR预估模型详解 (https://zhuanlan.zhihu.com/p/35465875). 知乎专栏.

[2] 特征工程:从理论到实践 (https://zhuanlan.zhihu.com/p/105912713). 知乎专栏.

[3] Logistic回归原理与应用 (https://blog.csdn.net/qq_22210253/article/details/104452244). CSDN博客.

[4] Logistic回归的直观理解与实现 (https://zhuanlan.zhihu.com/p/111725866). 知乎专栏.

[5] 广告推荐系统中的机器学习模型 (https://www.jianshu.com/p/5a6e5e7b0d7c). 简书.

[6] 推荐系统性能评估指标详解 (https://blog.csdn.net/wangweiwei1992/article/details/103724165). CSDN博客.

[7] 人脸识别技术综述 (https://zhuanlan.zhihu.com/p/144576990). 知乎专栏.

[8] 深度学习中的图像预处理 (https://zhuanlan.zhihu.com/p/49785817). 知乎专栏.

[9] 人脸检测与对齐技术解析 (https://blog.csdn.net/qq_34337272/article/details/103005027). CSDN博客.

[10] 卷积神经网络(CNN)的原理与应用 (https://zhuanlan.zhihu.com/p/37065752). 知乎专栏.

[11] 深度学习在身份识别中的应用 (https://blog.csdn.net/qq_43557591/article/details/113302566). CSDN博客.

[12] 人脸识别中的特征向量与相似度计算 (https://zhuanlan.zhihu.com/p/34267502). 知乎专栏.

[13] ChatGPT:从原理到应用 (https://zhuanlan.zhihu.com/p/588257865). 知乎专栏.

[14] NLP中的文本预处理技术详解 (https://zhuanlan.zhihu.com/p/101264285). 知乎专栏.

[15] 图解Transformer:注意力机制的核心 (https://jalammar.github.io/illustrated-transformer/). Jalammar博客.

[16] Transformer在NLP中的应用 (https://zhuanlan.zhihu.com/p/54503186). 知乎专栏.

[17] GPT模型的文本生成原理 (https://zhuanlan.zhihu.com/p/484713322). 知乎专栏.


下期预告:我们将深入探讨如何训练这些不同形式的函数。敬请期待!

相关文章:

(二)当人工智能是一个函数,函数形式怎么选择?ChatGPT的函数又是什么?

在上一篇文章中&#xff0c;我们通过二次函数的例子&#xff0c;讲解了如何训练人工智能。今天&#xff0c;让我们进一步探讨&#xff1a;面对不同的实际问题&#xff0c;应该如何选择合适的函数形式&#xff1f; 一、广告推荐系统中的函数选择 1. 业务目标 想象一下&#x…...

数据挖掘——回归算法

数据挖掘——回归算法 回归算法线性回归最小二乘法优化求解——梯度下降法逻辑回归逻辑回归函数逻辑回归参数估计逻辑回归正则化 决策树回归小结 回归算法 回归分析 如果把其中的一些因素&#xff08;房屋面积&#xff09;作为自变量&#xff0c;而另一些随自变量的变化而变化…...

AIGC与未来的通用人工智能(AGI):从生成内容到智能革命

目录 第一部分&#xff1a;AIGC概述 1.1 什么是生成式人工智能&#xff08;AIGC&#xff09; 1.2 AIGC的应用 第二部分&#xff1a;通用人工智能&#xff08;AGI&#xff09;概述 2.1 什么是通用人工智能&#xff08;AGI&#xff09; 2.2 AGI的关键特征 2.3 当前AGI的挑战 第…...

jQuery学习笔记3

jQuery 事件注册 jQuery 事件处理 <div></div><ul><li>我们都是好孩子</li><li>我们都是好孩子</li><li>我们都是好孩子</li><li>我们都是好孩子</li><li>我们都是好孩子</li></ul><o…...

SpringMVC(六)拦截器

目录 1.什么是拦截器 2.拦截器和过滤器有哪些区别 3.拦截器方法 4.单个拦截器的执行流程 5.使用拦截器实现用户登录权限验证&#xff08;实例&#xff09; 1.先在html目录下写一个login.html文件 2.在controller包下写一个LoginController文件 3.加拦截器 1.创建一个conf…...

单区域OSPF配置实验

1、绘制拓扑图 2、配置ip地址 R0 Router(config)#interface FastEthernet0/0 Router(config-if)#ip address 192.168.1.1 255.255.255.0 Router(config-if)#no shutdown Router(config-if)#exit Router(config)#interface FastEthernet0/1 Router(config-if)#ip address 192.16…...

Linux上vi(vim)编辑器使用教程

vi(vim)是上Linux非常常用的编辑器&#xff0c;很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写&#xff0c;vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用&#xff0c;如果想使用…...

虚拟机图像界面打不开了

今天打开虚拟机的时候图形界面打不开&#xff0c;进入到tty1中&#xff0c;而且还没有网&#xff0c;找了好几个办法都不行最后找到这个博主发的&#xff0c;解决了 修复 https://www.cnblogs.com/shuimuqingyang/p/15070690.html...

《经典力学》笔记

文章目录 直线运动弹簧和简谐运动动能&#xff0c;势能&#xff0c;机械能动量动量守恒机械能守恒弹性碰撞和非弹性碰撞冲量 圆周运动匀速圆周运动转动惯量平行轴定理 角动量角动量守恒 英语 直线运动 弹簧和简谐运动 F s → − k x 1 → \overrightarrow{F_s}-k \overrighta…...

【论文+源码】基于Spring和Spring MVC的汉服文化宣传网站

为了实现一个基于Spring和Spring MVC的汉服文化宣传网站,我们需要创建一个简单的Web应用程序来展示汉服文化和相关信息。这个系统将包括以下几个部分: 数据库表设计:定义文章、用户和评论的相关表。实体类:表示数据库中的数据。DAO层接口及MyBatis映射文件:用于与数据库交…...

计算机的错误计算(一百九十九)

摘要 用大模型判断下面四个函数 有何关系&#xff1f;并计算它们在 x0.00024时的值&#xff0c;结果保留10位有效数字。两个大模型均认为它们是等价的。实际上&#xff0c;还有点瑕疵。关于计算函数值&#xff0c;大模型一只是纸上谈兵&#xff0c;没计算&#xff1b;大模型二…...

【AI日记】25.01.02 kaggle 比赛 3-1

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 参加&#xff1a;kaggle 比赛 Forecasting Sticker Sales时间&#xff1a;4 小时 读书 书名&#xff1a;秦制两千年时间&#xff1a;5 小时阅读原因&#xff1a;之前看过 《商君书》&#xff0c;对秦制…...

el-pagination 为什么只能展示 10 条数据(element-ui@2.15.13)

好的&#xff0c;我来帮你分析前端为什么只能展示 10 条数据&#xff0c;以及如何解决这个问题。 问题分析&#xff1a; pageSize 的值&#xff1a; 你的 el-pagination 组件中&#xff0c;pageSize 的值被设置为 10&#xff1a;<el-pagination:current-page"current…...

Ps:将数据组作为文件导出

Ps菜单&#xff1a;文件/导出/数据组作为文件 Export/Data Sets as Files “将数据组作为文件导出” Export Data Sets as Files命令是 Photoshop 数据驱动设计功能的一部分&#xff0c;用于结合可变数据和模板&#xff0c;生成多个文件。 1、自动化批量生成 适用于名片、证书、…...

nohup.out日志

1、nohup.out生成 在你执行 nohup java -jar ruoyi-admin.jar & 时&#xff0c;程序原本要输出到控制台的所有内容&#xff0c;包括日志框架输出到控制台的部分&#xff0c;都会被写入 nohup.out 。nohup 命令运行程序时&#xff0c;默认情况下&#xff0c;nohup 会把程序的…...

01 背包

文章目录 前言代码思路 前言 总是感觉有点没有完全懂&#xff0c;但是说起来的时候好像又懂一点点&#xff0c;就是我现在的状态。 代码 二维的直接的版本 #include<iostream> #include<algorithm>using namespace std;const int N 1010; int f[N][N]; int v[…...

QT-------------多线程

实现思路 QThread 类简介&#xff1a; QThread 是 Qt 中用于多线程编程的基础类。可以通过继承 QThread 并重写 run() 方法来创建自定义的线程逻辑。新线程的执行从 run() 开始&#xff0c;调用 start() 方法启动线程。 掷骰子的多线程应用程序&#xff1a; 创建一个 DiceThre…...

【JVM】深入了解Java虚拟机-------内存划分、类加载机制、垃圾回收机制

目录 什么是JVM? 内存划分&#xff1a; 1.堆 &#xff08;共享&#xff09; 2.栈 &#xff08;私有&#xff09; 3.元数据区&#xff08;共享&#xff09; 4.程序计数器&#xff08;私有&#xff09; 示例&#xff1a; JVM 类加载 一.类加载过程 1.加载 2.验证 3.…...

k8s部署juicefs

操作系统k8smysqlminiojuicefs内核centos8.21.19.18.0.39RELEASE.2023-12-20T01-00-02Zv0.19.04.18.0-193.el8.x86_64 本文k8s较老采用老版本的juicefs&#xff0c;中间件也都是部署在k8s上。测试是否能成功创建动态pvc挂在到测试pod当中并查看到数据信息。一些偏理论知识就不多…...

【ArcGIS微课1000例】0136:制作千层饼(DEM、影像、等高线、山体阴影图层)

文章目录 一、效果展示二、数据准备三、制作过程1. 打开软件2. 制作DEM图层3. 制作影像层4. 制作TIN层5. 制作等高线层四、注意事项一、效果展示 二、数据准备 订阅专栏后,从专栏配套案例数据包中的0136.rar中获取。 1. dem 2. 影像 3. 等高线 4. tin 三、制作过程 1. 打开软…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

李沐--动手学深度学习--GRU

1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...

Win系统权限提升篇UAC绕过DLL劫持未引号路径可控服务全检项目

应用场景&#xff1a; 1、常规某个机器被钓鱼后门攻击后&#xff0c;我们需要做更高权限操作或权限维持等。 2、内网域中某个机器被钓鱼后门攻击后&#xff0c;我们需要对后续内网域做安全测试。 #Win10&11-BypassUAC自动提权-MSF&UACME 为了远程执行目标的exe或者b…...

ZYNQ学习记录FPGA(二)Verilog语言

一、Verilog简介 1.1 HDL&#xff08;Hardware Description language&#xff09; 在解释HDL之前&#xff0c;先来了解一下数字系统设计的流程&#xff1a;逻辑设计 -> 电路实现 -> 系统验证。 逻辑设计又称前端&#xff0c;在这个过程中就需要用到HDL&#xff0c;正文…...

MLP实战二:MLP 实现图像数字多分类

任务 实战&#xff08;二&#xff09;&#xff1a;MLP 实现图像多分类 基于 mnist 数据集&#xff0c;建立 mlp 模型&#xff0c;实现 0-9 数字的十分类 task: 1、实现 mnist 数据载入&#xff0c;可视化图形数字&#xff1b; 2、完成数据预处理&#xff1a;图像数据维度转换与…...

[C++错误经验]case语句跳过变量初始化

标题&#xff1a;[C错误经验]case语句跳过变量初始化 水墨不写bug 文章目录 一、错误信息复现二、错误分析三、解决方法 一、错误信息复现 write.cc:80:14: error: jump to case label80 | case 2:| ^ write.cc:76:20: note: crosses initialization…...

【Java基础】​​向上转型(Upcasting)和向下转型(Downcasting)

在面向对象编程中&#xff0c;转型&#xff08;Casting&#xff09; 是指改变对象的引用类型&#xff0c;主要涉及 继承关系 和 多态。 向上转型&#xff08;Upcasting&#xff09; ⬆️ 定义 将 子类对象 赋值给 父类引用&#xff08;自动完成&#xff0c;无需强制转换&…...

边缘计算设备全解析:边缘盒子在各大行业的落地应用场景

随着工业物联网、AI、5G的发展&#xff0c;数据量呈爆炸式增长。但你有没有想过&#xff0c;我们生成的数据&#xff0c;真的都要发回云端处理吗&#xff1f;其实不一定。特别是在一些对响应时间、网络带宽、数据隐私要求高的行业里&#xff0c;边缘计算开始“火”了起来&#…...