这个算法.我个人感觉有点鸡肋.最终的表达也不是特别清楚. 原理很简单,从所有的样本中选取Euclidean distance最近的两个样本,归为一类,取其平均值组成一个新样本,总样本数少1:不断的重复,最终样本数为1.这样的话就形成了一个树,每个节点要不有两个子节点,要不没有子节点. 这个算法也大概能分出来类,但是实用性我觉得不是很强. 源代码 from numpy import * class cluster_node: def __init__(self,vec,left=None,righ…
最近开始学习机器学习,以下会记录我学习中遇到的问题以及我个人的理解 决策树算法,网上很多介绍,在这不复制粘贴.下面解释几个关键词就好. 信息熵(entropy):就是信息不确定性的多少 H(x)=-ΣP(x)log2[P(x)].变量的不确定性越大,熵就越大. 信息获取量(Information Gain):这是ID3算法中定义的一个选择属性判断结点的算法.Gain(A)=H(D)-HA(D).就是本的信息熵与下一级的信息熵之差.用来确定信息获取量的多少,信息获取量最多的即选择为本级的判断属性.…
关键词: 输入层(Input layer).隐藏层(Hidden layer).输出层(Output layer) 理论上如果有足够多的隐藏层和足够大的训练集,神经网络可以模拟出任何方程.隐藏层多的时候就是深度学习啦 没有明确的规则来设计最好有多少个隐藏层,可以根据实验测试的误差以及准确度来实验测试并改进. 交叉验证方法(cross -validation):把样本分为K份,取一份为测试集,其他为训练集.共取K次,然后取其平均值 BP的步骤 1.初始化权重(weight)以及偏向(bias),随…
KNN(K Nearest Neighbor) 还是先记几个关键公式 距离:一般用Euclidean distance   E(x,y)√∑(xi-yi)2 .名字这么高大上,就是初中学的两点间的距离嘛. 还有其他距离的衡量公式,余弦值(cos),相关度(correlation) 曼哈顿距离(manhatann distance).我觉得针对于KNN算法还是Euclidean distance最好,最直观. 然后就选择最近的K个点.根据投票原则分类出结果. 首先利用sklearn自带的的iris…
一些概念 相关系数:衡量两组数据相关性 决定系数:(R2值)大概意思就是这个回归方程能解释百分之多少的真实值. Kmeans聚类大致就是选择K个中心点.不断遍历更新中心点的位置.离哪个中心点近就属于哪一类.中心点的更新取此类的平均点. 优点:速度快,原理简单 缺点:最终结果与初始点选择有段,容易陷入局部最优.并且还要提前知道K值 代码 import numpy as np def kmeans(X,k,maxIt): numPoints,numDim= X.shape dataSet=np.ze…
关键词: 梯度下降:就是让数据顺着梯度最大的方向,也就是函数导数最大的放下下降,使其快速的接近结果. Cost函数等公式太长,不在这打了.网上多得是. 这个非线性回归说白了就是缩小版的神经网络. python实现: import numpy as np import random def graientDescent(x,y,theta,alpha,m,numIterations):#梯度下降算法 xTrain =x.transpose() for i in range(0,numIterati…
这一节很简单,都是高中讲过的东西 简单线性回归:y=b0+b1x+ε.b1=(Σ(xi-x–)(yi-y–))/Σ(xi-x–)ˆ2       b0=y--b1x-    其中ε取 为均值为0的正态分布 多元线性回归差不多 我自己写了程序,练习一下面向对象编程 import numpy as np class SimpleLinearRegression: def __init__(self): self.b0=0 self.b1=0 def fit(self,X,Y): n=len(X) d…
SVM分类器里面的东西好多呀,碾压前两个.怪不得称之为深度学习出现之前表现最好的算法. 今天学到的也应该只是冰山一角,懂了SVM的一些原理.还得继续深入学习理解呢. 一些关键词: 超平面(hyper plane)SVM的目标就是找到一个超平面把两类数据分开.使边际(margin)最大.如果把超平面定义为w*x+b=0.那么超平面距离任意一个支持向量的距离就是1/||w||.(||w||是w的范数,也就是√w*w’) SVM就是解决 这个优化问题.再经过拉格朗日公式和KKT条件等数学运算求解得到一…
最近又重新安排了一下我的计划.准备跟着老男孩的教程继续学习,感觉这一套教程讲的很全面,很详细.比我上一套机器学习好的多了. 他的第一阶段是Python基础,第二阶段是高等数学基础,主要将机器学习和深度学习数学算法.第三阶段是算法基础提高,第四阶段....额,竟然没有,好像没有.第五阶段是数据分析与挖掘,第六阶段是自然语言处理,第七阶段是面试技巧提高.第四阶段我猜应该是计算机视觉吧,没有就没有吧,正好我专门报了一个计算机视觉的课. 所以今后半年多的时间里,我都会跟着这个系统课程进行学习.大学嘛,也…
1. Elo Rating System Elo Rating System对于很多人来说比较陌生,根据wikipedia上的解释:Elo评分系统是一种用于计算对抗比赛(例如象棋对弈)中对手双方技能水平的方法,它由Arpad Elo创建.(The Elo rating system is a method for calculating the relative skill levels of players in competitor-versus-competitor games such…
一.vue样式style层次分析 1.样式可以在main.js.模块js文件.组件style.组件script标签内,index.html文件内引入,不同位置引入的样式有什么关系. 2.总结: (1)样式从main.js的入口处开始顺序加载(注意顺序的意思), (2)遇到组件则加载组件script标签内引入的样式, (3)先处理完所有script中引入的样式, (4)再处理style,style按包含关系从外到内加载(注意这个从外到内的意思) 3.这些页面都是固定的,如果是异步加载页面,当路由切…
一.FBV和CBV 在Python菜鸟之路:Django 路由.模板.Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view . 今天补充另外一种路由关系的写法:CBV,即:class base view , 也可以看做为面向资源编程的另外一种叫法,类似tornado中的路由写法. 1. 建立路由关系urls.py from app01 import views urlpatterns = [ url(r'^home/',…
昨天晚上室友问我什么是层次分析法?我当时就大概给他介绍了一下,没有细讲. 今天我仔细讲讲这个. 层次分析法是运筹学里面的一种方法,是讲与决策总是有关的元素分解成目标.准则.方案等层次,在此基础上进行定性和定量分析的决策方法.我们通过几个例子来看层次分析法的使用场景. 例1,某一位顾客选购电视机时,对时常正在出售的四种电视机考虑了八项准则作为评估依据,建立层次模型如下: 从品牌,外形,价格,尺寸,耗能量,厂家信誉,伴音,保修服务者几个方面考虑来选购电视机. 我们举一个简单例子来看看怎么计算的. 我…
目录 一.先定个小目标 二.层次分析法部分 2.1 思路总括 2.2 构造两两比较矩阵 2.3 权重计算方法 2.3.1 算术平均法求权重 2.3.2 几何平均法求权重 2.3.3 特征值法求权重 2.3.4 归一化处理过程 2.4 一致性检验 2.5 对一级指标求解 2.6 对二级指标求解 三.模糊综合评测法部分 3.1 整体思路阐述 3.2 模型的建立和求解 3.2.1 模型的建立 3.2.2 模型的举例求解 四.MATLAB代码 4.1 层次分析法-MATLAB代码 4.2 模糊综合评测法…
selenium 学习之路开始了,一遍搬一遍理解学习,加油!!!…
秦鼎涛  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验一 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的 一.C语言源代码: int g(int x) { return x + 3; } int f(int x) { return g(x); } int main(void) { return f(8) + 1; } 二.实验楼截图: 三.分析汇编代码的工作过程中堆栈的变化: 跟C语言一样…
实验一:通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的 学号:20135114 姓名:王朝宪 注: 原创作品转载请注明出处   <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1 1)实验部分(以下命令为实验楼64位Linux虚拟机环境下适用,32位Linux环境可能会稍有不同) 使用 gcc –S –o main.s main.c -m32 命令编译成汇编代码,如下代码中的数字请自行修改以防与…
前言 在Java多线程中的wait/notify通信模式结尾就已经介绍过,Java线程之间有两种种等待/通知模式,在那篇博文中是利用Object监视器的方法(wait(),notify().notifyAll())实现的,然而在实际生产环境中不推荐使用此方法,建议使用condition的等待通知模式,JUC包中很多核心实现也确实证实了这点,所以这必然是学习JUC包源码的基础. 如果之前阅读过前不久介绍同步队列的博文学习JUC源码(1)--AQS同步队列(源码分析结合图文理解),就能更好理解Con…
对于机器学习也不是了解的很深入,今天无意中在GitHub看到一个star的比较多的库,就用着试一试,效果也还行.比是可能比不上TensorFlow的,但是在Android上用起来比较简单,毕竟TensorFlow还要又JNI的知识. 这个库:onyx 效果: 用法非常简单,就是根据图片分析得到图片有可能的分类,这个学习的库是已经被训练过的,所以我们只需要直接让它识别就好了.得到的结果是根据可能概率由高到低排列.因为得到的结果都是英语,这里也用百度翻译来翻译了,所以结果中可能某些词会比较奇怪. ①…
希望有所帮助! 第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作) 目标:能够完成基本的LNMP系统安装,简单配置维护:能够做基本的简单系统的PHP开发:能够在PHP中型系统中支持某个PHP功能模块的开发. 时间:完成本阶段的时间因人而异,有的成长快半年一年就过了,成长慢的两三年也有. 1.Linux: 基本命令.操作.启动.基本服务配置(包括rpm安装文件,各种服务配置等):会写简单的shell脚本和awk/sed 脚本命令等. 2.Nginx: 做到能够…
预热知识 OSI 七层模型 谈到TCP/IP,就不得不说OSI七层模型,OSI 是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架,图示如下:  各个层次的详细说明,可以阅读百度词条http://baike.baidu.com/link?url=Agh556r2NM_rG7Yi4eV3UrxpkTBmpVU4eRrZSBpUf3HTF1xFcwkoh5AgfAyo5YqIbDosIuhhxh4v-dE4zL…
友情提示: 本文档根据林大贵的<Python+Spark 2.0 + Hadoop机器学习与大数据实战>整理得到,代码均为书中提供的源码(python 2.X版本). 本文的可以利用pandoc转换为docx文档,点击这里安装下载pandoc后,在终端输入以下命令: pandoc youfilename.md -f markdown -t docx -s -o outputfilename.docx Mllib 决策树二元分类 环境准备 这个阶段包括数据的下载和整理,去除缺失的数据,不符合规范…
本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款了,包括很多大型电商网站淘宝.京东.苏宁易购等,都在使用Nginx或者Apache作为Web中间件.而且很多编程语言在做Web开发时,会将Apache或者Nginx作为其绑定的固定组件,比如php语言做Web开发时,就经常和Apache联系在一起,使得apche成为了php在Web开发时的一个标配.而Ngin…
LruCache的Lru指的是LeastRecentlyUsed,也就是近期最少使用算法.也就是说,当我们进行缓存的时候,如果缓存满了,会先淘汰使用的最少的缓存对象. 为什么要用LruCache?其实使用它的原因有很多,例如我们要做一个电子商务App,如果我们不加节制的向服务器请求大量图片,那么对于服务器来说是一个不少的负担,其次,对于用户来说,每次刷新都意味着流量的大量消耗以及长时间等待,所以缓存机制几乎是每个需要联网的App必须做的. LruCache已经存在于官方的API中,所以无需添加任…
这里说的u-boot启动流程,值得是从上电开机执行u-boot,到u-boot,到u-boot加载操作系统的过程.这一过程可以分为两个过程,各个阶段的功能如下. 第一阶段的功能: 硬件设备初始化. 加载u-boot第二阶段代码到RAM空间. 设置好栈. 跳转到第二阶段代码入口. 第二阶段的功能: 初始化本阶段使用的硬件设备. 检查系统内存映射. 将内核从Flash读取到RAM中. 为内核设置启动参数. 调用内核. CPU有7种模式 ARM中处理器模式   说明 备注 用户(usr) 正常程序工作…
背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. 网站介绍 根据视频的例子修改的方法,其中数据不经过数据库,而是通过static属性保存一个唯一的列表当作数据源,以简化操作.. 这个网站包含显示.增加.删除.修改四个功能. 效果介绍 知识点包括div+css搭建框架,用JQuery给按钮注册事件,iframe标签的使用方法,在前台用C#的foreach循环绑定数据功能,给删除功能注册是否确认事件…
背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. 网站介绍 根据书上的例子做了一个比较粗糙的登录例子,里面的代码都是自己敲出来的,而且很少使用封装方法,就是为了让自己能更清楚的记住做的过程. 这个网站包含注册.登录.修改密码三个功能. 注册介绍 新建一个Web窗体,即UserManagers.aspx.不粘贴前台代码了.然后编写注册方法,包括用户名当作主键,SqlDataReader方式读取数据…
背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Session介绍 Application对象用来保存对所有用户共享的信息,比如网站登录人数. 在修改Application对象的时候,需要lock unlock,防止同时操作导致出现问题. Application对象成员的生命周期止于关闭IIS或使用Clear方法清除. Application传值 介绍一下Application记录进入网站的人…
背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Session介绍 Session保存特定用户相关的信息:每当有新客户请求服务器的时候,如果服务器有用到Session的话,会生成一个SessionID以cookie的形式保存在客户端.这样下次客户端再请求服务器的时候,服务器就会根据SessionID得知这是哪个客户端,进而为这个特定的用户提供服务. 因为Session的具体数据是保存在服务器的…
背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Request获取值 Request获取值有两种 Request.Params[""];//这种类型按照QueryString,Form,Cookies,SeverVaiables四个类型依次获取,会影响性能. Request.Form[""];//这个是获取post传值的方式,get传值用QueryString,其…