首先,机器学习算法的分类:
1、 监督式学习
工作机制:用有正确答案的数据来训练算法进行机器学习。
代表算法:回归、决策树、随机森林、K – 近邻算法、逻辑回归,支持向量机等。
2、非监督式学习
工作机制:训练数据没有标签或者答案,目的是找出数据内部的关联和模式,趋势。
代表算法:关联算法和 聚类算法。
3. 半监督学习
工作机制:结合(少量的)标定训练数据和(大量的)未标定数据来进行学习
代表算法: GANs(生成式对抗网络算法)
4、强化学习
工作机制:给予算法一个不断试错,并具有奖励机制的场景,最终使算法找到最佳路径或者策略。
代表算法:马尔可夫决策过程,AlphaGo+Zero, 蒙特卡洛算法
详细介绍(一点点,以后再修改):
1、回归
什么叫线性回归?
线性回归问题就是试图学到一个线性模型尽可能准确地预测新样本的输出值
例如:通过历年的人口数据预测2017年人口数量。
在这类问题中,往往我们会先得到一系列的有标记数据,例如:2000–>13亿…2016–>15亿,这时输入的属性只有一个,即年份;也有输入多属性的情形,假设我们预测一个人的收入,这时输入的属性值就不止一个了,例如:(学历,年龄,性别,颜值,身高,体重)–>15k。
我们要做到的是让预测值尽量逼近真实值,做到误差最小,而均方误差就是表达这种误差的一种,所以我们要求解多元线性回归模型,就是要求解使均方误差最小化时所对应的参数:
其中w*为模型对应的解,即使得均方误差函数最小化时的权重向量。
可以用最小二乘法对模型的参数进行估计,具体做法是:损失函数对需要求解的参数进行求导,并且令其导数为0,求得相应的参数。
2、决策树(Decision Tree)
决策树归纳的基本算法是贪心算法,它以自顶向下递归各个击破的方式构造决策树。
贪心算法:在每一步选择中都采取在当前状态下最好/优的选择。
在其生成过程中,分割方法即属性选择度量是关键。通过属性选择度量,选择出最好的将样本分类的属性。
根据分割方法的不同,决策树可以分为两类:
基于信息论的方法(较有代表性的是ID3、C4.5算法等)
最小GINI指标方法(常用的有CART、SLIQ及SPRINT算法等)。
3、随机森林Random Forest
在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。 而 "Random Forests" 是他们的商标。 这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合 Breimans 的 "Bootstrap aggregating" 想法和 Ho 的"random subspace method"以建造决策树的集合。
-
用N来表示训练用例(样本)的个数,M表示特征数目。
-
输入特征数目m,用于确定决策树上一个节点的决策结果;其中m应远小于M
-
从N个训练用例(样本)中以有放回抽样的方式,取样N次,形成一个训练集(即bootstrap取样),并用未抽到的用例(样本)作预测,评估其误差。
-
对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的。根据这m个特征,计算其最佳的分裂方式。
-
每棵树都会完整成长而不会剪枝,这有可能在建完一棵正常树状分类器后会被采用)。