
machine-learning系统学习
Kblacksmith
守恒
展开
-
kNN算法实现和基础应用
ml的学习笔记。之前学的知识都较为零散,现在需要系统的学习各种算法和思想,目前主要练习内容是基于《机器学习实战》。在学习过程中,除了学习算法的本身之外,对python库的运用和矩阵运算的代码风格是另外一个学习的重心,c风格的编程习惯如果放到python里远不如矩阵运算和内置函数的效率高,学习过程 的一些记录在代码里以注释方式表示。kNN.pyfrom numpy原创 2017-07-30 22:03:16 · 499 阅读 · 0 评论 -
决策树(DecisionTree)的白话原理和简单应用
DecisionTree.pyfrom math import log#决策树利用了信息论中用熵来表示数据分类的混乱程度,一个集合中Shannon熵越高该集合越混乱#因此选择划分属性的时候,先计算当前集合的熵,再分别计算利用每个属性划分后集合的熵,# 最后与当前集合熵相差最大的熵所对应的属性即当前划分属性#一直最优划分,直到每个节点都为纯节点后或者所有属性都划分完了为止,此时建树完成def原创 2017-09-17 15:45:55 · 673 阅读 · 0 评论 -
kd树划分空间选择维度使用方差的好处
最近学习《统计学习方法》里的kd树时,虽然算法的原理比较清晰,但是一直感觉选择维度的时候使用j = (i mod k) + 1的轮替模式会导致空间分的太不均衡,可能导致搜索kd树的某些时候效率偏低。 在知乎上看到 使用方差来选择维度,使用中值来作为结点取值,感觉这种做法可能能更好的划分每个结点的左右子树所代表的空间。 后来看到一篇博客(http://blog.sina.com.cn原创 2017-09-30 14:15:27 · 2164 阅读 · 0 评论 -
bp网络反向传播梯度下降修改权值
原创 2018-01-17 16:29:01 · 681 阅读 · 0 评论