首页 > 其他分享 >机器学习笔记

机器学习笔记

时间:2023-09-25 11:57:28浏览次数:36  
标签:__ .__ 机器 卷积 self 笔记 学习 print def

机器学习笔记

mAP(mean Average Precision)在机器学习中的目标检测领域,是十分重要的衡量指标,用于衡量目标检测算法的性能。一般而言,全类平均正确率(mAP,又称全类平均精度)是将所有类别检测的平均正确率(AP)进行综合加权平均而得到的。

李课

理论部分

损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。
代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均
目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是代价函数 + 正则化项)。代价函数最小化,降低经验风险,正则化项最小化降低

神经网络

反向传播(back progration)
logstic回归

logistic回归是一种用于二分类或多分类问题的统计模型。它基于sigmoid函数将线性回归的结果压缩在0和1之间,以概率的形式输出结果。
$$
p = \frac{1}{1+\exp^{-k(x)}}\
p是概率,x是自变量,k是待求的权重参数。
$$

softmax回归

softmax 定义的一个运算,一般应用在输出位置,用来将输出变成正数而且介于 0-1 之间 总共的和为 1
$$
\hat y_i=\frac{exp(o_i)}{\sum_k\exp(o_k)}
$$

多层感知机(MLP)

multi percepertion

信息熵

$$
-log(y)
$$

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

CNN卷积神经网络 Convolution Neural Network

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

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

filter 卷积核 padding stride步长 channel 通道数
$$
\begin{aligned}
f^{[1]}=filter\
p^{[1]}=padding\
s^{[1]}=stride
\end{aligned}
$$

$$
卷积后大小=\lfloor \frac{n+2p-f}{s}+1\rfloor
$$

卷积层

提取图像特征

池化层

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

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

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

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

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

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

$$
Cost J=\frac{1}{m}\sum_{i=1}^mL(\hat y{(i)},y)
$$

经典网络

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循环

标签:__,.__,机器,卷积,self,笔记,学习,print,def
From: https://www.cnblogs.com/xiaojiansuibi/p/17727633.html

相关文章

  • 雾里滑雪笔记(三)热力学第一定律
    热一律及其衍生物一、热力学第一定律的基本内容热力学第一定律是能量守恒定律在一定条件下的表现形式。为了理解这种说法,我们考虑所有可能的形式的能量。系统的总能量可以分为三部分:系统在外力场中的势能或位能$V$,系统整体运动的动能$T$,和系统的内能,即热力学能$U$。$$E=......
  • SDTM初学笔记 - [001] - SDTM基础概念学习
    SDTM,全称StudyDataTabulationModel,围绕着observations的概念构建,observations由研究期间收集的一些离散信息组成,通常对应于数据集中的rows。1Domains一个domain是关于一个特定topic的观测的集合。SDTM的首要目的是展示关于研究受试者的数据(可能是humans,或animals,或medical......
  • gdb调试应用笔记
    GDB介绍(来自man手册):ThepurposeofadebuggersuchasGDBistoallowyoutoseewhatisgoingon"inside"anotherprogramwhileitexecutes--orwhatanotherprogramwasdoingatthemomentitcrashed.翻译就是:调试器(如GBD)的目标工作就是让你看看程序执行时在......
  • Linux笔记(1)
    文件操作命令1.创建文件命令:touch-创建文件touch命令主要用于创建普通文件,用法为 touchtest.txt2.查看文件命令:cat-查看文件内容cat命令主要用于查看内容较少的文件,用法为cat路径 命令:more-查看文件内容more命令主要用于查看内容多的文件,可以......
  • 基于对数谱图的深度学习心音分类
    这是一篇很有意思的论文,他基于心音信号的对数谱图,提出了两种心率音分类模型,我们都知道:频谱图在语音识别上是广泛应用的,这篇论文将心音信号作为语音信号处理,并且得到了很好的效果。对心音信号进行一致长度的分帧,提取其对数谱图特征,论文提出了长短期记忆(LSTM)和卷积神经网络(CNN)......
  • 微积分 学习笔记
    1.函数,图形在高中,我们学过圆锥曲线,大学对它进行了拓展。要学习微积分,首先要先学习函数。在数学中,函数的定义是:给定两个集合\(S1,S2\),一个规则\(f\),对于每个\(S1\)中的元素\(x\),\(f\)都把它变化成\(S2\)中的元素。\(S2\)的所有元素都对应至少一个\(S1\)的元素。\(S1\)被称为定......
  • 3、深度学习入门之数值微分P94、P95、P96、P97、P98
    $f'(x)=\lim_{{\Deltax\to0}}\frac{f(x0+\Deltax)-f(x0)}{\Deltax}$$f(x0+\Deltax)-f(x0)=\Deltay$$f'(x) =\lim_{{\Deltax\to0}}\frac{\Deltay}{\Deltax}$$f'(x)$就是导数导数粗糙的理解为就是在某点的切线斜率可导意味着在某点处它的导数存在 ......
  • 学习笔记三
    sh编程sh脚本sh脚本是一个包含sh语句的文本文件,命令解释程序sh要执行该语句,所有的sh基本都执行相同的任务,脚本在语法上略有不同,shebang允许允许主sh调用适当版本的sh来执行脚本。如果未指定shebang,默认执行sh,即下列程序的第一行。例:创建一个一个文本文件mysh,包含:#!/bin/bash......
  • 树哈希学习笔记
    我们用字符串哈希可以判断字符串相等,那么判断树同构呢?两棵树同构,当且仅当存在将其中一棵树的节点打乱的方案,使得打乱后两棵树完全相同。树哈希,就是把字符串哈希搬到树上来。对于两棵同构的有根树,其哈希值相同。下面介绍一种构造方式。\[f_i=\sum\limits_{x\inson(i)}f_xp_{|......
  • 学习总结报告1
    不同目录下分别存哪些文件,如bin目录主要存命令,root目录下存放超级用户主,目录,Home是普通用户文件夹路径分为绝对路径和相对路径,绝对路径从根目录写,相对路径可以使用".."返回上一层目录,如"../man"就是到同级目录man文件使用"sumroot"进入超级管理员模式”"cd"为跳转命名,"mkdir"可......