2.1 由实例学习类
假设我们要学习“家用汽车”类C,先使用一些实例进行标记,家用汽车为正,其他为负。
类学习就是寻找一个涵盖所有的正例而不包含负例的描述。
这样我们就能:
给一辆没见过的车,检查学习得到的描述,对汽车进行判断是否为家用汽车。
x=[x1,x2]Tr={1如果为正0如果为负χ={xt,rt}Nt=1
专家分析,家用汽车价格和发动机功率应当在一个范围内
(p1≤价格≤p2)and(e1≤功率≤e2)
这样有了一个假设h∈H,尽可能的逼近类C
h(x)={1如果h预测x为正0如果h预测x为负
那么就有了误差,假设误差为:
E(h|χ)=N∑t=11(h(xt≠rt))
2.2 VC维
假设一个二分类问题,有N个样本,那么对于这N个样本有2N个分类方法,可以定义2N个学习方法。
那么对于任意一个问题我们都能找到一个假设h∈H分类,那么我们就称H散列N个点。
H的散列的点的最大数量成为H的VC维,记为VC(H),用来度量假设类H的学习能力。
2.3 概率逼近正确学习
概率逼近正确学习中,给定类C和未知但具有确定分布p(x)中取样,置信率δ≤1/2,误差ϵ>0
P{CΔh≤ϵ}≥1−δ
假设h误差至多为ϵ的概率为1−δ,其中CΔh是C与h不同的区域。
矩形有4个小条子,那么正例不落在某个小条子的概率为:1−ϵ/4,那么对于N个实例不在小条子的概率为4(1−ϵ/4)N(落在小条子里面为判断错误)我们希望最大值为δ.
因为有公式:(1−x)≤exp[−x]
代入到公式有:4exp[−ϵN/4]≤δ
整理后得到:N≥(4/ϵ)log(4/δ)
由此得到为了保证 置信率δ,ϵ至少需要:N≥(4/ϵ)log(4/δ)个样本。
2.5 学习多类
假设有K个类,标记为Ci,i=1,……,K
假设数据集,χ={xt,rt}Nt=1
r是K维的,有:
rti={1如果xt∈Ci0如果xt∈Cj,j≠i
对于预测有:
hi(xt)={1如果xt∈Ci0如果xt∈Cj,j≠i
则误差有:
E({hi}Ki=1|χ)=N∑t=1K∑i=11(hi(xt)≠rti)
2.6 回归
假设数据集,χ={xt,rt}Nt=1
我们希望找出一个函数rt=f(xt)
若加上噪声rt=f(xt)+ε
对于噪声的解释就是,存在我们无法观测的额外隐藏变量rt=f(xt,zt),zt就是隐藏变量。
有误差函数:
E(g|χ)=1NN∑t=1[rt−g(xt)]2
假设x是线性的,我们有:
g(x)=N∑t=1wjxj+w0
假设只有一个参数:
g(x)=w1x+w0E(g|χ)=1NN∑t=1[rt−(w1xt+w0)]2
求w0,w1偏导为0,先求w0在代入到对w1求偏导的公式中得到:
w0=¯r−w1¯xw1=∑txtrt−N¯x¯r∑t(xt)2−N(¯x)2
如果线性模型太简单也可以修改为二次函数:g(x)=w2x2+w1x+w0
2.8 监督机器学习算法学习的维
假设数据集,χ={xt,rt}Nt=1
1.定义一个学习用的模型 g(x|θ),其中θ是参数
2.定义一个损失函数L(),那么逼近误差或者损失是各个实例误差的和
E(θ|χ)=∑tL(rt,g(x|θ))
3.最优化过程,求解参数θ∗使得误差最小
θ∗=argminθE(θ|χ)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2014-02-20 Mongodb源代码阅读笔记:Journal机制