机器学习
文章平均质量分 50
机器学习
尼古拉斯·two_dog
这个作者很懒,什么都没留下…
展开
-
机器学习常见的优化算法
机器学习常见的优化算法:1.梯度下降法:梯度:如果函数是一维的变量,则梯度就是导数的方向;如果是大于一维的,梯度就是在这个点的法向量,并指向数值更高的等值线,这就是为什么求最小值的时候要用负梯度。梯度下降法的缺点:(1)靠近极小值时收敛速度减慢,如下图所示;(2)直线搜索时可能会产生一些问题;(3)可能会“之字形”地下降。三种梯度下降方法:1.批量梯度下降法(BGD)(适合小量样本)2.随机梯度下降(SGD)(适合大量样本)3.共轭梯度法SGD和BGD的比较:SGD的问题是原创 2021-06-30 14:27:52 · 2634 阅读 · 0 评论 -
n折交叉验证
N折交叉验证import numpy as npfrom sklearn.model_selection import cross_val_scorefrom sklearn import svmx = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1], [2,3], [1,4]])y = np.array([1, 1, 2, 2, 2, 1])model = svm.SVC()# 验证模型# scoring:accuracy:精确度 pre原创 2021-06-30 11:26:35 · 840 阅读 · 0 评论 -
PCA主成分分析实现降维
简介:高纬度的数据不容易计算,往往需要投影到低纬空间,进行降维处理。本章介绍一种降维方法:PCA(主成分分析)参考链接:https://blog.csdn.net/u012421852/article/details/80458350实现步骤PCA降维步骤:1.对所有样本进行中心化处理2.计算协方差矩阵3.求协方差的特征值和特征向量4.将特征值按照从大到小的顺序排序,选择其中最大...原创 2019-06-05 21:33:51 · 1209 阅读 · 0 评论 -
k-近邻算法
1.K-近邻算法(KNN):K-近邻算法采用测量不同特征值之间的距离方法进行分类,它主要用于对事物进行分类。工作原理:首先有一个样本数据集合(训练样本集),并且样本数据集合中每条数据都存在标签(分类),输入没有标签的数据之后,将新数据的每个特征与样本集的数据对应的特征进行比较(欧式距离运算),然后算出新数据与样本集中特征最相似(最近邻)的数据的分类标签,一般我们选择样本数据集中前k个最相似的数据,然后再从k个数据集中选出出现分类最多的分类作为新数据的分类。优缺点:优点:精度高、对异常值不原创 2021-06-30 11:32:30 · 164 阅读 · 0 评论 -
K-means聚类——简单代码实现、与EM算法的关联
算法实现步骤K-means思想:(1)随机选择k个类簇的中心(2)计算每一个样本点到所有类簇中心的距离,选择最小距离作为该样本的类簇(3)重新计算所有类簇的中心坐标,直到达到某种停止条件(迭代次数/簇中心收敛/最小平方误差)EM算法思想:(1)假设我们想估计知道A和B两个参数,在开始状态下二者都是未知的;(2)但如果知道了A的信息就可以得到B的信息,反过来知道了B也就得到了A;(...原创 2019-06-15 11:42:22 · 626 阅读 · 0 评论 -
决策树算法
参考链接:https://blog.csdn.net/asialee_bird/article/details/81118245https://blog.csdn.net/github_39261590/article/details/76546281决策树算法:ID3、C4.5、CARTID3:选择信息熵增益最大的feature作为node,实现对数据的归纳分类。C4.5:是ID3的一个改进,比ID3准确率高且快,可以处理连续值和有缺失值的feature。CART:使用基尼指数的划分准则原创 2021-06-30 14:02:31 · 734 阅读 · 0 评论 -
朴素贝叶斯算法
参考链接:https://blog.csdn.net/stevesea/article/details/82877686朴素贝叶斯:该模型由两种可以直接从训练数据中计算的概率组成: 1) 每个类的概率; 2) 给定每个x值后每个类的条件概率。 一旦计算出概率模型,就可以用贝叶斯定理对新数据进行预测。朴素贝叶斯的主要优点有:1)朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。2)对小规模的数据表现很好,能够处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练。原创 2021-06-30 14:11:00 · 146 阅读 · 0 评论 -
SVM分类和回归
参考链接:https://blog.csdn.net/gsww404/article/details/80398584https://blog.csdn.net/lights_joy/article/details/46779343https://blog.csdn.net/u011489887/article/details/80084338c++:https://blog.csdn.net/weixin_41275726/article/details/83051192#%E9%A2%8原创 2021-06-30 12:37:45 · 841 阅读 · 0 评论 -
线性回归-最小二乘法
参考链接:https://blog.csdn.net/weixin_40683253/article/details/81109129https://blog.csdn.net/weixin_40014576/article/details/79918819https://blog.csdn.net/Mr_Cat123/article/details/85061478代码实现:import numpy as npimport scipy as spimport matplotlib原创 2021-06-30 11:40:25 · 249 阅读 · 1 评论 -
机器学习—AdaBoost算法原理及代码实现二分类问题1
简介周志华的“西瓜书”—《机器学习》一书中,第八章介绍了集成学习的三种方法,分别是:序列化方法(Boost)、并行化方法(Bagging和随机森林),本文针对第一种方法进行了算法介绍以及代码实验。本文参考了一下两篇文章:原理及代码:https://www.ibm.com/developerworks/cn/analytics/library/machine-learning-hands-on...原创 2019-06-01 17:14:15 · 742 阅读 · 0 评论 -
机器学习—AdaBoost算法原理及代码实现二分类问题2
简介上一篇具体按照第一个链接,介绍了训练强分类器的过程;本篇文章,mask另一段代码,并用强分类器进行分类,验证分类结果。1.创建数据集和标签def create_dataMat(): dataMat = mat([[0],[1],[2],[3],[4],[5]]) #x labels = [1, 1, -1, -1, 1, -1] #y return dataM...原创 2019-06-01 17:33:30 · 734 阅读 · 0 评论 -
AdaBoost和随机森林算法实现(sklearn调用)
代码实现:AdaBoostfrom numpy import *import numpy as npimport cv2import matplotlib.pyplot as pltimport pandas as pdimport timefrom numpy import *from sklearn.metrics import accuracy_scorefrom sklearn.ensemble import AdaBoostClassifierfrom sklearn.m原创 2021-07-02 13:56:54 · 504 阅读 · 0 评论