首页 > 编程语言 >深度学习算法基础

深度学习算法基础

时间:2022-10-14 21:15:30浏览次数:81  
标签:深度 正则 距离 余弦 学习 算法 拟合 向量

1, 基本概念

一,欧氏距离与余弦相似度(cos距离)

专题-机器学习实践
余弦相似度 | 文本分析:基础

1.1,余弦相似度

通过对两个文本分词,TF-IDF 算法向量化,利用空间中两个向量的夹角,来判断这两个向量的相似程度:(计算夹角的余弦,取值 0-1)

  • 当两个向量夹角越大,距离越远,最大距离就是两个向量夹角 180°;
  • 夹角越小,距离越近,最小距离就是两个向量夹角 0°,完全重合。
  • 夹角越小相似度越高,但由于有可能一个文章的特征向量词特别多导致整个向量维度很高,使得计算的代价太大不适合大数据量的计算。

计算两个向量a、b的夹角余弦:
我们知道,余弦定理:\(cos(\theta) = \frac {a^2+b^2+c^2}{2ab}\) ,由此推得两个向量夹角余弦的计算公式如下:

\[cos(\theta) = \frac {ab}{||a|| \times ||b||} = \frac {x_{1}x_{2}+y_1y_2}{\sqrt{x^2_1+y^2_1}\sqrt{x^2_2+y^2_2}} \]

(分子就是两个向量的内积,分母是两个向量的模长乘积)

1.2,欧式距离

在欧几里得空间中,欧式距离其实就是向量空间中两点之间的距离。点 \(x = (x_{1}, ..., x_{n})\) 和 \(y = (y_{1}, ..., y_{n})\) 之间得欧氏距离计算公式如下:

\[d(x,y) = \sqrt {((x_{1}-y_{1})^{2} + (x_{2}-y_{2})^{2} + ... + (x_{n}-y_{n})^{2})} \]

1.3,余弦相似度和欧氏距离的区别

  • 欧式距离和余弦相似度都能度量 2 个向量之间的相似度
  • 放到向量空间中看,欧式距离衡量两点之间的直线距离,而余弦相似度计算的是两个向量之间的夹角
  • 没有归一化时,欧式距离的范围是 [0, +∞],而余弦相似度的范围是 [-1, 1];余弦距离是计算相似程度,而欧氏距离计算的是相同程度(对应值的相同程度)
  • 归一化的情况下,可以将空间想象成一个超球面(三维),欧氏距离就是球面上两点的直线距离,而向量余弦值等价于两点的球面距离,本质是一样。

2,容量、欠拟合和过拟合

  • 模型容量是指模型拟合各种函数的能力,决定了模型是欠拟合还是过拟合。
  • 欠拟合就是指模型的训练误差过大,即偏差过大,表现为模型不够”准“,优化算法目的在于解决欠拟合问题。
  • 过拟合就是指训练误差和测试误差间距过大,即方差过大,表现为模型不够”稳“,正则化目的在于解决过拟合问题。
  • 机器学习模型的目的是解决欠拟合和过拟合的问题,这也是机器学习算法的两个挑战。

训练误差 train error,泛化误差 generalization error,也叫测试误差(test error)。

3,正则化方法

  • 正则化是指我们修改学习算法,使其降低泛化误差而非训练误差。 正则化是机器学习领域的中心问题之一,只有优化能够与其重要性相媲。
  • 正则化一个学习函数为 \(f(x; θ)\) 的模型,我们可以给代价函数(损失函数)添加被称为正则化项(regularizer)的惩罚。
  • 正则化是一种思想(策略),给代价函数添加惩罚只是其中一种方法。另外一种最常用的正则化技术是权重衰减,通过加入的正则项对参数数值进行衰减,得到更小的权值。当 \(\lambda\) 较大时,会使得一些权重几乎衰减到零,相当于去掉了这一项特征,类似于减少特征维度。

4,超参数和验证集

  • 普通参数指算法权重 \(w\) 的值,是可以通过学习算法本身学习得到。超参数的值不是通过学习算法本身学习出来的,可通过验证集人为选择合适的超参数
  • 将训练数据划分为两个不相交的子集,即训练集和验证集,训练集用于学习普通参数,验证集用于估计训练中或训练后的泛化误差,更新超参数(“训练超参数”)。通常,80% 的训练数据用于训练,20% 用于验证。
  • 交叉验证方法适合小规模数据集(例如几百上千张图片)训练模型的情况。

5,估计、偏差和方差

  • 统计领域的基本概念,例如参数估计、偏差和方差,对于正式地刻画泛化、欠拟合和过拟合都非常有帮助。偏差和方差的关系和机器学习容量、欠拟合和过拟合的概念紧密相联
  • 偏差和方差度量着估计量的两个不同误差来源。偏差度量着偏离真实函数或参数的误差期望。而方差度量着数据上任意特定采样可能导致的估计期望的偏差。

6,随机梯度下降算法

  • 随机梯度下降算法是目前最为广泛应用的一种优化算法,形式为 \(θ=θ − ϵg\),\(ϵ\) 是学习率,\(g\) 是梯度,\(θ\) 是权重。
  • 随机梯度下降优化算法不一定能保证在合理的时间内达到一个局部最小值,但它通常能及时地找到代价函数一个很小的值,并且是有用的。

标签:深度,正则,距离,余弦,学习,算法,拟合,向量
From: https://www.cnblogs.com/armcvai/p/16793011.html

相关文章

  • UART学习笔记
    UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信......
  • 力扣-排序算法
    部分题解保存排序数组-快速排序classSolution{privatefinalstaticRandomrandom=newRandom(System.currentTimeMillis());publicint[]sortArray(in......
  • ffmpeg数据结构学习(AVpacket & AVframe)
     其中的AVBufferRef是一个AVbuffer的指针:图片来源于网络 关于AVframe:音频解码API avcodec_decode_audio4在新版中已废弃,替换为使用更为简单的avcodec_send_packet......
  • Python学习路程——Day15
    Python学习路程——Day15重要内置函数zip()'''zip()函数的作用 zip()函数可以将多个序列(列表、元组、字典、集合、字符串以及ranger()区间构成的列表压缩成一个zip对......
  • letcode-学习-数组去重
    数组去重问题描述:给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。由于......
  • 学习历程
    我是刚进入大学的大一新生,专业是软件工程,今天正式学c语言。我的目标是能够自己做出能够运行的软件,并且深造c语言技术。我打算是先跟着视频学习,并且及时的练习、后期也要自己......
  • InnoDB存储引擎:索引与算法
    InnoDB存储引擎索引概述InnoDB支持以下几种常见的索引:B+树索引(传统意义上的索引,这是目前关系型数据库系统中查找最为常用和最为有效的索引;B+树索引并不能找到一个给......
  • 实现Android深度加固:代码、资源、so库加密隐藏。兼容unity引擎和各种机型
    1.为什么做加固因为不想辛辛苦苦做的东西,被别人拿去改成各种版,半路摘我的桃子。2.怎么加固2.1简单的加固三方加固,有些三方会有免费版本的加固服务比如腾讯加固2.2......
  • 算法第四版习题解答(1.1 Basic Programming Model)
    前言使用的是《算法》第四版英文版,主要是习题解答。书中jar包的导入请戳:算法(第四版)中algs4.jar下载和使用EXERCISES1.1.11.1.21.1.3importjava.util.Scanner;p......
  • 20201318李兴昕第四章学习笔记
    第四章:并发编程知识点归纳总结:本章论述了并发编程,介绍了并行计算的概念,指岀了并行计算的重要性;比较了顺序算法与并行算法,以及并行性与并发性;解释了线程的原理及其相对......