机器学习框架(长期更新)

来源:互联网 发布:苹果a1530支持什么网络 编辑:程序博客网 时间:2024/05/02 04:59

@这段时间迅速的看了一下台大李弘毅的机器学习课程,虽然是1.5倍速+快进看的,不过收获还是蛮多的,特此写篇博客整理一下。以下是大体结构,当然机器学习的界限感觉不很明显,或者我的层次还达不到,比如机器学习里的半监督学习的生成模型在深度学习里卖就是深度生成模型,总而言之,暂时按照以下大纲来学习吧!


  • 一监督学习
    • 回归算法
      • 1概述
      • 2常用算法
      • 3参考文献
    • 基本分类算法
      • 1概述
      • 2常用算法
      • 3参考文献
    • 结构化预测
      • 1概述
      • 2常用算法
      • 3参考文献
      • 4算法应用
    • 集成学习
      • 1概述
      • 2常用算法
      • 3参考文献
  • 二半监督学习
    • 总览
      • 1概述
      • 2参考文献
  • 三无监督学习
    • 综述
      • 1常用算法
      • 2参考文献
    • 词嵌入
      • 1概述
      • 2常用算法
      • 3参考文献
      • 4算法应用
    • 近邻嵌入降维
      • 1概述
      • 2常用算法
      • 3参考文献
    • 自编码器
      • 1概述
      • 2常用算法
      • 3参考文献
    • 生成模型
      • 1概述
      • 2常用算法
      • 3参考文献
      • 4算法应用
  • 四强化学习
    • 总览
      • 1概述
      • 2常用算法
      • 3参考文献
    • 模仿学习
      • 1参考文献
  • 五迁移学习
    • 总览
      • 1概述
      • 2常用算法
      • 3参考文献
      • 4算法应用
  • 六深度学习
    • BP神经网络
    • 卷积神经网络
    • 循环神经网络
      • 常用算法
    • 递归神经网络
    • highway网络
    • 残差网络
    • 参考文献


(一).监督学习

利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。通俗的讲,监督学习针对的是已知类别的样本

1.回归算法

(1).概述

用已知样本对未知公式参数的估计,给出一个点集D,用一个函数去拟合这个点集,并且使得点集与拟合函数间的误差最小,如果这个函数曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归。

(2).常用算法

随机森林
梯度提升算法(GBM)
线性回归
岭回归
Lasso
支持向量回归

(3).参考文献

概述:http://www.cnblogs.com/bigdatafly/p/5618453.html
回归技术:http://www.jianshu.com/p/15dd20f8d02c
应用:http://blog.csdn.net/liulingyuan6/article/details/53637764

2.基本分类算法

(1)概述

所谓分类分类,简单来说,就是根据文本的特征或属性,划分到已有的类别中。

(2)常用算法

逻辑回归
决策树
贝叶斯
人工神经网络
支持向量机(SVM)
k-最近邻法
基于关联规则的分类

(3).参考文献

http://www.cnblogs.com/bigdatafly/p/5618453.html

3.结构化预测

(1).概述

(wiki)Structured prediction or structured (output) learning is an umbrella term for supervised machine learning techniques that involves predicting structured objects, rather than scalar discrete or real values.

(2).常用算法

Conditional random field(条件随机场)
Structured support vector machine(结构化SVM)
Structured k-Nearest Neighbours(结构化KNN)
Recurrent neural network, in particular Elman networks (SRNs)

(3).参考文献

概述:http://blog.csdn.net/lansatiankongxxc/article/details/13979595
https://en.wikipedia.org/wiki/Structured_prediction

(4).算法应用

语音辨识、翻译、文法剖析、位置监测、总结

4.集成学习

(1).概述

集成学习的思路是在对新的实例进行分类的时候,把若干个单个分类器集成起来,通过对多个分类器的分类结果进行某种组合来决定最终的分类,以取得比单个分类器更好的性能。如果把单个分类器比作一个决策者的话,集成学习的方法就相当于多个决策者共同进行一项决策。

(2).常用算法

boosting:AdaBoost
bagging

(3).参考文献

算法:http://www.cnblogs.com/pinard/p/6131423.html

(二).半监督学习

1.总览

(1).概述

半监督学习(Semi-Supervised Learning,SSL)是模式识别和机器学习领域研究的重点问题,是监督学习与无监督学习相结合的一种学习方法。半监督学习使用大量的未标记数据,以及同时使用标记数据,来进行模式识别工作。

(2).参考文献

概述:http://blog.csdn.net/mousever/article/details/51526540

(三).无监督学习

现实生活中常常会有这样的问题:缺乏足够的先验知识,因此难以人工标注类别或进行人工类别标注的成本太高。很自然地,我们希望计算机能代我们完成这些工作,或至少提供一些帮助。根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题,称之为无监督学习。无监督学习里典型例子是聚类。(摘自百度百科)

1.综述

(1).常用算法

聚类算法一般有五种方法,最主要的是划分方法和层次方法,密度方法两种。划分聚类算法通过优化评价函数把数据集分割为K个部分,它需要K作为
输人参数。典型的分割聚类算法有K-means算法,
K-medoids算法、CLARANS算法。层次聚类由不同层次的分割聚类组成,层次之间的分割具有嵌套的关系。它不需要输入参数,这是它优于分割聚类
算法的一个明显的优点,其缺点是终止条件必须具体指定。典型的分层聚类算法(HAC)有BIRCH算法和CURE算法等。基于密度的方法有DBSCAN算法。

(2).参考文献

概述:http://blog.csdn.net/summer_upc/article/details/51475512
聚类方法汇总:
http://blog.csdn.net/king523103/article/details/49128231
http://www.tuicool.com/articles/Vnu6f2E
无监督方法:https://www.zhihu.com/question/34554321

2.词嵌入

(1).概述

Word Embedding,即词嵌入,使用低维、稠密、实值的词向量来表示每一个词,从而赋予词语丰富的语义含义,并使得计算词语相关度成为可能。

(2).常用算法

Word2Vec

(3).参考文献

原理:http://licstar.net/archives/328
解释:http://blog.csdn.net/jdbc/article/details/49467239
参考:
http://www.cnblogs.com/neopenx/p/4571996.html
https://www.52ml.net/20624.html
https://wenku.baidu.com/view/252bb03477c66137ee06eff9aef8941ea66e4b42.html
http://blog.csdn.net/mytestmy/article/details/38612907
应用:
https://www.zhihu.com/question/25269336

(4).算法应用

NLP(自然语言处理)

(引用)我非常满意的一个应用是把word2vec应用在用户app下载序列上,根据用户下载app的顺序,把app看做单词,也是可以形成这样的序列数据,进而训练处每个app对应的向量。利用这个向量计算app之间的相似度,效果非常好,能够把真正内容相关的app聚合在一起,同时规避热门app的影响。类似的场景应该还有很多,而且应用也很广泛,比如说推荐系统、广告系统都可以用上。

3.近邻嵌入+降维

英文:neighbor embedding
这里近邻嵌入主要讨论t-distributed stochastic neighbor embedding(t-SNE)

(1).概述

首先引入流行学习:
假设数据是均匀采样于一个高维欧氏空间中的低维流形,流形学习就是从高维采样数据中恢复低维流形结构,即找到高维空间中的低维流形,并求出相应的嵌入映射,以实现维数约简或者数据可视化。它是从观测到的现象中去寻找事物的本质,找到产生数据的内在规律。
如下图,流形学习就是要把左图降维到二维平面,产生右图,其中,左图中的点之间的距离不能准确衡量点之间的关系,而降维后右图中点的关系可直接用距离来衡量。
这里写图片描述

(2).常用算法

常用的降维方法如下图所示。
这里写图片描述
(t-SNE)是一种机器学习中新的降维方法,是由Laurens van der Maaten 和Geoffrey Hinton提出的。这是一种将高维数据降维到两维后者三维的非线性降维方法,并且可以通过点可视化出来。这个方法在DeepLearning4J的官方文档中有提到,在训练一个高维数据的时候,有助于我们观察数据。
t-SNE算的两个核心思想:第一,t-SNE构建了一个概率分布,这个概率分布的含义是相似的高维数据点具有高概率be picked,而差异比较大的点被picked的概率低。第二,t-SNE在低维图中这些点上定义了一个概率分布,最大限度地减少了两个高维点在低维图上的相对熵。

(3).参考文献

https://indico.io/blog/visualizing-with-t-sne/
https://indico.io/blog/visualizing-with-t-sne/
http://blog.csdn.net/earl211/article/details/52180250

4.自编码器

(1).概述

这里写图片描述
上图中,虚线蓝色框内就是一个自编码器的基本模型,它由编码器(Encoder)和解码器(Decoder)两部分组成,本质上两者都是对输入信号做某种变换。编码器将输入信号x变换成编码信号y,而解码器是将编码信号y转换成输出信号。即y=f(x)=g(y)=g(f(x))而整个自编码器的目的就是,让最终的输出信号尽可能的复现输入x。

(2).常用算法

稀疏自编码(SAE)
降噪自编码
收缩自编码
栈式自编码
深度置信网络
卷积自编码(CAE)(李弘毅教授讲的可以)

(3).参考文献

概述:
http://www.cnblogs.com/caocan702/p/5665972.html
http://www.cnblogs.com/sxron/articles/5836000.html
http://www.cnblogs.com/caocan702/p/5666175.html
http://blog.csdn.net/hjimce/article/details/49106869
http://www.jianshu.com/p/ec40175dcba7
https://wenku.baidu.com/view/5306a872dd88d0d232d46ad1.html

5.生成模型

(1).概述

生成模型,尝试在同一时间创建一个分类(识别器或编码器)网络和一个生成图像(生成模型)模型。

(2).常用算法

PixelRNN
VAE
GAN(生成对抗网络):当前最火的ai算法之一

(3).参考文献

http://blog.csdn.net/boon_228/article/details/51718401
http://www.cnblogs.com/huangshiyu13/p/6209016.html
http://blog.csdn.net/sinat_26917383/article/details/54233599
http://www.dataguru.cn/article-10933-1.html

(4).算法应用

图像超分辨率
数据合成(Apple)
图像到图像的翻译+文本到图像的翻译
人脸去遮挡

(四).强化学习

1.总览

(1).概述

强化学习(reinforcement learning),又称再励学习、评价学习,所谓强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcement learning system)如何去产生正确的动作。
简单的来说就是老师让小明做作业,不告诉小明作业怎么做,只告诉小明做的好还是坏,然后小明根据老师的评价修改自己的作业。
这里写图片描述

(2).常用算法

这里写图片描述

(3).参考文献

http://blog.csdn.net/songrotek/article/details/51378582
http://blog.csdn.net/songrotek/article/details/50580904
http://blog.csdn.net/songrotek/article/details/50572935
https://zhuanlan.zhihu.com/p/25239682

2.模仿学习

(1).参考文献

https://zhuanlan.zhihu.com/p/25688750

(五).迁移学习

1.总览

(1).概述

使用深度学习技术解决问题的过程中,最常见的障碍在于训练模型过程中所需的海量数据。需要如此多的数据,原因在于机器在学习的过程中会在模型中遇到大量参数。在面对某一领域的具体问题时,通常可能无法得到构建模型所需规模的数据。然而在一个模型训练任务中针对某种类型数据获得的关系也可以轻松地应用于同一领域的不同问题,这就是所谓的迁移学习。

(2).常用算法

这里引用李弘毅教授的ppt来展示。
这里写图片描述

(3).参考文献

概述:
http://blog.csdn.net/tiandijun/article/details/40261895
http://www.jos.org.cn/html/2015/1/4631.htm#outline_anchor_2
(迁移学习国内的参考文献比较少,但是迁移学习也是很热门的一个方向)

(4).算法应用

文本分类、文本聚类、情感分类、图像分类、协同过滤、基于传感器的定位估计、人工智能规划等.

(六).深度学习

1.BP神经网络

2.卷积神经网络

3.循环神经网络

1.常用算法

LSTM
GRU

4.递归神经网络

5.highway网络

6.残差网络

7.参考文献:

https://www.zhihu.com/question/34681168

原创粉丝点击