- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 Leecode25学习笔记 k个翻转一组(以及利用多次翻转思想的变形)
**题目25:**给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例:给你这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3-&g...
2020-03-20 10:31:34 157
原创 PCA 主成分分析
主成分分析是非监督的机器学习算法,主要用于数据的降维处理。主要解决如何找到让样本间间距最大的轴。使得样本间方差最大。用梯度上升法来求最大解,实现过程如下。import numpy as npimport matplotlib.pyplot as pltX=np.empty((100,2))X[:,0]=np.random.uniform(0.,100.,size=100)X[:,1]=0...
2019-02-09 20:56:18 222
原创 随机梯度下降法
在线性回归中使用梯度下降法每次都要更新都需要遍历所有数据,当数据量大的时候耗时非常大。于是提出了随机梯度下降法,通过一个随机选取的数据来获取“梯度”,进行更新。与传统梯度下降法的不同在于,随机梯度的步长变化方向不是固定的,如下图所示,不一定沿着最小方向前进。在这种情况中eta,即学习率,不能是一个固定值。因为当随机梯度接近最小值没到最小值时,固定的eta可能会使最小值没有更小反而更大了,所以...
2019-01-30 12:04:48 1080
原创 在线性回归模型中使用梯度下降法
上一篇文章记录了梯度下降法模拟实现,下面的代码展示的是在线性回归中使用梯度下降法import numpy as npimport maltplotlib.pyplot as pltnp.random.seed(666)x=2*np.random.random(size=100)y=x*3.+4.+np.random.normal(size=100)plt.scatter(x,y)pl...
2019-01-28 14:51:35 300
原创 梯度下降法原理和实现
在机器学习算法中,在最小化损失函数时,可以通过梯度下降法来一步一步的迭代求解,得到最小化的损失函数。梯度下降不一定能找到全局的最优解,有可能是一个局部的最优解。当损失函数是一个凸函数时,梯度下降就一定能得到最优解。梯度下降的相关概念有:步长。步长决定在梯度下降的过程中,每一步沿梯度负方向前进的长度。特征。指的是样本特征。假设函数:在监督学习中,为了拟合输入样本,而使用假设函数。损失函数:为...
2019-01-25 21:14:52 3332
原创 使用LinearRegression,KNN Regressor解决回归问题
import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasetsboston=datasets.load_boston()X=boston.datay=boston.targetX=X[y<50.0]y=y[y<50.0]from sklearn.model_selection i...
2019-01-24 22:19:53 1010
原创 回归算法评价标准MSE、RMSE、MAE、R-Squared
一、MSE 均方误差即(真实值-预测值)的平方/测试集个数其实(真实值-预测值)的平方 就是线性回归的损失函数,线性回归的目的就是为了让损失函数最小化。但这种判断方式是会放大误差的,即本身误差越大的平方后会更大。所以从这也可以看出,损失函数是为了减小最大的那个误差。二、RMSE 均方根误差即MSE开根号,使结果的单位和数据集一致,更好描述三、MAE 平均绝对误差四、R-Squar...
2019-01-24 21:27:06 12225 1
原创 简单线性回归
这篇记录的是简单线性回归算法的实现,所谓简单线性回归就是对只含有一个特征的数据集进行回归预测。回归问题和分类问题的区别在于预测的结果一个是连续型的,一个是离散型的。简单线性回归的损失函数:即:(真实值-预测值)平方的和,我们希望这个值越小越好。下面是实现简单线性回归的算法import numpy as npimport matplotlib.pyplot as plt#这里我...
2019-01-24 11:11:19 229
原创 数据归一化处理
由于数据集特征的量纲不同,所以需要归一化处理。常用的归一化方法:1.最值归一化这种方法适合用于分布有明显边界的情况。当存在个别特别大,或者特别小的数字出现的时候,这种归一化处理方式不好2.均值方差归一化适合用于没有明显分布边界,存在极端数据的情况import numpy as npimport matplotlib.pyplot as plt//均值方差归一化x=np.random...
2019-01-06 11:26:35 718
原创 网格搜索与K临近算法中的超参数
机器学习中调参通常调的就是超参数,如何找到一个最好的超参数,除了通过经验,也可以通过网格搜索的方式进行选择首先我们来看下如何寻找KNN中最好的k(这里的k即相近节点数)best_score=0.0best_k=-1for k in range(1,11): knn_clf=KNeighborsClassifier(n_neighbors=k) knn_clf.fit(x_train,...
2019-01-05 12:43:35 670 1
原创 测试数据集train_test_split
首先对上一篇的k临近算法进行补充如何使用sklearn中的knnfrom sklearn.neighbors import KNeighborsClassifier//和附件的6个点进行比较knn_classifier=KNeighborsClassifier(n_neighbors=6)//进行模型拟合knn_classifier.fit(x_train,y_train)//进行预...
2019-01-04 19:25:35 824
原创 K临近算法实现
K临近算法实现最近开始学习机器学习算法,这是我写的第一篇博客,主要为了记录自己每天学习了什么,课程内容来自于慕课网。首先导入我们需要用到的numpy 和 matplotlib函数库import numpy as npimport matplotlib.pyplot as plt训练数据集raw_data_X=[[3.393533211,2.331273381], ...
2019-01-03 18:59:13 339
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人