机器学习
渣渣张
再回首,初心不变
展开
-
详细解释《机器学习实战》第5章logistic回归 第5-1程序(梯度下降法推导)和梯度下降法实现对率回归
从别人的参考过来的推导过程梯度下降法实现对率回归数据集代码# -*- coding: utf-8 -*-from log import *import pandas as pdfrom pandas import *import matplotlib.pyplot as pltimport numpy as npfrom numpy import *#读取数据到X,ydataset原创 2017-09-01 20:16:23 · 1196 阅读 · 0 评论 -
GBDT
提升树:以决策树作为基函数的提升方法(boosting)称为提升树;提升树利用加法模型与前向分步算法实现学习的优化过程;(一)回归问题的提升树算法1.基本分类器:回归树2.决策树的加法模型:3.学习策略:平方误差损失函数4.学习算法:前向分步算法其中:也就是说对回归问题的提升树算法来说,只需简单地拟合当前模型的残差;5.算法流程6.当损失函数是平方损失函数时,每一步优化是很简单的,原创 2017-11-28 11:11:47 · 258 阅读 · 0 评论 -
ID3和C4.5
(一)简介1.决策树是一种基本的分类与回归方法,由结点跟有向边组成;其中结点可以分为内部结点(代表特征)跟叶结点(代表类别或者回归预测值);2.决策树模型:从根结点开始,对样本的某一特征进行测试,根据测试结果,将样本分配到其子结点,如此递归对样本进行测试并分配,直至达到叶结点;3.决策树模型的学习有3个步骤:特征选择,决策树的生成(局部最优化过程),决策树的剪枝(全局最优化过程);4. 决策原创 2017-11-28 11:02:13 · 460 阅读 · 0 评论 -
ID3 和 C4.5
(1)决策树:决策树是以一种分类(ID3, C4.5,CART)和回归(CART)的方法。在分类的问题上表示基于特征对实例进行分类的过程。(2)ID3:ID3是以信息增益准则选择特征,递归的构建决策树。但是这有一个问题就是这样的话会偏向特征值取值比较多的属性,例如当把分类每一条记录的序号也作为特征是,这时它得到的信息增益最大,但是让它作为分裂规则是不准确的。(3)C4.5:为了避免ID3偏向属性值多原创 2017-11-28 09:41:19 · 333 阅读 · 0 评论 -
模型评估和选择
评估方法。 1),留出法。 将数据集D划分为两个互斥的子集,一个作为测试集,一个作为验证集。为保证准确性,可以随机,可以分层采样。 一般是2/3-4/5用作训练,其余用作测试。 2), 交叉验证法。 平均划分为K个大小相似得互斥子集,尽量数据分布与原数据集保持一致(可以用分层),每次用一个作为验证集,其他作为训练集,训练K次。最后结果取均值。 留一法: 有m个样本点,m=k. 优点:原创 2017-12-12 21:27:27 · 529 阅读 · 0 评论 -
前剪枝算法和后剪枝算法区别
(一)剪枝算法的简介:剪枝一般是为了避免树的过于复杂,过于拟合而进行的一个动作,剪枝操作是一个全局的操作。(二)预剪枝:预剪枝就是在树的构建过程(只用到训练集),设置一个阈值,使得当在当前分裂节点中分裂前和分裂后的误差超过这个阈值则分列,否则不进行分裂操作。(三)后剪枝:(1)后剪枝是在用训练集构建好一颗决策树后,利用测试集进行的操作。 (2)算法: 基于已有的树切分测试数据:原创 2017-11-26 11:10:19 · 12740 阅读 · 0 评论 -
Adaboost
(一)BoostingBoosting方法是一种用来提高弱分类算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数;1.模型:加法模型其中b为基函数(弱分类器),gama为基函数的参数;beta为基函数的权重;2.学习策略:3.学习算法:前向分步算法这样,前向分布算法将同时求解从m=1到M所有参数beta,gama的优化问题简化为逐次求解各个bet原创 2017-11-28 11:09:53 · 335 阅读 · 0 评论 -
CART决策树
(一)简介1.CART(classification and regression tree)是应用广泛的决策树学习方法,既可以用于分类也可以用于回归;2.CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有限个单元,并在这些单元上确定预测值或者类别;(二)回归树1.一个回归树对应着特征空间的一个划分以及在划分的单原创 2017-11-28 11:07:08 · 591 阅读 · 0 评论 -
# 第五章 神经网络
标准BP```# coding: utf-8# 标准的BP 我们没运行一条数据改变更新一次参数,在一次数据集的遍历只把误差累计起来,各参数的导数只用每次求得的导数更新,不用累计!import pandas as pdfrom pandas import *import numpy as npfrom numpy import *x = pd.read_csv(r"C:\Users\zmy原创 2017-10-17 10:01:15 · 252 阅读 · 0 评论 -
最大似然估计详解
极大似然估计 以前多次接触过极大似然估计,但一直都不太明白到底什么原理,最近在看贝叶斯分类,对极大似然估计有了新的认识,总结如下:贝叶斯决策 首先来看贝叶斯分类,我们都知道经典的贝叶斯公式: 其中:p(w):为先验概率,表示每种类别分布的概率;:类条件概率,表示在某种类别前提下,某事发生的概率;而为后验概率,表示某事发生了,并且它属于某一类别的概率,有转载 2017-10-31 20:07:20 · 4483 阅读 · 0 评论 -
#感知机的Python实现
原始形式# coding: utf-8# 原始感知机的学习算法import pandas as pdimport numpy as npfrom pandas import *import matplotlib.pyplot as pltfrom numpy import *x = np.array([[3, 4, 1],[3, 3, 1]]) #数据集x = x.transpose原创 2017-10-22 18:11:49 · 334 阅读 · 0 评论 -
对西瓜数据集实现LDA编程
数据集:代码:import pandas as pdimport numpy as npfrom pandas import *from numpy import *import matplotlib.pyplot as pltdef readdata(): dataset = np.loadtxt(r'C:\Users\zmy\Desktop\titanic\watermelon原创 2017-09-05 21:22:34 · 2184 阅读 · 0 评论 -
XGBDT
1.模型(1)整体模型函数如下:其中 k 表示树的数量,f 表示每棵树的预测函数;(2)截取到第 t 棵树的模型函数表示如下:2.训练(1)每次训练一棵树,目标函数如下: 其中第一项是损失函数,第二项是防止过拟合;N表示样本数,T表示所有树的叶子数目,t 表示训练第 t 棵树,w 表示叶子的输出值;(2)泰勒展开(二阶展开):其中:由于L为常数项,所以:因此,该优化问题就是找出原创 2017-11-28 11:12:56 · 928 阅读 · 0 评论