机器学习
文章平均质量分 57
csdn_inside
这个作者很懒,什么都没留下…
展开
-
Python fminunc 的替代方法
最近闲着没事,想把coursera上斯坦福ML课程里面的练习,用Python来实现一下,一是加深ML的基础,二是熟悉一下numpy,matplotlib,scipy这些库。在EX2中,优化theta使用了matlab里面的fminunc函数,不知道Python里面如何实现。搜索之后,发现stackflow上有人提到用scipy库里面的minimize函数来替代。我尝试直接调用我的costfun...原创 2018-08-10 10:33:19 · 6489 阅读 · 6 评论 -
LVQ 学习向量量化 聚类 python 实现 以及 一些 思考
思路就不多说了。。import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdef LVQ(X,y,n_clusters,learning_rate=0.1): #随机选择n_clusters个样本作为p向量 idx=np.random.choice(X.shape[0],n_cluster...原创 2018-12-25 21:06:44 · 1985 阅读 · 1 评论 -
DBSCAN 密度聚类 Python实现
DBSCAN是一种利用样本“密度”信息进行聚类的算法,有两个超参数,一个是核心点的邻域半径,一个是核心点邻域内拥有的点的个数(包括自己)。看了网上不少算法流程,大多说得模棱两可。。有的还是错的。。比如将同一个点分入到了两个不同的类,然后把这个两个类“结合”成一个。我理解的原理就是:①由邻域半径和点的个数,找到核心点的集合,以西瓜书为例,假设是[3,5,6,8,9,13,14,18,19...原创 2018-12-28 16:39:11 · 3443 阅读 · 1 评论 -
GMM 高斯混合模型 聚类 Python实现
原理也不多说了。。大致思路就是把数据建立成k个高斯分布,EM迭代N次。最后看每个点在哪个高斯分布的概率最高,就分到那个分布。这里的computeGamma函数,用来算第i个簇的后验概率γji,用了2层循环,效率不高,本来想向量化的,搞了半天没搞出来。。干脆就先循环吧。。包括后面的fit方法也是一样。。用了很多循环。X的shape是(n_samples,n_features)mu的sha...原创 2018-12-26 19:46:33 · 14565 阅读 · 8 评论 -
线性判别分析 LDA 样本中心投影 推导
最近回看周志华老师的《机器学习》,里面对于LDA算法做了简单的描述。当时对于样本中心在直线上的投影为没太看懂,现在索性就推了一下,其实很简单。以平面二维为例:设为样本中心点,LDA直线为,投影直线的斜率与LDA直线垂直,斜率为,求得直线:直线与LDA直线的交点,即是样本中心在直线上的投影点:解得投影点:所以,距离为:第三步,把分子x0+y0·W写...原创 2018-12-20 15:45:02 · 1560 阅读 · 3 评论 -
Coursera NG 机器学习 第五周 正则化 bias Vs variance Python实现
ex5.pyimport scipy.optimize as opimport numpy as npfrom scipy.io import loadmatfrom ex5modules import *#Part 1: Loading and visualize datadata=loadmat('ex5data1.mat')X=data['X']y=data['y']...原创 2018-11-22 20:18:27 · 282 阅读 · 0 评论 -
Coursera NG 机器学习 第八周 异常检测 推荐系统 Python实现
Anomaly Detection ex8.pyfrom scipy.io import loadmatfrom ex8Modules import *import numpy as np#Part 1:low-dimensional exmaplesdata=loadmat('ex8data1.mat')X=data['X'] #X.shape (307,2)Xval=dat...原创 2018-11-21 16:59:26 · 226 阅读 · 0 评论 -
Coursera NG 机器学习 第七周 KMeans PCA 图像压缩 Python实现
KMeans ex7.py import numpy as npimport matplotlib.pyplot as pltimport timefrom scipy.io import loadmatfrom sklearn.cluster import KMeansfrom ex7modules import *#Part 1:Check MyKMeansX=loa...原创 2018-11-16 19:11:08 · 1095 阅读 · 0 评论 -
Coursera NG 机器学习 第六周 SVM分类 Spam Classifier Python 实现
SVM 分类ex6.pyimport numpy as npfrom scipy.io import loadmatfrom sklearn.svm import SVCimport matplotlib.pyplot as pltfrom ex6modules import * #Exmaple 1data=loadmat('ex6data1.mat')X=data['...原创 2018-11-16 18:48:45 · 628 阅读 · 0 评论 -
Coursera NG 机器学习 第三周 手写识别 逻辑回归 神经网 Python实现
Logistic Regression ex3.pyfrom scipy.io import loadmatimport numpy as npimport matplotlib.pyplot as pltimport scipy.optimize as opdef sigmoid(x): return 1/(1+np.exp(-x))def lrCostFunc(...原创 2018-11-07 18:31:46 · 438 阅读 · 0 评论 -
MDS 降维 详细推导 及 Python实现
MDS的思路就是保持新空间与原空间的相对位置关系,先用原空间的距离矩阵D,求得新空间的内积矩阵B,再由内积矩阵B求得新空间的表示方法Z。西瓜书上的推导比较简洁,自己详细的推了一遍。假设Z矩阵是新空间的表示,mxd'维,z1,z2到zm表示一个行向量,即每一个样本。定义新空间的内积矩阵B,B矩阵的bij元素,即是z的第i行与第j行的内积。为了使新空间与原空间保持相对位置关系,...原创 2019-01-07 19:52:48 · 12550 阅读 · 11 评论