
机器学习
文章平均质量分 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 · 6722 阅读 · 6 评论 -
LVQ 学习向量量化 聚类 python 实现 以及 一些 思考
思路就不多说了。。 import numpy as np import pandas as pd import matplotlib.pyplot as plt def 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 · 2112 阅读 · 1 评论 -
DBSCAN 密度聚类 Python实现
DBSCAN是一种利用样本“密度”信息进行聚类的算法,有两个超参数,一个是核心点的邻域半径,一个是核心点邻域内拥有的点的个数(包括自己)。 看了网上不少算法流程,大多说得模棱两可。。有的还是错的。。比如将同一个点分入到了两个不同的类,然后把这个两个类“结合”成一个。 我理解的原理就是: ①由邻域半径和点的个数,找到核心点的集合,以西瓜书为例,假设是[3,5,6,8,9,13,14,18,19...原创 2018-12-28 16:39:11 · 3537 阅读 · 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 · 14829 阅读 · 8 评论 -
线性判别分析 LDA 样本中心投影 推导
最近回看周志华老师的《机器学习》,里面对于LDA算法做了简单的描述。 当时对于样本中心在直线上的投影为没太看懂,现在索性就推了一下,其实很简单。 以平面二维为例: 设为样本中心点,LDA直线为, 投影直线的斜率与LDA直线垂直,斜率为,求得直线: 直线与LDA直线的交点,即是样本中心在直线上的投影点: 解得投影点: 所以,距离为: 第三步,把分子x0+y0·W写...原创 2018-12-20 15:45:02 · 1688 阅读 · 3 评论 -
Coursera NG 机器学习 第五周 正则化 bias Vs variance Python实现
ex5.py import scipy.optimize as op import numpy as np from scipy.io import loadmat from ex5modules import * #Part 1: Loading and visualize data data=loadmat('ex5data1.mat') X=data['X'] y=data['y'] ...原创 2018-11-22 20:18:27 · 342 阅读 · 0 评论 -
Coursera NG 机器学习 第八周 异常检测 推荐系统 Python实现
Anomaly Detection ex8.py from scipy.io import loadmat from ex8Modules import * import numpy as np #Part 1:low-dimensional exmaples data=loadmat('ex8data1.mat') X=data['X'] #X.shape (307,2) Xval=dat...原创 2018-11-21 16:59:26 · 273 阅读 · 0 评论 -
Coursera NG 机器学习 第七周 KMeans PCA 图像压缩 Python实现
KMeans ex7.py import numpy as np import matplotlib.pyplot as plt import time from scipy.io import loadmat from sklearn.cluster import KMeans from ex7modules import * #Part 1:Check MyKMeans X=loa...原创 2018-11-16 19:11:08 · 1214 阅读 · 0 评论 -
Coursera NG 机器学习 第六周 SVM分类 Spam Classifier Python 实现
SVM 分类 ex6.py import numpy as np from scipy.io import loadmat from sklearn.svm import SVC import matplotlib.pyplot as plt from ex6modules import * #Exmaple 1 data=loadmat('ex6data1.mat') X=data['...原创 2018-11-16 18:48:45 · 698 阅读 · 0 评论 -
Coursera NG 机器学习 第三周 手写识别 逻辑回归 神经网 Python实现
Logistic Regression ex3.py from scipy.io import loadmat import numpy as np import matplotlib.pyplot as plt import scipy.optimize as op def sigmoid(x): return 1/(1+np.exp(-x)) def lrCostFunc(...原创 2018-11-07 18:31:46 · 495 阅读 · 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 · 13214 阅读 · 11 评论