以决策树作为开始,因为简单,而且也比较容易用到,当前的boosting或randomforest也是常以其为基础的决策树算法本身参考之前的blog,其实就是贪婪算法,每次切分使得数据变得最为有序无序,nodeimpurity对于分类问题,我们可以用熵entropy或Gini来表示信息的无序程度对于回归问题,我们用方差Variance来表示无序程度,方差越大,说明数据间差异越大用于表示,由父节点划分后得到子节点,所带来的impurity的下降,即有序性的增益下面直接看个regression的例子,分类的case,差不多,还是比较简单的,由于是回归,所以impurity的定义为variancema
2024/3/22 19:16:07 137KB SparkMLlib-DecisionTree源码分析
1
决策树(DecisionTree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。
由于这种决策分支画成图形很像一棵树的枝干,故称决策树。
在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。
Entropy=系统的凌乱程度,使用算法ID3,C4.5和C5.0生成树算法使用熵。
这一度量是基于信息学理论中熵的概念。
2023/8/11 22:13:29 5KB 决策树
1
深度学习之卷积神经收集CNN做手写体识另外VS代码。
反对于linux版本以及VS2012版本。
tiny-cnn:AC++11implementationofconvolutionalneuralnetworks========tiny-cnnisaC++11implementationofconvolutionalneuralnetworks.designprinciple-----*fast,withoutGPU98.8%accuracyonMNISTin13minutestraining(@Corei7-3520M)*headeronly,policy-baseddesignsupportednetworks-----###layer-types*fully-connectedlayer*convolutionallayer*averagepoolinglayer###activationfunctions*tanh*sigmoid*rectifiedlinear*identity###lossfunctions*cross-entropy*mean-squared-error###optimizationalgorithm*stochasticgradientdescent(with/withoutL2normalization)*stochasticgradientlevenbergmarquardtdependencies-----*boostC++library*IntelTBBsamplecode------```cpp#include"tiny_cnn.h"usingnamespacetiny_cnn;//specifyloss-functionandoptimization-algorithmtypedefnetworkCNN;//tanh,32x32input,5x5window,1-6feature-mapsconvolutionconvolutional_layerC1(32,32,5,1,6);//tanh,28x28input,6feature-maps,2x2subsamplingaverage_pooling_layerS2(28,28,6,2);//fully-connectedlayersfully_connected_layerF3(14*14*6,120);fully_connected_layerF4(120,10);//connectallCNNmynet;mynet.add(&C1);mynet.add(&S2);mynet.add(&F3);mynet.add(&F4);assert(mynet.in_dim()==32*32);assert(mynet.out_dim()==10);```moresample,readmain.cppbuildsampleprogram------###gcc(4.6~)withouttbb./wafconfigure--BOOST_ROOT=your-boost-root./wafbuildwithtbb./wafconfigure--TBB--TBB_ROOT=your-tbb-root--BOOST_ROOT=your-boost-root./wafbuildwithtbbandSSE/AVX./wafconfigure--AVX--TBB--TBB_ROOT=your-tbb-root--BOOST_ROOT=your-boost-root./wafbuild./wafconfigure--SSE--TBB--TBB_ROOT=your-tbb-root--BOOST_ROOT=your-boost-root./wafbuildoreditinlude/co
2023/4/7 20:45:08 10.29MB 深度学习 卷积神经网络 CNN VS
1
在计算loss的时候,最常见的一句话就是tf.nn.softmax_cross_entropy_with_logits,那么它到底是怎么做的呢?首先明确一点,loss是代价值,也就是我们要最小化的值tf.nn.softmax_cross_entropy_with_logits(logits,labels,name=None)除去name参数用以指定该操作的name,与方法有关的一共两个参数:第一个参数logits:就是神经网络最初一层的输出,如果有batch的话,它的大小就是[batchsize,num_classes],单样本的话,大小就是num_classes第二个参数lab
2022/11/6 0:04:08 56KB .so c cros
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡