世界上只有一种英雄主义,就是在看了生活的真相之后依然热爱生活!|

*Sakura/*

园龄:5年6个月粉丝:2关注:2

机器学习笔记

机器学习笔记

常见术语对照表: 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之间,以概率的形式输出结果。

p=11+expk(x)pxk

softmax回归

softmax 定义的一个运算,一般应用在输出位置,用来将输出变成正数而且介于 0-1 之间 总共的和为 1

y^i=exp(oi)kexp(ok)

多层感知机(MLP)

multi percepertion

信息熵

log(y)

交叉熵 CE(crossemm)
K 则交叉验证

CNN卷积神经网络 Convolution Neural Network

二位交叉相关 (二维卷积)平移不变性 局部性

卷积符号 *,卷积本质就是对图像的特征提取在加上偏置项(python广播机制)

filter 卷积核 padding stride步长 channel 通道数

f[1]=filterp[1]=paddings[1]=stride

=n+2pfs+1

卷积层

提取图像特征

池化层

池化层的目的是降低信息冗余、提升模型的尺度不变性、旋转不变性、防止过拟合

池化层的常见操作包含以下几种:

max pooling 选取卷积核内最大值作为结果的;效果较好;超参数较少

average pooling 对卷积核内数字取平均数作为结果

随机池化、中值池化、组合池化等

池化层是深度学习中常用的一种层级结构,它可以对输入数据进行降采样,减少数据量,同时保留重要的特征信息。池化层通常紧跟在卷积层之后,可以有效地减少数据量和计算复杂度,提高模型的训练速度和泛化能力1

CostJ=1mi=1mL(y^(i),y(i))

经典网络

LeNet-5

总体来看,LeNet(LeNet-5)由两个部分组成:

  • 卷积编码器:由两个卷积层组成;
  • 全连接层密集块:由三个全连接层组成。

![image-20230923164033186](E:\OneDrive - flavorful5475\桌面\zhen\note.assets\image-20230923164033186.png)

![image-20230923094518814](E:\OneDrive - flavorful5475\桌面\zhen\note.assets\image-20230923094518814.png)

AlexNet

VGG

![image-20230923100220649](E:\OneDrive - flavorful5475\桌面\zhen\note.assets\image-20230923100220649.png)

残差网络 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 中国大陆许可协议进行许可。

posted @   *Sakura/*  阅读(33)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起