深度学习

  • 监督学习(Supervised learning)
    • 监督学习分类
  • 无监督学习(Non-supervised learning)
    • 无监督学习的算法
    • 无监督学习使用场景
  • 术语
    • 特征值
    • 特征向量
    • 特征工程(Feature engineering)
    • 特征缩放
    • Sigmod function
    • 决策边界
    • 激活函数
    • 过拟合/欠拟合
    • 逻辑回归算法
    • 多类(mutil-classes)分类与多标签(multi-lable)分类
    • 卷积层(Convolutional Layer)
    • 前向传播算法(forward propagation)
    • 反向传播算法(back propagation)
    • 计算图(computation graph)
    • Training Set/ Validation Set/ Test Set
    • 高偏差/和高方差
    • 正则化项(Lambda)
    • 基准性能水平
    • 学习曲线(learning curves)
    • 数据增强(data augmentation)
    • 迁移学习(Transfer learning)
    • 准确率/召回率(Precision/recall)
    • 调和平均数(harmonic mean)
    • 熵(Entrop)
    • 信息增益(Information Gain)
    • one-hot enconding
    • 置换抽样(Sampling with replacement)
    • 随机森林算法(random forest algorithm)
    • clustering(聚类)
    • K-means algorithm(K-均值算法)
    • Anomaly Detection algorithm(异常检测)
    • recommend system
    • Collaborative filtering(协同过滤算法)
    • Mean Normalization (均值归一化)
    • Content-based filtering(基于内容的过滤算法)VS协同过滤算法
    • Principal Components Analysis(PCA)(主成成分分析)
    • 强化学习(Reinforcement Learning )
      • 回报(Return)
      • 折扣因子
      • Policy(控制器/决策)
      • Markov Decision Process(MDP)
      • QSA(action-value function)
      • Bellman Equation(贝尔曼方程)
  • 详细学习参考:吴恩达老师的机器学习课程视频。

监督学习(Supervised learning)

计算机通过示例进行学习,它从过去的数据进行学习,并将学习结果应用到当前数据中,以预测未来事件,在这种情况下,输入和期望的输出数据都有助于预测未来事件。

监督学习分类

  • 回归(regressing)模型
    通过一系列的训练集,训练出回归算法,来预测新的数据。常见的回归算法有线性回归、逻辑回归、多项式回归和脊回归。
  • 分类(classification)模型
    分类模型可以对输出的变量进行分类,例如:“是“”否“,用于预测数据的类别。比如垃圾邮件检测、情绪分析。

在现实生活中的一些应用有:
文本分类

  • 垃圾邮件检测
  • 天气预报
  • 根据当前市场价格预测房价
  • 股票价格预测等
  • 人脸识别
  • 签名识别
  • 客户发现

无监督学习(Non-supervised learning)

它的本质上是一种统计手段,在没有标签的数据里可以发现潜在的一些结构的一种训练方式。主要具备三个特点:1.没有明确的目的。2.不需要给数据打标签。3.无法量化效果。

无监督学习的算法

  • 聚类
    简单说就是一种自动分类的方法,在监督学习中,你很清楚每一个分类是什么,但是聚类则不是,你并不清楚聚类后的几个分类每个代表什么意思
  • 降维
    降维看上去很像压缩。这是为了在尽可能保存相关的结构的同时降低数据的复杂度。

无监督学习使用场景

  • 发现异常

有很多违法的行为都需要”洗钱“,这些洗钱行为跟普通用户的行为是不一样的,到底哪里不一样?
如果通过人为去分析是一件成本很高很复杂的事情,我们可以通过这些行为特征对用户进行分类,这样容易能找到行为异常的用户,然后再深入分析他们的行为到底哪里不一样,是否属于违法洗钱的范畴。

通过无监督学习,我们可以快速把行为进行分类,虽然我们不知道这些分类意味着什么,但是通过这种分类,可以快速排出正常的用户,更有针对性的对异常行为进行深入分析。

  • 用户细分

这对于广告平台很有意义,我们不仅按照用户的性别、年龄、地理位置等维度对用户进行细分,还可以通过用户的行为对用户进行分类。以便为用户推荐个性化内容。

  • 推荐系统
    淘宝天猫推荐系统,根据用户的购买行为和浏览行为推荐一些相关产品,有些商品是通过无监督学习的聚类推荐出来的。

术语

特征值

每个数据都有自己的属性,这个独特的属性就是特征值。

特征向量

多个特征值所组成的向量。

特征工程(Feature engineering)

通过变换或者组合原特征值,使用直觉去设计新的特征值的工程。
根据长和宽,来设计area面积。

特征缩放

因为某些属性的数值过大或过小,影响梯度计算,因此要通过放大或所想来修改特征值到合适的位置。

Sigmod function

通过该函数,可以控制输出值在0~1之间。

决策边界

决策边界有线性的也有非线性的,可有sigmod function函数得来。


激活函数

过拟合/欠拟合

过拟合是训练集训练出来的模型,过于贴合实际数据,导致估计值不准确。


如何解决过拟合的问题呢?

  1. 有更多训练集

  2. 过多特征但训练集少(删除相应特征,缩小大特征的影响)

  3. 正则化(惩罚所有w值,保证值没有太大偏差)

逻辑回归算法

  • 逻辑回归函数
  • 逻辑回归的成本函数(使用交叉熵来写),aj越接近1,说明估计成本越小。
  • 左边是简单的二元分类函数;右边是Siftmax函数,解决多分类的回归问题。

多类(mutil-classes)分类与多标签(multi-lable)分类

mutil-classes classifition 类似于识别一个数字是几,只能是0~9中的一个数字,输出结果是一个数字。
而multi-lable classifition 是一个识别多种标签的问题,输出是一个向量。

卷积层(Convolutional Layer)

每个神经元只查看输入图像区域的层级,称为卷积层。

卷积神经网络:

前向传播算法(forward propagation)

通过输入值,假设w和b,一步一步往后计算。

反向传播算法(back propagation)

根据前向传播算法的值,从后往前求偏导

计算图(computation graph)

描述计算过程的图像

Training Set/ Validation Set/ Test Set

训练集:用来训练w,b的参数。生成w,b。
交叉验证集、开发集、验证集:用来选择具体的模型。生成d。
测试集:要有泛化评估能力,不能参与参数生成。

高偏差/和高方差


左图是高偏差,右图是高方差。


  • 高偏差不能只增大训练集数据量,没用!!
  • 高方差可以增加训练集的数据量,来减小Jcv!!!

针对高方差和高偏差的解决方法:


如何

正则化项(Lambda)

正则化可以调整参数的权重,从而影响fit的效果。

Lambda越大,算法越试图保持平方项越小,正则化项的权重越大,对训练集实际的表现关注越少。(欠拟合);Lambda越小,越过拟合。

基准性能水平

可以合理的希望学习算法最终达到的误差水平;建立基准性能水平常见的是:衡量人在这项任务上的表现;或者是对比其他相似的算法。

学习曲线(learning curves)

为什么训练集越大,训练集的损失函数越大?
以右面的图为例:数据越多,二次函数越难拟合数据,只有一个数据时,能完美拟合,但当数据越来越越多,损失函数就越大。
为什么验证集的损失函数越来越小呢?
因为训练集越大,越可能准确,因此验证集的损失函数会变小。

数据增强(data augmentation)

通过修改已有的数据,(图片放缩,反转,透视变换、扭曲失真)或者音频变换(添加背景噪音)来变成新的样例。通过这些方法,可以获得更多数据。

迁移学习(Transfer learning)

将别人训练好的模型和网络(包括参数,但不包括output layer的参数,因为结果不一样),完全复制过来,由于output lunits 不同,所以w5,b5不能用,因此用前4组w,b训练第五组‘或者仅仅复制网络,参数自己训练。

方法一:适用训练集较少的情况,数据不够。
方法二:使用训练集较多的情况,数据量充足,自己训练更好。


迁移学习的步骤:

准确率/召回率(Precision/recall)

(稀有病的预测)
Precision:预测的稀有病的准确率,如下表:(越高越好)
recall():在所有得病的人群中,被检测出有病的概率。越高越好。


如何权衡精度与召回率之间的关系:
高精度:更偏向于信任True
高召回:更偏向信任False

调和平均数(harmonic mean)

这种mean更加倾向于较小的平均数:


熵(Entrop)

表示一个样本的混乱程度,熵越大,样本越混乱,越不纯。

信息增益(Information Gain)

P96
熵的减少/减少杂质/增大纯度称为信息增益。
在构建决策树中,如何选择特征先后?如何停止构建树?
根据信息增益的大小,信息增益越大,越先选择这个特征,当信息增益特别小时,就不在构建树。
下图是分类问题构建决策树,优先构建0.28


下图是决策树对回归问题的泛化:

one-hot enconding

适用于决策树的一种编码方式 。通过将特征设置为0、1,来构建决策数。

置换抽样(Sampling with replacement)

有放回的随机抽样。

随机森林算法(random forest algorithm)

假如有n个特征,随机选取k = 根号n个特征,根据k个特征,构建决策树模型,这样构建出多个决策树模型,叫做随机森林。

clustering(聚类)

聚类属于无监督算法,目的是在无规则的数据中,找出隐藏的联系,然后将数据分类,但是我们并不知道分类的结果对不对。

K-means algorithm(K-均值算法)

聚类的典型算法之一,算法的主要思想:
1.随机选取k个点,作为k个聚簇的质心,分别计算每个数据到该质心的距离
2.重新把数据分配到距离他们最近的质心,根据重新的分组,计算每个聚簇的新质心。
3.重复上面两步骤。


K-means 的成本函数,又叫失真函数。

Elbow method:选择合适的集群的一种方法

Anomaly Detection algorithm(异常检测)

通过数据集把正常的数据,控制在一个范围,超过这个范围的数据,就有可能产生问题,我们就需要注意一下,对该数据进行更加细致的检测。
如下图,绿色数据,就是异常的数据,需要对它特殊检测。



使用Gussian分布来构建异常检测系统:


如何对异常检测算法进行评估:

recommend system

推荐系统:类似于购物网站、电影网站的推荐界面。
如何使用推荐系统预测参数呢?

推荐系统的单用户cost function:

推荐系统的所有用户之和的cost function:

Collaborative filtering(协同过滤算法)

从多个用户来收集数据,用户之间的这种协作可以帮助您预测未来甚至其他用户的评分

用已知的数据,对推荐系统的w,b,x一起学习。
以下为成本函数:

此时梯度下降:x也是一个参数

将回归问题推广到二进制标签的分类问题。

Mean Normalization (均值归一化)

Content-based filtering(基于内容的过滤算法)VS协同过滤算法

Principal Components Analysis(PCA)(主成成分分析)

当特征太多时,几十、上百、上千个特征时,我们可以利用PCA来减少特征至2-3个,从而可以绘图分析数据。

强化学习(Reinforcement Learning )

强化学习通过类似于奖励机制的算法,走对了加分,走错了减分,来让机器自动学习一套比较完美的行为。

回报(Return)

获得奖励的效率。获得奖励越早,回报越高。

折扣因子


获得奖励越晚,折扣因子的作用越明显。

Policy(控制器/决策)

用来决定做什么决策的算法。

Markov Decision Process(MDP)

对未来的决策只取决于当前状态而不取决于当前状态之前的任何环境;只关注你现在的状态,而不关注你是如何到达这里的。

QSA(action-value function)

用来描述当前动作价值的函数。

Bellman Equation(贝尔曼方程)


增加了控制概率(失步概率)的贝尔曼模型:

详细学习参考:吴恩达老师的机器学习课程视频。

【(强推|双字)2022吴恩达机器学习Deeplearning.ai课程】

深度学习基础知识扫盲相关推荐

  1. 基于人脸的常见表情识别(1)——深度学习基础知识

    基于人脸的常见表情识别(1)--深度学习基础知识 神经网络 1. 感知机 2. 多层感知机与反向传播 卷积神经网络 1. 全连接神经网络的2大缺陷 2. 卷积神经网络的崛起 卷积神经网络的基本网络层 ...

  2. 深度学习基础知识(八):神经网络基础之导数

    这个专栏主要是想和大家分享一下深度学习的基础知识,主要是以吴恩达老师深度学习课程内容作为基础,并补充了很多其他内容希望让整体内容更加容易理解和系统化.如果想要了解具体专栏里面有什么内容的话,可以看一看 ...

  3. 深度学习基础知识每日更 upupup

    深度学习基础知识点总结 提示:菜鸟入门日记,若总结有错误,各路大佬多多指教! 文章目录 深度学习基础知识点总结 Looking for my friends 一.零散知识点 1.网络拼接和相加的区别 ...

  4. 深度学习基础知识介绍

    背景知识 深度学习又是如何运作的呢? 神经网络 训练神经网络 如何减小损失函数呢? 小结 这是一篇Medium上获得近2万赞的深度学习入门指南,用图文为你详解深度学习中的各个基础概念. 在我们的日常生 ...

  5. 深度学习基础知识整理

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/kwame211/article/details/81165381 本文是在七月的BAT机器学习面试1 ...

  6. 【深度学习基础知识 - 28】三维重建中的点云、体素、mesh

    点云.体素和mesh都是三维重建中常用的三维物体的表示方法. 1. 点云 1.1 点云的概念 点云是不规则的数据结构,就是用一堆点来表示物体,这种方法的限制是点与点之间没有联系,缺乏物体的表面信息. ...

  7. 【深度学习基础知识 - 25】提升模型泛化能力的方法

    提升模型泛化能力的方法 从数据角度上来说.可以通过数据增强.扩充训练集等方法提高泛化能力. 在训练策略上,可以增加每个batch size的大小,进而让模型每次迭代时见到更多数据,防止过拟合. 调整数 ...

  8. 【深度学习基础知识 - 07】BN的原理和作用

    Batch Normalization也是深度学习中的一个高频词汇,这篇文章将会对其做一个简单介绍. 目录 1. BN的原理 2. BN的作用 3. BN层的可学习参数 4. infer时BN的处理 ...

  9. 【深度学习基础知识 - 46】贝叶斯定理与条件概率公式

    基本定理 贝叶斯基于概率论中的贝叶斯定理,贝叶斯定理就是用先验概率和条件概率求出最终的事件概率. 贝叶斯网络可以理解为将模型看作是一个概率密度函数,它可以表示数据的分布,训练过程就是概率分布的参数估计 ...

  10. 【深度学习基础知识 - 21】加快模型训练速度的方法

    在深度学习任务中,虽然可以通过堆叠参数.设计更复杂的结构来提高模型的表征能力,但这也会导致模型的计算量增加,训练时间延长,大大降低模型的产出效率.这篇文章根据博主的经验简单介绍一些加快模型训练速度的方 ...

最新文章

  1. 一分钟理清Mysql的锁类型——《深究Mysql锁》
  2. python数字图像处理(1):环境安装与配置
  3. 【vue-number-scroll】数字逐渐增加或者减少的滚动解决方案
  4. 基于FPGA的直流电机PWM控制+毕业论文
  5. 部署webservice到远程服务器
  6. 最难面试IT公司的测试题
  7. 机器学习接口代码之 Ridge、Lasso、Elasitc Net
  8. linux 安装swoole
  9. JAVA如何比较两个数组是否相等?
  10. short类型占16位,可以赋给short类型的最大值32767,最小值为-32768
  11. SaasSaaS架构设计之构建Multi-Tenant应用
  12. 324.摆动排序II
  13. 虚拟主机与云服务器的区别
  14. Windows 10用的免费HEVC/H265解码器(转发)
  15. oracle优化日记脚本
  16. Delphi中使用Imageen控件将图像文件转换成PDF
  17. jquery的odd和even
  18. 加仓减仓口诀_加仓减仓口诀
  19. 架构师说低代码:走出半生,归来仍是“毒瘤”!
  20. ACM大量习题题库及建议培养计划

热门文章

  1. Google悄然撤下PageRank PR值退出历史舞台
  2. 改变金融行业的区块链应用具体体现在哪里?
  3. gitlab本地Centos 7 服务器搭建
  4. 两家“创业”公司走到了一起,Data+与Data Fabric殊途同归
  5. 搜狗笔试题(请高手们提供牛逼答案)
  6. 怎么给图片去底色?这几个方法一定要知道
  7. 秋招Java开发----牛客刷题错题总结
  8. android怎么去掉最上面的app名字
  9. excel中宏与VBA的关系
  10. JQuery中文字下拉显示