Python ML

决策树(Decision Tree):得到有终止块的流程图

前言:
信息熵的来源,1是概率的单调减函数;2是对于相互独立的随机变量,同时观察两个变量的信息量和分别观察的结果相同,即h(x+y) = h(x) + h(y),因此设计了h = -log(P(x)),而这个对数的底通常是2,《数学之美》上认为是一般的判断规律是二分法的缘故。进一步,一个事件总的信息量就是每一种可能的情况的信息量乘以它们发生的概率,其实就是信息量的数学期望,即H = -sum{P*logP}
另一种度量无序程度的方法是基尼不纯度(Gini impurity),以后研究 … …
信息增益为熵的减少或数据无序度的减少
原理:
训练和检测都是使用了递归的处理方法,递归的感觉还不是很熟;使用了python中的字典结构存储的树!
使用信息增益最优化确定各特征作为分支的先后,对于叶子取待处理的样本中出现次数最多的类别作为叶子的类别,如果都是一个类别,就不管之后还有哪些特征了,直接输出一个类别就好
而检测时,按照树的特征顺序来给出特征向量的类别,基于样本集的最大可能的类别
这里我们使用的DT算法叫ID3,该算法不能很好处理数值型数据,即使我们可以将其转化为标称型,另一种CART算法之后介绍,流行的DT算法有C4.5和CART
当出现过多的数据集划分时,对这种可能的过度匹配的问题,我们可以通过裁剪的方法合并相邻且无法产生大量信息增益的叶节点,以解决这种问题!
优点:
结果易于理解,复杂度不高
缺点:
可能会产生过匹配问题,不能给出其结果的可能性,适用于标称型数据

逻辑回归(Logistic Regression)

——最优化算法
前言:
用现有数据对分类边界建立回归公式,进行分类 -> 回归,最佳拟合
梯度上升和梯度下降,±号不同,逻辑回归中的梯度上升原理:
特征缩放(Feature Scaing)和均值归一化(Mean Normalization)、特征选择和多项式回归
学习率(步长)α:当过小会导致收敛速度慢;过大时可能不会在每次迭代中下降,甚至不收敛
收敛的判断可以通过代价函数或者拟合参数θ随迭代参数而变化的曲线Python ML_第1张图片

原理:
画出决策边界:通过前言的梯度上升方法,就得到了和特征向量维度相同的权重向量θ,画决策边界就是令h=(θ^T)x=0(sigmod函数以自变量为0为界限),得到边界处各特征间的多项式关系,画出即可
改进:学习率α会随迭代次数而减少,缓解数据波动;随机选取样本(随机梯度上升,即求和号改为了求和1个,或某几个?),减少了周期性的波动;
优点:
计算代价不高,适用于数值型和标称型
缺点:
易欠拟合,分类精度低

你可能感兴趣的:(Mess)