机器学习笔记
机器学习笔记
常见术语对照表: https://www.bilibili.com/read/cv16315168/
mAP(mean Average Precision)在机器学习中的目标检测领域,是十分重要的衡量指标,用于衡量目标检测算法的性能。一般而言,全类平均正确率(mAP,又称全类平均精度)是将所有类别检测的平均正确率(AP)进行综合加权平均而得到的。
李课
理论部分
损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。
代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。
目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是代价函数 + 正则化项)。代价函数最小化,降低经验风险,正则化项最小化降低
神经网络
反向传播(back progration)
logstic回归
logistic回归是一种用于二分类或多分类问题的统计模型。它基于sigmoid函数将线性回归的结果压缩在0和1之间,以概率的形式输出结果。
softmax回归
softmax 定义的一个运算,一般应用在输出位置,用来将输出变成正数而且介于 0-1 之间 总共的和为 1
多层感知机(MLP)
multi percepertion
信息熵
交叉熵 CE(crossemm)
K 则交叉验证
CNN卷积神经网络 Convolution Neural Network
二位交叉相关 (二维卷积)平移不变性 局部性
卷积符号 *,卷积本质就是对图像的特征提取在加上偏置项(python广播机制)
filter 卷积核 padding stride步长 channel 通道数
卷积层
提取图像特征
池化层
池化层的目的是降低信息冗余、提升模型的尺度不变性、旋转不变性、防止过拟合,
池化层的常见操作包含以下几种:
max pooling 选取卷积核内最大值作为结果的;效果较好;超参数较少
average pooling 对卷积核内数字取平均数作为结果
随机池化、中值池化、组合池化等
池化层是深度学习中常用的一种层级结构,它可以对输入数据进行降采样,减少数据量,同时保留重要的特征信息。池化层通常紧跟在卷积层之后,可以有效地减少数据量和计算复杂度,提高模型的训练速度和泛化能力1
经典网络
LeNet-5
总体来看,LeNet(LeNet-5)由两个部分组成:
- 卷积编码器:由两个卷积层组成;
- 全连接层密集块:由三个全连接层组成。


AlexNet
VGG

残差网络 ResNet (residual block )
代码部分
Scalar 标量
pd.get_dummies(features) ## 对字符类型的进行独热编码
模型构造
参数管理
自定义层
python 类
self代表类的实例,而非类
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。self 代表的是类的实例,代表当前对象的地址,而 self.class 则指向类。self 不是 python 关键字,我们把他换成 runoob 也是可以正常执行的:
class Test: def prt(self): # 第一个参数必须是 print(self) print(self.__class__) t = Test() t.prt()
类属性与方法
类的私有属性
__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs。
类的方法
在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数,self 代表的是类的实例。
self 的名字并不是规定死的,也可以使用 this,但是最好还是按照约定使用 self。
类的私有方法
__private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用 ,不能在类的外部调用。self.__private_methods。
#!/usr/bin/python3 class JustCounter: __secretCount = 0 # 私有变量 publicCount = 0 # 公开变量 def count(self): self.__secretCount += 1 self.publicCount += 1 print (self.__secretCount) counter = JustCounter() counter.count() counter.count() print (counter.publicCount) print (counter.__secretCount) # 报错,实例不能访问私有变量
继承
#!/usr/bin/python3 #类定义 class people: #定义基本属性 name = '' age = 0 #定义私有属性,私有属性在类外部无法直接进行访问 __weight = 0 #定义构造方法 def __init__(self,n,a,w): self.name = n self.age = a self.__weight = w def speak(self): print("%s 说: 我 %d 岁。" %(self.name,self.age)) #单继承示例 class student(people): grade = '' def __init__(self,n,a,w,g): people.__init__(self,n,a,w)#调用父类的构函 self.grade = g #覆写父类的方法 def speak(self): print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade)) s = student('ken',10,60,3) s.speak()
迭代器
用于对类等集合的遍历,遍历的类需要重写_ it _ _ next _()方法,抛出异常 StopIteration
推导式
用于列表,集合,元祖,字典等生成新数据结构的使用,过程中可以过滤掉一些元素,写法类似于for循环
本文作者:*Sakura/*
本文链接:https://www.cnblogs.com/xioazhenblogs/p/17727633.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步