当前位置: 首页 > 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. 打开软…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...