机器学习课程总结(个人向)

前言

通过看课件PPT整理的笔记,没有截图

由于大部分内容已经耳熟能详了,故记录比较简略,只记录了一些概念和需要记忆的地方。

里面有较多的个人观点,未必正确。如有错误,还请各位大佬指正

正文

绪论

机器学习的定义:程序在任务T上通过经验E对目标P进行优化
TPE
任务 性能指标 训练经验

目标函数:状态->评价/行动
模型复杂度(函数描述能力)<--权衡-->数据量

##########LMS算法:均方误差+梯度下降
delta = Σ(y'-y)^2
w <- w+ n*(y'-y)*X
n:学习率

执行系统、鉴定器、泛化器、实验生成器??
执行系统:输入问题、输出解决方案
鉴定器:输入解决方案、输出训练样例
泛化器:输入训练样例、输出假设(也就是拟合的结果分布)
实验生成器:输入假设、输出问题

概念是什么、假设是什么
概念:对象或事件集合的子集,用布尔函数表示
假设:我们对这个概念的拟合,可以用布尔函数表示,也可以用对属性约束的合取范式来表示。
例如<A1,B2,C1,?>,表示满足A1、B2、C1的任意实例都属于该假设

---------------------------------------------

概念学习

X、H、c、D
X实例集:样本空间
H假设集:在该样本空间上的任意一个布尔函数,概念空间
c目标概念(布尔函数):X->{0,1}
D训练样例集:{<xi,c(xi)>},其中xi∈X
学习目标:找到h∈H,使得任意x∈X有h(x)=c(x)

归纳学习假设:
由于样本空间X过大,我们假设:
任意<x,c(x)>∈D都有h(x)=c(x),且D足够大时,
那么我们就认为,h可以使得大部分x∈X有h(x)=c(x)

搜索空间:搜索概念空间中的元素,样本空间中的概念边界
##########偏序关系:more_general_than_or_queal_to
hk(x)=1 -> hj(x)=1
记作hj > hk

##########Find-S算法
从最特殊假设开始,枚举D中正例,哪个属性不满足就取哪个并集加入当前假设,不管负例

##########候选消除算法
Find-S的升级版,输出所有满足条件的假设集合,给出偏序集合的上下界
一致:同时满足D中正例和负例的h
变型空间:所有与D一致的h的集合,记为VS(H,D)
列表后消除算法:暴力枚举出H中的所有假设,一一验证
求出极大一般成员G集合和极小特殊成员S集合,作为上下界,VS(H,D)中所有元素必定位于该上下界之间
步骤:
若为正例,去除G中的不一致假设,泛化S中不一致的假设
若为反例,去除S中的不一致假设,泛化G中不一致的假设
若包含错误的概念数据,最终会收敛到一个空集

无偏学习的无用性,有偏性更强,归纳能力更强

---------------------------------------------

决策树

合取、析取、异或的决策树画法
ID3和C4.5,Splitinfo:划分后每个类别的占比的-plogp之和
错误率降低剪枝(后剪枝,修剪后在训练集上的性能不能低于原树)
规则剪枝(把每条路径的错误率算出来,单独剪枝,而不是统计子树中的总错误率)

还可以引入属性划分代价,把Gain^2/Cost作为划分依据

---------------------------------------------

ANN

感知器训练法则
w=w+Δw
Δw=n*(y'-y)*x
这里的输出是被二值化之后的y‘和y

delta法则=LMS法则(规则)
和感知器训练法则类似,但输出是没有加二值化的(阈值单元)
感知器训练法则是加入了阈值单元的输出,直接进行梯度下降

梯度下降:对整个训练数据进行计算(真实梯度)
随机梯度下降:一个一个数据的计算梯度(引入了扰动,避免梯度下降被局部极小值干扰)

输出单元δ值计算:y'*(1-y')*(y-y')(本质上是一层传递,最初δ为(y-y')即残差)
(这里的y'*(1-y')其实是链式法则求导到sigmoid的特征)
隐藏单元δ值计算:o*(1-o)*Σwi*δi
Δwi->j = n * δj * xi->j(其实大部分神经网络的xi->j都是xi吧?)
链式求导法则

增加冲量(叠加上次的梯度)
sigmoid、relu、tanh、leaky relu
在误差函数中添加L2正则化项,增加对目标函数的偏导(斜率)
交叉熵损失函数

---------------------------------------------

贝叶斯推理

(从观测到预测,从看得见的现象到内在本质的推理)

后验=似然*先验/全概率
先验P(h):在对概念进行观测之前,各个假设成立的概率,具有主观色彩
先验P(D):观测结果D的先验概率(一般认为是等概率吧)
似然P(D|h):在假设h成立的条件下,观测到数据D的概率
后验P(h|D):在已知观测D的情况下,假设h成立的概率
极大后验假设hMAP、极大似然假设hML:就是使得后验、似然概率最大的假设

Brute-Force贝叶斯概念学习(求hMAP)
枚举每个h,P(h)=1/|H|,似然:一致=1,不一致=0
计算出来的全概率先验为|VS(H,D)|/|H|

一致学习器:在训练集上正确率100%

(证明题)使用误差平方的损失函数会使得输出为极大似然假设
(主要思路:似然概率为每个样本的似然概率乘积累积,因为di服从正态分布,里面具有误差平方项,取argmax操作后,可以化简为最小误差平方和的形式)
贝叶斯学习器:L(X,H,D),D中标签具有噪声
选用正态分布来描述噪声

把预测离散的标签{0,1},改为预测概率[0,1]
暴力法:收集每种x值的概率,直接输出
梯度搜索,用损失函数G(h,D),计算预测结果的交叉熵,然后反向传播
但预测分类时并不能直接用极大似然假设h进行分类,需要通过后验概率加权合并所有假设ΣP(cls|hi)*P(hi|D)
由于合并过程代价过大,提出了Gibbs算法
Gibbs算法
按照P(h|D)的分布对H进行采样,用采集的h来预测h(x)
最差错误率为全部合并的两倍

朴素贝叶斯分类器
目标函数为离散
设x=(a1,a2,a3...,an),ai为样本x的第i个属性
求P(y|x)最大的y
使用贝叶斯公式转换后:求P(x|y)*P(y)
此时若x各个属性相互独立,则P(x|y)=ΠP(ai|y)
也就是说,我们只需要拟合P(ai|y)这n个函数,极大的削减了搜索空间
直接使用频率估计概率,拟合这些函数即可
m-估计(应该是马尔可夫估计?)
在样本数据少时,P(ai|y)=(n(ai)+mp)/(n(y)+m),p为先验估计,m为等效样本大小(呃,本质上就是直接加上m个分布为p的样本来补足)
文本分类问题:
预处理计算P(wi|tagj),空间复杂度O(vocabulary*tag_nums),扫描一遍数据集即可得出

---------------------------------------------

遗传算法

GA(fit,fit_thresh,p,r,m):
p:种群规模,r:产生杂交后代占比,m:突变概率
维护假设全集H的子集P(population)
使用fit函数计算每个h∈P的适应度(fit值),
当最大的fit值都无法满足fit_thresh时,进行遗传算法
1、根据适应度加权概率抽取样本p*(1-r)个,保留到下一代
2、选取r*p/2对样本,杂交得到后代,添加进来
3、再对下一代的m*p个样本进行突变
4、更新,计算每个样本的适应度
主要算法设计:适应度评估、选择算法、杂交操作、变异操作
目的是保留更多样性的群体,削弱局部极小值的影响
无需使用梯度计算,但需要大量适应度计算,编码定义较为困难

---------------------------------------------

无监督学习

聚类Kmeans,每个点找离他最近的中心点,然后中心点迭代为他所管辖点的中心,劣势:异常值、k值敏感、初始种子敏感、非线性边界聚类
SSE指标计算,每个中心到它所管辖的所有节点的距离
聚类结果的表示:聚类中心、每个点的分类、使用众数来表示聚类、使用聚类树表示
层次聚类:自上而下(分裂)、自下而上(合并)
合并法:类似并查集,需要计算两个聚类之间的距离(最近(单连接)、最远(全连接)、平均链接(多个点对距离和的均值)、聚类中心法)
样本距离计算:欧几里得、曼哈顿、闵可夫斯基、切比雪夫

混合矩阵:两个样本a、b(一般只有布尔属性)中,枚举所有属性,统计a=0/1且b=0/1的个数,写成矩阵形式
样本匹配距离:
(n01+n10)/(n00+n01+n10+n11)(简单匹配距离)(对称布尔属性,两类别概念对称)
(n01+n10)/(n01+n10+n11) (Jaccard距离)(当状态1出现较少时,非对称布尔属性)
推广:不匹配数/总数
相似度衡量:
向量夹角余弦相似度a·b/(|a||b|)
数据标准化:
范围标准化:把数据限制到[0,1]
Z-score:(x-μ)/s,这里s是所有样本到均值的绝对值的平均数,不是标准差σ

各类数据的通用处理方式:
比例度量属性,将非线性的数据进行线性化后,再进行处理
符号属性(标签)->转换为独热编码
顺序属性->连续化,作为连续属性处理
混合属性->找一个主导全部转换过去 || 所有一起做加权平均

聚类评估:
使用一组有标签的数据,利用训练好的聚类模型对其进行分类,评判各个类下的信息熵、纯度、SSE、中心间差异、混淆矩阵(就是多分类评价的那一套AUC、 Acc、 Precision、 Recall、 F1)

---------------------------------------------

基于实例的学习

KNN找最邻近的k个点,KD树实现
优化:对距离进行加权,使用全部样本进行查询
维度灾难:降维,(x,y)->x+ky或者y+kx,然后选取最佳的k(把分类问题维度转换为优化维度),剔除无关属性(留一法,去除一个观察效果),坐标轴伸展
KNN分类与回归
局部加权线性回归
(取局部进行拟合、取全局进行加权、取局部进行加权拟合)
径向基函数RBF
把加权的函数换成高斯函数
每个邻域中的参考值x,都需要对应一个核函数
消极学习:KNN和局部加权线性回归
积极学习:RBF(需要训练,损失函数为训练集中的每个数据预测的平方误差) 

关于积极学习和消极学习还可以参考以下博客:
https://blog.csdn.net/m0_38103546/article/details/81229290

---------------------------------------------

回归学习

线性回归
最小二乘法h(x) = w0+w1x1+...+wnxn=W·X
W = (Xt*X)^(-1)*Xt*y
(作业)使用梯度下降推导线性回归、逻辑回归、softmax回归
逻辑回归就是在线性回归的输出加入一个sigmoid,采用交叉熵
sofmax回归就是多个线性回归的基础上,把所有输出加一个softmax操作,采用交叉熵
正则化
应该主要考梯度计算

---------------------------------------------

线性分类器

线性判别函数(分类时计算量小,比朴素贝叶斯快,但错误率可能更高)
线性可分与线性不可分
SVM证明(略)

线性多分类器的建立
一对其余:wi/wi'法
一条边界划分某一个类和其余类
时间复杂度O(cls_num)
存在不确定区域
一对一:wi/wj法
任意两个类之间都有边界划分
时间复杂度O(cls_num^2)
存在不确定区域
但比wi/wi'更容易线性可分
多对多:
同时求解cls_num个线性函数,将他们的最大值作为分类结果
不存在不确定区
一般采用这种方案

最小距离准则
分完类之后,查询x与各类均值点的距离,最小的就是最近的
可证明也是一种线性分类器(在采用欧氏距离时)
但分类效果不理想

感知器准则
样本规范化:
x->增广(1,x1,x2,x3)->把负类进行取相反向量
这样目的就转换为,找一个平面,使得所有点都在一侧
解区:能正确分割两类数据的w向量(分割面的法向量)取值范围,越大说明解越可靠
有了解区,我们就可以进一步限制线性分类器的精度,使用余量来控制法向量的范围
感知器准则函数
求和所有错误分类的计算结果 Σ-wTx,记为Jp(w),最小化该值
假设所有样本都正确分类(或在边界上),则Jp(w)=0,否则该值会大于0
然后我们就可以愉快地求dJp(w)/dw的偏导,进行梯度下降,直到错误分类集合为空,停止。
而这个偏导恰好等于Σ-x,也就是所有错误分类的向量之和
我们把它乘以学习率,然后叠加到w上,就可以使用梯度下降训练线性分类器了
*但是,这个方法只适用于线性可分的情况,不可分的话则永远不会停止

最小平方误差准则(SVM使用的准则)
X增广且规范化之后
Xw=b
根据一系列推导,最优MSE的w解为(Xt*X)^(-1)*Xt*b(Xt表示X的转置)
但由于计算量较大,Xt*X可能不可逆,因此实践中并不采用
Widrow-Hoff算法:
发现,如果将梯度下降的步骤增量改为:w_{k+1}=w_{k}-ρk*Xt*(X*w_{k}-b)
并且取ρk=ρ1/k,无论Xt*X是否可逆,w均能收敛到一个很好的解

---------------------------------------------

特征选择与稀疏学习

贪心选择特征子集:
前向搜索,一轮一轮的选,看当前加入哪个特征最优就选哪个
后向搜索,看当前哪个特征拿走后变得更优就删除哪个特征
双向搜索,结合上述两种,直到找到一个公共元素

选出来的特征子集的评价手段:
信息增益等指标

三类特征选择方法
过滤式
relief算法,调整每个特征的权重
每次随机一个样本x,找到最近的同类样本a和最近的不同类样本b,调大(a-x)中小于(b-x)的特征权重,调小(a-x)中大于(b-x)的特征权重。
relief-F,推广到多分类问题,假设类别有k类,每次找1个同类邻近和k-1个不同类邻近样本(每个类都找一个最近的),最后根据每个类别的样本占比加权进行权重调整
包裹式
LVW算法
直接随机特征子集,然后训练,交叉验证,评估
多次取最优的。(怪不得叫Las Vegas Wrapper)
嵌入式选择
把特征选择和学习器训练融为一体,学习器自动选择特征

稀疏表示(行表示样本、列表示属性)???
字典学习
对一个数据集X
学习字典B和表示α
最小化 Σ|x-Bα|^2+λΣ|α|
有点意思,就是纯将数据集的特征进行变换,并且使得变换后的属性比较稀疏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/885284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

后台管理系统窗体程序:文章管理 > 文章列表

目录 文章列表的的功能介绍&#xff1a; 1、进入页面 2、页面内的各种功能设计 &#xff08;1&#xff09;文章表格 &#xff08;2&#xff09;删除按钮 &#xff08;3&#xff09;编辑按钮 &#xff08;4&#xff09;发表文章按钮 &#xff08;5&#xff09;所有分类下拉框 &a…

大数据学习10之Hive高级

1.Hive高级 将大的文件按照某一列属性进行GROUP BY 就是分区&#xff0c;只是默认开窗存储&#xff1b; 分区是按行&#xff0c;如一百行数据&#xff0c;按十位上的数字分区&#xff0c;则有十个分区&#xff0c;每个分区里有十行&#xff1b; 分桶是根据某个字段哈希对桶数取…

Me-LLaMA——用于医疗领域的新型开源大规模语言模型

摘要 大规模语言模型的出现是提高病人护理质量和临床操作效率的一个重大突破。大规模语言模型拥有数百亿个参数&#xff0c;通过海量文本数据训练而成&#xff0c;能够生成类似人类的反应并执行复杂的任务。这在改进临床文档、提高诊断准确性和管理病人护理方面显示出巨大的潜…

练习LabVIEW第四十四题

学习目标&#xff1a; 计算学生三门课(语文&#xff0c;数学&#xff0c;英语)的平均分&#xff0c;并根据平均分划分成绩等级。要求输出等级A,B,C,D,E。90分以上为A&#xff0c;80&#xff5e;89为B&#xff0c;70&#xff5e;79为C&#xff0c;60&#xff5e;69为D&#xff…

重建大师7.0 | 全新倾斜高斯泼溅OPGS技术,实景三维大规模城市三维场景的更逼真化表达

在刚刚结束的“AI智算、国产信创”2024秋季新品发布会上&#xff0c;大势智慧隆重发布了重建大师7.0、重建农场信创版、低空三维AI智算平台等覆盖实景三维数据生产体系全流程、推进实景三维国产化建设与低空应用的全新系列产品。 今天&#xff0c;重点为大家介绍一下重建大师7.…

【MySQL 保姆级教学】深层理解索引及特性(重点)--下(12)

索引&#xff08;重点&#xff09; 1. 索引的作用2. 索引操作2.1 主键索引2.1.1 主键索引的特点2.1.2 创建主键索引 2.2 唯一键索引2.2.1 唯一键索引的特点2.2.2 唯一索引的创建 2.3 普通索引2.3.1 普通索引的特点2.3.2 普通索引的创建 2.4 全文索引2.4.1 全文索引的作用2.4.2 …

力扣: 144 二叉树 -- 先序遍历

二叉树 – 先序遍历 描述&#xff1a; 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例&#xff1a; 先序遍历&#xff1a;根左右 何解&#xff1f; 1、递归 : 无需多言一看就懂 2、遍历法 中序查找时&#xff0c;最先出入的节点是左子树中的最左侧二叉…

【K8S系列】K8S 集群 CPU 爆满导致 Pod Pending 状态的分析与解决方案

在 Kubernetes 集群中&#xff0c;CPU 突然爆满可能导致 Pod 状态变为 Pending&#xff0c;影响应用的可用性。本文将深入分析其原因&#xff0c;并附上相关命令及其执行结果&#xff0c;帮助你更好地理解和解决此问题。 1. 问题描述 在 Kubernetes 集群中&#xff0c;当 CPU …

Linux awk命令详解-参数-选项-内置变量-内置函数-脚本(多图、多示例)

文章目录 awk基础结构说明与示例参数与内置变量常用参数内置变量其他参数内置变量 简单示例理解option简单参数NR与FNR-v ARGC ARGV参数 执行脚本if elsefor循环关联数组指定匹配pattern 使用正则指定分隔符理解pattern正则与逻辑算术 printfif else for whileBEGIN ENDnext(跳…

【Android】组件化开发入门

文章目录 引入组件是什么?为什么使用组件化开发?什么是模块化&#xff0c;组件化&#xff0c;插件化&#xff1f;常见实现 组件分层创建module 组件单独调试配置组件工程类型配置组件ApplicationId和AndroidManifest文件 引入 组件是什么? 组件&#xff08;Component&#…

MySQL数据库基础(一) MySQL安装及数据类型

目录 一、MySQL数据裤简介 二、MySQL数据的安装 2.1、MySQL安装 2.2、修改MySQL密码登录策略 三、数据库基础管理 3.1、连接方式及数据储存流程 3.2、库管理命令 3.3、表管理命令 3.4、记录管理命令 四、MySQL数据类型 4.1、常见信息种类 4.2、字符型 4.3、数值型 4.4、日期时间…

云原生+AI核心技术&最佳实践

以下内容是我在陕西理工大学2023级人工智能专业和网络专业的演讲内容&#xff0c;分享给大家。 各位老师、同学们&#xff0c;大家好啊&#xff01;能在这里跟大家一起聊聊咱们计算机专业那些事儿&#xff0c;我真的觉得超级兴奋&#xff01; 首先&#xff0c;自我介绍一下&am…

Qt QCustomplot 在采集信号领域的应用

文章目录 一、常用的几种开源库:1、QCustomPlot:2、QChart:3、Qwt:QCustomplot 在采集信号领域的应用1、应用实例时域分析频谱分析2.数据筛选和处理其他参考自然界中的物理过程、传感器和传感器网络、电路和电子设备、通信系统等都是模拟信号的来源。通过可视化模拟信号,可以…

C++11的简介

杀马特主页&#xff1a;羑悻的小杀马特.-CSDN博客 ------ ->欢迎阅读 欢迎阅读 欢迎阅读 欢迎阅读 <------- 目录 一列表初始化的变化&#xff1a; 二左右值即各自引用的概念&#xff1a; 2.1左右…

大模型的常用指令格式 --> ShareGPT 和 Alpaca (以 llama-factory 里的设置为例)

ShareGPT 格式 提出背景&#xff1a;ShareGPT 格式起初来自于用户在社交平台上分享与聊天模型的对话记录&#xff0c;这些记录涵盖了丰富的多轮对话内容。研究者们意识到&#xff0c;这类真实的对话数据可以帮助模型更好地学习多轮对话的上下文保持、回应生成等能力。因此&…

5G时代已来:我们该如何迎接超高速网络?

内容概要 随着5G技术的普及&#xff0c;我们的生活似乎变得更加“科幻”了。想象一下&#xff0c;未来的智能家居将不仅仅是能够听你说“开灯”&#xff1b;它们可能会主动询问你今天心情如何&#xff0c;甚至会推荐你一杯“维他命C芒果榨汁”&#xff0c;帮助你抵御夏天的炎热…

Unity SRP学习笔记(二)

Unity SRP学习笔记&#xff08;二&#xff09; 主要参考&#xff1a; https://catlikecoding.com/unity/tutorials/custom-srp/ https://docs.unity.cn/cn/2022.3/ScriptReference/index.html 中文教程部分参考&#xff08;可选&#xff09;&#xff1a; https://tuncle.blog/c…

【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期

目录 1. start() (1) start() 的性质 (2) start() 和 Thread类 的关系 2. 终止一个线程 (1)通过共享的标记结束线程 1. 通过共享的标记结束线程 2. 关于 lamda 表达式的“变量捕获” (2) 调用interrupt()方法 1. isInterrupted() 2. currentThread() …

粤荣学校与亲邻家政达成合作,创造双向人才输送机制

原标题&#xff1a;超过大学生月薪&#xff01;粤荣学校与亲邻家政达成合作&#xff0c;创造双向人才输送机制&#xff0c;解决中年人就业难题&#xff01; 广州市白云区粤荣职业培训学校余智强校长与广州亲邻家政服务有限公司朱利生经理于2024年11月8日下午共同签署了一份重要…

【MacOS实操】如何基于SSH连接远程linux服务器

MacOS上远程连接linux服务器&#xff0c;可以使用ssh命令pem秘钥文件连接。 一、准备pem秘钥文件 如果已经有pem文件&#xff0c;则跳过这一步。如果手上有ppk文件&#xff0c;那么需要先转换为pem文件。 macOS 的默认 SSH 客户端不支持 PPK 格式&#xff0c;你需要将 PPK 文…