SVM分类器里面的东西好多呀,碾压前两个.怪不得称之为深度学习出现之前表现最好的算法. 今天学到的也应该只是冰山一角,懂了SVM的一些原理.还得继续深入学习理解呢. 一些关键词: 超平面(hyper plane)SVM的目标就是找到一个超平面把两类数据分开.使边际(margin)最大.如果把超平面定义为w*x+b=0.那么超平面距离任意一个支持向量的距离就是1/||w||.(||w||是w的范数,也就是√w*w’) SVM就是解决 这个优化问题.再经过拉格朗日公式和KKT条件等数学运算求解得到一…
KNN(K Nearest Neighbor) 还是先记几个关键公式 距离:一般用Euclidean distance   E(x,y)√∑(xi-yi)2 .名字这么高大上,就是初中学的两点间的距离嘛. 还有其他距离的衡量公式,余弦值(cos),相关度(correlation) 曼哈顿距离(manhatann distance).我觉得针对于KNN算法还是Euclidean distance最好,最直观. 然后就选择最近的K个点.根据投票原则分类出结果. 首先利用sklearn自带的的iris…
关键词: 输入层(Input layer).隐藏层(Hidden layer).输出层(Output layer) 理论上如果有足够多的隐藏层和足够大的训练集,神经网络可以模拟出任何方程.隐藏层多的时候就是深度学习啦 没有明确的规则来设计最好有多少个隐藏层,可以根据实验测试的误差以及准确度来实验测试并改进. 交叉验证方法(cross -validation):把样本分为K份,取一份为测试集,其他为训练集.共取K次,然后取其平均值 BP的步骤 1.初始化权重(weight)以及偏向(bias),随…
一些概念 相关系数:衡量两组数据相关性 决定系数:(R2值)大概意思就是这个回归方程能解释百分之多少的真实值. Kmeans聚类大致就是选择K个中心点.不断遍历更新中心点的位置.离哪个中心点近就属于哪一类.中心点的更新取此类的平均点. 优点:速度快,原理简单 缺点:最终结果与初始点选择有段,容易陷入局部最优.并且还要提前知道K值 代码 import numpy as np def kmeans(X,k,maxIt): numPoints,numDim= X.shape dataSet=np.ze…
最近开始学习机器学习,以下会记录我学习中遇到的问题以及我个人的理解 决策树算法,网上很多介绍,在这不复制粘贴.下面解释几个关键词就好. 信息熵(entropy):就是信息不确定性的多少 H(x)=-ΣP(x)log2[P(x)].变量的不确定性越大,熵就越大. 信息获取量(Information Gain):这是ID3算法中定义的一个选择属性判断结点的算法.Gain(A)=H(D)-HA(D).就是本的信息熵与下一级的信息熵之差.用来确定信息获取量的多少,信息获取量最多的即选择为本级的判断属性.…
机器学习与神经网络的关系: 机器学习是目的,神经网络是算法.神经网络是实现机器学习的一种方法,平行于SVM. 常用的两种工具:svm tool.libsvm SVM分为SVC和SVR,svc是专门用来分类的,svr是用来作回归的 注:matlab自带的svm工具箱无回归预测功能 函数介绍:http://blog.sina.com.cn/s/blog_6c76c0890100w1zm.html libsvm参数介绍:http://blog.csdn.net/changyuanchn/article…
这一节很简单,都是高中讲过的东西 简单线性回归: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…
这个算法.我个人感觉有点鸡肋.最终的表达也不是特别清楚. 原理很简单,从所有的样本中选取Euclidean distance最近的两个样本,归为一类,取其平均值组成一个新样本,总样本数少1:不断的重复,最终样本数为1.这样的话就形成了一个树,每个节点要不有两个子节点,要不没有子节点. 这个算法也大概能分出来类,但是实用性我觉得不是很强. 源代码 from numpy import * class cluster_node: def __init__(self,vec,left=None,righ…
关键词: 梯度下降:就是让数据顺着梯度最大的方向,也就是函数导数最大的放下下降,使其快速的接近结果. 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…
一.基础理解 1)简介 SVM(Support Vector Machine):支撑向量机,既可以解决分类问题,又可以解决回归问题: SVM 算法可分为:Hard Margin SVM.Soft Margin SVM,其中 Soft Margin SVM 算法是由 Hard Margin SVM 改进而来: 2)不适定问题 不适定问题:决策边界不唯一,可能会偏向某一样本类型,模型泛化能力较差: 具有不适定问题的模型的特点:决策边界不准确,泛化能力较差: 原因:模型由训练数据集训练所得,训练数据集…