机器学习
Bill Gu
红尘多可笑
展开
-
感知机算法原理及其python实现
感知机算法是机器学习算法中最简单的算法,下面我将从感知机算法原理和算法实现两个方面描述我的一些学习经验,欢迎批评指正和交流。一.感知机模型感知机模型很简单,由以下公式描述:这里对sign(x)这个函数解释下,当x>=0 sign(x)=1; x<0时,sign(x)=-1,w为权重向量,x是输入特征向量,b为偏置二.lost function感知机损失函数,公式...原创 2018-11-05 16:43:56 · 972 阅读 · 0 评论 -
为什么梯度负方向的损失函数下降速度是最快
这一问题,网上有很多种解释,今天我主要从数学分析的角度来说一下我的看法。一、什么是梯度根据高等数学中梯度的定义可知梯度一个向量由函数对各个变量的偏导数组成。例如二维函数梯度是,同理三维函数梯度为二、方向导数高数中过点,以为l为方向向量的直线参数方程为z = f(x,y)限制在直线L上变化时可以转换为关于t的一元函数方向导数定义为,其中为l与梯度的夹角,由三角函数...原创 2018-11-05 17:27:53 · 1978 阅读 · 0 评论 -
knn算法原理与实现(1)
一、算法原理与模型knn算法即最近邻算法,其原理非常简单即根据给定的数据集,计算数据集中点的特征到待分类数据的欧氏距离,然后选择距离最近的k个作为判断依据,这k个数据中出现类别最多的作为新输入数据的label。模型用公式表示如下:二、python代码实现__author__ = 'Gujun(Bill)'#knn code#2018/03/07import numpy as...原创 2018-11-05 20:02:32 · 277 阅读 · 0 评论 -
knn算法原理与实现(2)kd树算法原理和python实现
一、kd树算法分为两步,第一步是构建平衡kd树,第二部是搜索预测数据的最近邻二、构建kd树输入:k维空间数据集T = {},其中 = {},特征维度k,训练样本数维n输出:kd树从第1个特征到第k个特征,每次选择一个特征,找出该特征取值的中位数,以此特征的中位数划分超平面,每次划分都是在之前划分的基础进行的,也就是在上次划分的每个子区间选择下一特征进行划分,当特征用完了,则重新从第...原创 2018-11-05 22:43:03 · 582 阅读 · 1 评论 -
朴素贝叶斯算法原理与实现
一、模型我们要求的最终结果是使 P(|X=x)最大的值,而依据贝叶斯定理可知:以上公式中x为,待遇测的样本,c为具体的分类标签,由最后的等式可知分母不会发生变化,要求argminP(|X=x),即求argminP(X=x|Y=|)P(Y=)损失函数为0,1损失函数。二、拉布拉斯平滑从原始模型可以看到,某些情况下概率为0,则整个计算结果为0,这会影响最后的预测结果,所...原创 2018-11-14 23:22:54 · 355 阅读 · 0 评论 -
决策树(一)ID3和C4.5算法原理与实现
一、预备知识1、信息熵H(p) = (可以从,信息量相加就是独立随机事件相乘来理解,所以需要取对数),熵entropy这个词本身代表不确定性的意思,而不确定性越大,信息量则越大。2、条件熵H(D|A)=,pi表示某一子集占统计量的比列,H(Di)为该子集的信息量3、信息增益g(D,A) = H(D) - H(D|A)4、信息增益比g(D,A) /H(D|A)二、...原创 2018-11-15 00:28:17 · 442 阅读 · 0 评论 -
支持向量机原理与实现
一、模型机器学习中我们最开始接触的都是感知机,感知机就是一个阶跃函数,阶跃函数的自变量是一个多元线性函数,cost function则是。而支持向量与感知机类似,只是将阶跃函数挖去(-1到1这个区间),要使两个平行的超平面间间隔最大,只需w二范数最小即可。约束条件是.关于约束条件的理解,取等号时刚好在支持向量上,不取等号时说明在平面的对应的一侧。理解了问题的本质,现在就是怎么用数学去解决这...原创 2019-03-15 15:08:19 · 360 阅读 · 0 评论