![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 53
Leee_song
这个作者很懒,什么都没留下…
展开
-
主成分分析(PCA)
概念在减少需要分析的指标同时,尽量减少原指标包含信息的损失,以达到对所收集数据进行全面分析的目的。由于各变量间存在一定的相关关系,因此有可能用较少的综合指标分别综合存在于各变量中的各类信息。主成分分析就属于这类降维的方法。对于如下三维数据降维为二维有:PCA算法流程1 数据中心化数据中心化就是将坐标原点放在数据中心。2.样本的协方差矩阵找坐标系方向,找到方差最大的方向。假设我们手上有如下数据D′D'D′,我们可以推断它由白数据DDD的由来过程:我们要求的旋转方向,即为RRR矩阵原创 2021-10-27 20:47:55 · 515 阅读 · 0 评论 -
机器学习---聚类算法
1. k-means算法一个k-means例子动态效果python实现kmeans数据:import numpy as npimport matplotlib.pyplot as plt # 载入数据data = np.genfromtxt("kmeans.txt", delimiter=" ")plt.scatter(data[:,0],data[:,1])plt.show()# 计算两个样本之间的距离 def euclDistance(vector1, vec原创 2021-10-25 21:40:01 · 221 阅读 · 0 评论 -
贝叶斯算法
贝叶斯定理朴素贝叶斯朴素贝叶斯的几种模型1.多项式模型该模型常用于文本分类,特征是单词,值是单词的出现次数。2.伯努利模型在伯努利模型中,每个特征的取值是布尔型的,即true和false,或者1和0。在文本分类中,就是一个特征有没有在一个文档中出现。3.高斯模型处理连续的特征变量,应该采用高斯模型。高斯分布(正态分布)的概率密度公式如下:当数据为连续的特征变量时,我们只需要根据训练数据求得该特征期望和方差,然后代入上面的公式,就能够判断测试数据在该特征下属于某一类的概率是多原创 2021-10-24 22:33:55 · 2195 阅读 · 0 评论 -
机器学习----决策树
信息熵增益计算决策树sklearn实现信息熵增益决策树from sklearn.feature_extraction import DictVectorizerfrom sklearn import treefrom sklearn import preprocessingimport csvimport graphviz # 读入数据,数据是支付需要用csv读取Dtree = open(r'AllElectronics.csv', 'r')reader = csv.reader原创 2021-10-21 11:44:25 · 215 阅读 · 0 评论 -
KNN算法
基本思想具体实例:Python实现KNN算法import matplotlib.pyplot as pltimport numpy as npimport operatordef knn(x_test, x_data, y_data, k): # 计算样本数量 x_data_size = x_data.shape[0] # 复制x_test np.tile(x_test, (x_data_size,1)) # 计算x_test与每一个样本的差值原创 2021-10-14 17:53:42 · 80 阅读 · 0 评论 -
神经网络----单层感知器
单层感知器结构二分类的单层感知器的学习过程:题目:import numpy as npimport matplotlib.pyplot as plt#输入数据X = np.array([[1,3,3], [1,4,3], [1,1,1], [1,0,2]])#标签Y = np.array([[1], [1], [-1],原创 2021-10-04 18:36:27 · 480 阅读 · 0 评论 -
逻辑回归----线性逻辑回归与非线性逻辑回归
线性逻辑回归逻辑回归的预测函数逻辑回归的代价函数如果采用线性回归的代价函数的形式,随着自变量θ\thetaθ的变化将会出现很多的局部最小值(如下图左边所示),不适合使用梯度下降法求解参数。所以采用了如下代价函数:所以,合并后的损失函数如下:利用梯度下降法更新参数如下:逻辑回归正则化:python梯度下降法实现逻辑线性回归:import matplotlib.pyplot as pltimport numpy as npfrom sklearn.metrics import原创 2021-10-03 22:04:02 · 1362 阅读 · 0 评论 -
岭回归,LASSO回归与弹性网
这两种回归主要针对特征之间存在多重共线性或者特征数多于样本量的情况。话句话说就是特征向量组成的矩阵不是一个满秩矩阵(特征数大于对应矩阵的秩)岭回归岭回归的代价函数是经过L2正则化(正则化可以降低模型复杂度)后的代价函数,如下,并对其求导令导数为0,得到参数θθθ(也即www)如下:L2范数惩罚项的加入使得(XTX+λI){( X^TX+\lambda I)}(XTX+λI)满秩,保证了可逆,但是也由于惩罚项的加入,使得回归系数www(或θ\thetaθ)的估计不再是无偏估计。所以岭回归是以放弃无偏原创 2021-10-02 17:10:47 · 1896 阅读 · 0 评论 -
线性回归-----标准方程法实现线性回归方程
标准方程法推导对于标准方程法,我们得到其损失函数如下(因为损失函数为二次函数,所以图像上只有一个坑,不可能出现多个极小值):将其展开为矩阵形式:对矩阵进行求导:梯度下降法和标准方程法的比较:用python实现标准方程法部分data.csv数据:import numpy as npfrom numpy import genfromtxtimport matplotlib.pyplot as plt# 载入数据data = np.genfromtxt("data.csv",原创 2021-09-30 17:22:56 · 1398 阅读 · 0 评论 -
非线性回归-----sklearn实现多项式回归
多项式回归用sklearn实现多项式回归:数据:import numpy as npimport matplotlib.pyplot as pltfrom sklearn.preprocessing import PolynomialFeaturesfrom sklearn.linear_model import LinearRegression# 载入数据data = np.genfromtxt("job.csv", delimiter=",")x_data = data[1:原创 2021-09-26 21:33:25 · 756 阅读 · 0 评论 -
线性回归-----梯度下降法实现线性回归方程
一元线性回归方程:代价函数:梯度下降法:要想拟合一个重合度高的函数,就必须使得其损失函数 J( θ\thetaθ0_00, θ\thetaθ1_11) 的值最小(如果是梯度下降法也可能是局部最小),要使得损失函数变小的速度最快,就得沿着对应参数最陡的方向下降(即对应的偏导方向),所以对θ\thetaθ0_00, θ\thetaθ1_11的下一次迭代值要根据损失函数对自己的偏导来确定。下面是下降的过程图:其中学习率α决定每一步下降的长度,如果太小下降到最低点需要很多步计算,会浪原创 2021-09-25 16:57:33 · 369 阅读 · 0 评论