机器学习

1.迁移学习:比如原有的图像识别的网络可以用于新的方向

2.循环神经网络(RNN):写作,写论文,情绪识别(主要在语音识别领域运用广泛),主要是分析序列化数据

3.LSTM(long short term memory):比RNN更强

4.卷积神经网络(CNN):主要用于图像识别

5.生成对抗网络GAN(Generative Adversarial Nets):不是用来把数据对应上结果的,而是用随机数生成结果。用没有意义的随机数来生成有有意义的作品, 比如著名画作。

机器学习

新手画家用随机灵感画画 , 新手鉴赏家会接收一些画作, 但是他不知道这是新手画家画的还是著名画家画的, 他说出他的判断, 你来纠正他的判断, 新手鉴赏家一边学如何判断, 一边告诉新手画家要怎么画才能画得更像著名画家, 新手画家就能学习到如何从自己的灵感画出更像著名画家的画了. GAN 也就这么回事.

机器学习

Generator 会根据随机数来生成有意义的数据 , Discriminator 会学习如何判断哪些是真实数据 , 哪些是生成数据, 然后将学习的经验反向传递给 Generator, 让 Generator 能根据随机数生成更像真实数据的数据. 这样训练出来的 Generator 可以有很多用途, 比如最近有人就拿它来生成各种卧室的图片.

甚至你还能玩点新花样, 比如让图片来做加减法, 戴眼镜的男人 减去 男人 加上 女人, 他居然能生成 戴眼镜的女人的图片. 甚至还能根据你随便画的几笔草图来生成可能是你需要的蓝天白云大草地图片.

6.遗传算法

   6.1.有可能收敛于局部最优,而不能达到全局最优
    6.2.初始种群的数量很重要,如果初始种群数量过多,算法会占用大量系统资源;如果初始种群数量过少,算法很可能忽略掉最优解。
    6.3.对于每个解,一般根据实际情况进行编码,这样有利于编写变异函数和适应度函数(Fitness Function)
    6.4.在编码过的遗传算法中,每次变异的编码长度也影响到遗传算法的效率。如果变异代码长度过长,变异的多样性会受到限制;如果变异代码过短,变异的效率会非常低下,选择适当的变异长度是提高效率的关键。
    6.5.对于动态数据,用遗传算法求最优解比较困难,因为染色体种群很可能过早地收敛,而对以后变化了的数据不再产生变化
    6.6.遗传算法很快就能找到良好的解,即使是在很复杂的解空间中。
    6.7.遗传算法并不一定总是最好的优化策略
    6.8.遗传算法不能解决那些“大海捞针”的问题,所谓“大海捞针”问题就是没有一个确切的适应度函数表征个体好坏的问题,使得算法的进化失去导向
    6.9.适应度函数对于算法的速度和效果也很重要
    6.10.选择过程很重要,但交叉和变异的重要性存在争议

基因是01的任意排序

应用:进化出会自己闯关的马里奥, 自动驾驶的汽车, 还能模拟微生物的行为

 

7.进化策略

机器学习

DNA不再是01了。用到交叉配对, 一部分来自爸爸, 一部分来自妈妈。将爸妈遗传下来的值看做是正态分布的平均值, 再在这个平均值上附加一个标准差, 我们就能用正态分布产生一个相近的数了。

在进化策略中, 可以有两种遗传性系被继承给后代, 一种是记录所有位置的均值, 一种是记录这个均值的变异强度。

8.强化学习

可以分为model-free 和model-base RL

model-free:现在环境就是我们的世界, 我们的机器人正在这个世界里玩耍, 他不理解这个世界是怎样构成的, 也不理解世界对于他的行为会怎么样反馈.。Q learning, Sarsa, Policy Gradients 是典型的方法

model-base RL:机器人会通过过往的经验, 先理解真实世界是怎样的, 并建立一个模型来模拟现实世界的反馈, 最后他不仅可以在现实世界中玩耍, 也能在模拟的世界中玩耍。比model-free多的是为真实的世界建模(也就是多了一个虚拟环境) ,多了想象力,就像Alghgo一样能预测接下来的事情。

9.回归

经常讲回归,回归分析的目的是什么呢?

9.1做预测

9.2因子分析

10.scikit-learn方法选择,确定自己的目标是什么,选择相应的算法机器学习

监督学习:分类、回归

无监督学习:聚类

降维:能将20个特征值压缩为2个,这2个特征值包含了20个里面的所有性质(相当于把重要的信息提取的更好,不重要的信息就不要了。)

11.svm

SVM(Support Vector Machine)指的是支持向量机,是常见的一种判别方法。在机器学习领域,是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析

SVM的主要思想可以概括为两点:

  1. 它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能。

  2. 它基于结构风险最小化理论之上在特征空间中构建最优超平面,使得学习器得到全局最优化,并且在整个样本空间的期望以某个概率满足一定上界。

说人话就是:一维情况下不可分,我就把你变成2维,这样就可以对你进行分类了。简单地说,就是升维和线性化。升高维度往往意味着计算复杂,svm应用核函数的展开定理避开了这个问题。

核函数的确定并不困难,满足Mercer定理的函数都可以作为核函数。

一般特征

 

⑴SVM学习问题可以表示为凸优化问题,因此可以利用已知的有效算法发现目标函数的全局最小值。而其他分类方法(如基于规则的分类器人工神经网络)都采用一种基于贪心学习的策略来搜索假设空间,这种方法一般只能获得局部最优解。

⑵SVM通过最大化决策边界的边缘来控制模型的能力。尽管如此,用户必须提供其他参数,如使用核函数类型和引入松弛变量等。

⑶通过对数据中每个分类属性引入一个哑变量,SVM可以应用于分类数据。

⑷SVM一般只能用在二类问题,对于多类问题效果不好。

选择不同的核函数,可以生成不同的SVM,常用的核函数有以下4种:

⑴线性核函数K(x,y)=x·y;

⑵多项式核函数K(x,y)=[(x·y)+1]^d;

径向基函数K(x,y)=exp(-|x-y|^2/d^2)(高斯核函数)

⑷二层神经网络核函数K(x,y)=tanh(a(x·y)+b).