Data Mining Machine Learning 基础算法笔记

Data Mining Machine Learning 基础算法笔记

最近要面试,准备把机器学习的一些基本方法再回顾一下。

关联规则

Apriori

算法名字里面显示它会使用先验知识。
算法步骤如下:
1,先扫描数据库, 统计每个项的出现次数。
2,收集满足最小支持度的项,记为 L 1 L_1 L1
3,使用 L 1 L_1 L1找出频繁2项集的集合 L 2 L_2 L2
4,依次下去,知道不能再找到频繁K项集。

回归分析

线性回归

决策树回归

回归树中,采用的是启发式的方法。假如我们有n个特征,每个特征有si(i∈(1,n))个取值,那我们遍历所有特征,尝试该特征所有取值,对空间进行划分,直到取到特征j的取值s,使得损失函数最小,这样就得到了一个划分点。

线性回归与逻辑回归的联系

逻辑回归(Logistic Regression)是线性回归的一个推广。线性回归求的是给定输入下的一个值,而逻辑回归求的是一个概率。由于线性回归的值域在[负无穷,正无穷], 而概率的范围是[-1, 1]。我们就引入了 Sigmoid函数对线性回归的参数进行了包装。
P = σ ( θ ⊤ ∗ X b ) P = \sigma(\mathbf{\theta}^\top * X_b) P=σ(θXb)
区别就在这一个 σ \sigma σ Sigmoid 函数。
我们的目标则是对于给定的样本X,y 我们如何找到参数 θ \theta θ使得用这样的方式可以最大成都的获得样本数据集对应的分类输出y。
这个求解的过程就是极大似然函数。

分类

决策树

是一种类似于流程图的树结构,每个内部节点表示一个属性上的测试,每个分之代表该测试的一个输出, 每个树叶节点存放一个类标号。树的最顶层节点是根节点。
决策树容易转换成分类规则。
决策树为什么流行?决策树分类起的构造不需要任何领域知识或参数设置。
决策树依据信息熵来分类,剪枝步是用来防止过拟合。
ID3决策树算法 信息增益(Gain)
C4.5决策树算法 增益率(Gain_ratio)
CART决策树算法 Gini指数

朴素贝叶斯分类

为什么叫做朴素贝叶斯,因为假定都是等概率的。
其实是计算最大的后验假定, 这跟很多神经网络和曲线拟合的计算一样
大致就是计算每个假设在现有数据集上的效果,把每个假设相乘,然后挑选结果中最大的假设。

L0 L1 L2

L0范数是指向量中非0的元素的个数。
L1范数是指向量中各个元素绝对值之和.
L1范数和L0范数可以实现稀疏,L1因具有比L0更好的优化求解特性而被广泛应用。
L2范数
除了L1范数,还有一种更受宠幸的规则化范数是L2范数: ||W||2。它也不逊于L1范数,它有两个美称,在回归里面,有人把有它的回归叫“岭回归”(Ridge Regression),有人也叫它“权值衰减weight decay”。这用的很多吧,因为它的强大功效是改善机器学习里面一个非常重要的问题:过拟合。
L2范数是指向量各元素的平方和然后求平方根。我们让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0,这里是有很大的区别的哦。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。

支持向量机

SVM可以对线性和非线性数据进行分类。
SVM是一种非线性映射,把原驯良数据映射到较高维上, 在这个纬度上,它搜索最佳分离超平面,将数据在较高的纬度上分离开。使用训练集训练SVM模型,它会找到一根线(一个平面)把两个类分离的最大。这根线或者平面将用来分类实际的数据。

线性分类器与非线性分类器的区别?

所谓线性分类器即用一个超平面将正负样本分离开,表达式为 y=wx 。这里是强调的是平面。
而非线性的分类界面没有这个限制,可以是曲面,多个超平面的组合等。

逻辑回归

逻辑回归是在数据服从伯努利分布的假设下,通过极大似然的方法,运用梯度下降法来求解参数,从而达到将数据二分类的目的。
1, 极大似然
2, 梯度下降法
3, 二分类

逻辑回归作为一个回归函数,如何用于分类问题。 逻辑回归中,对于每个 x,其条件概率 y 的确是一个连续的变量。而逻辑回归中可以设定一个阈值,y 值大于这个阈值的是一类,y 值小于这个阈值的是另外一类。至于阈值的选择,通常是根据实际情况来确定,一般情况下选取 0.5 作为阈值来划分。

逻辑回归的损失函数是其极大似然函数。
损失函数:线性模型是平方损失函数,而逻辑回归则是似然函数。

极大似然函数无法直接求解,一般是通过对该函数进行梯度下降来不断逼近其最优解。这里需要注意的点是要对梯度下降有一定的了解,就梯度下降本身来看的话就有随机梯度下降,批梯度下降,small batch 梯度下降三种方式,面试官可能会问这三种方式的优劣以及如何选择最合适的梯度下降方式。

  • 批梯度下降会获得全局最优解,缺点是在更新每个参数的时候需要遍历所有的数据,计算量会很大,并且会有很多的冗余计算,导致的结果是当数据量大的时候,每个参数的更新都会很慢。

  • 随机梯度下降是以高方差频繁更新,优点是使得 sgd 会跳到新的和潜在更好的局部最优解,缺点是使得收敛到局部最优解的过程更加的复杂。

  • 小批量梯度下降结合了批梯度下降和随机梯度下降的优点,每次更新的时候使用 n 个样本。减少了参数更新的次数,可以达到更加稳定收敛结果,一般在深度学习当中我们采用这种方法。

随即森林分类

构建一堆决策树,让这一堆决策树做分类操作,最后结果取众数(最多的那个)
随机操作:数据选择的随机性
在建立决策树的时候不使用所有的样本,在建立某棵树的时候,只是用比如60%的随机的数据来建立
特征的随机性
不使用所有特征,随机使用几个特征。

Bootstraping: 有放回采样
Bagging: 有放回采样n个样本 一起建立分类器

聚类

K-Means

K-means 是一种基于形心的聚类方法。对于每个簇中的每个对象,求对象到其簇中心距离的平方,然后求和,得到新的中心,再计算其他点到这个中心的距离,依次迭代,当迭代次数达到设定值,或者误差小于阈值即停止。

DBSCAN

DBSCAN是一种基于密度的聚类方法。
DBSCAN需要指定两个参数,一个是半径大小,一个是最少对象数。一般情况下半径是不变的,这样可以密度就能由这个区域内的对象数来决定。如果一个对象的半径内包含了最小对象数,这个对象就是核心对象。DBSCAN要实现的就是使用核心对象和他的临域形成的稠密区域,这个稠密区域就是簇。

神经网络

后向传播神经网络

什么是神经网络?
神经网络是一组连接的输入和输出单元,每个连接都与一个权重关联。这个权重就是神经网络的参数。这个网络可以认为是一种无向的贝叶斯网络。
为什么叫后向传播?
首先什么是前向传播?前向传播相当于预测,基于你设定的参数,用输入去预测输出。这样的预测通常情况下不准,并且不好提升。
为了更好的提升预测结果,我们用后向传播。
后向传播是通过错误率来提升预测效果的。把训练集放到神经网络里面按照初始的参数进行预测,结果肯定有很多错误。这些错误是根据目前的参数来决定的,所以能够把这些参数通过一定的方法写成一个函数,中间的隐藏层用来预测结果的函数就叫激活函数(Activation function),一般用sigmoid函数来做,它可以把一个较大的输入值压缩到0和1的区间里面。这样通过梯度下降的方来来找到这个函数的最优解,就能提高预测的准确率了。

CNN为什么用两个3*3不用一个5*5的卷积核?

降低参数量的同时减轻了过拟合

神经元的可训练参数

总的参数数量 = 输入长度 * 该层神经元的个数 + 偏置(数量为该层神经元个数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值