机器学习一些算法模型的实现
06liziqun 用人工智能中的粒子群算法求一个函数的最值
07gauss2dim 用K均值算法进行聚类
08谱聚类参考
09自己写的谱聚类
# k均值聚类
## 算法逻辑
1. 先进行初始化中心点和每个点的归属类
2. 根据每个点与原中心点的距离找到最近的中心点作为归属类
3. 根据每一类的所有点的特征计算平均值来确定新的中心点位置
4. 重复2和3直到所有点的归属都不再变化为止
## python生成随机数据
一维数据用np.random.rand方法
多维数据就用np.random.multivariate_normal
## python保存矩阵到文件
[Numpy提供了几种数据保存的方法](http://www.cnblogs.com/ice-daigua/archive/2012/11/16/2772674.html)
Numpy提供了几种数据保存的方法。
以3*4数组a为例:
### 1 tofile
```
a.tofile("filename.bin")
```
这种方法只能保存为二进制文件,且不能保存当前数据的行列信息,文件后缀不一定非要是bin,也可以为txt,但不影响保存格式,都是二进制。
这种保存方法对数据读取有要求,需要手动指定读出来的数据的的dtype,如果指定的格式与保存时的不一致,则读出来的就是错误的数据。
```
b = numpy.fromfile("filename.bin",dtype = **)
```
读出来的数据是一维数组,需要利用
```
b.shape = 3,4
```
重新指定维数。
### 2 save
```
numpy.save("filename.npy",a)
```
利用这种方法,保存文件的后缀名字一定会被置为.npy,这种格式最好只用 ```numpy.load("filename")```来读取。
### 3.savetxt
```
numpy.savetxt("filename.txt",a)
b = numpy.loadtxt("filename.txt")
```
用于处理一维和二维数组
## python实现矩阵乘法
np.mat创建矩阵,np.dot进行矩阵点乘,具体可以看相关参考
## 程序实现源代码
[n均值聚类](https://github.com/DragonFive/python_cv_AI_ML/blob/master/p07gauss2dim.py)
![figure_1.png](http://upload-images.jianshu.io/upload_images/454341-1cd856be74401574.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
# 用谱聚类做数据聚类
## 1. 数据读取
这里读取的结果是一个二维数据点组成的向量
## 2. 根据点的亲和度建立图,并建立邻接矩阵
设点对亲和性(即边权值)采用如下计算公式:
![Paste_Image.png](http://upload-images.jianshu.io/upload_images/454341-0917fe5d9eaf65bc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
数据图采用 k-近邻方法来生成(即是说,对每个数据点 xi,首先在所有样本中找出不包含 xi 的k个最邻近的样本点,然后xi与每个邻近样本点均有一条边相连,从而完成图构造)。注意,为了保证亲和度矩阵 W 是对称矩阵,可以令 ![Paste_Image.png](http://upload-images.jianshu.io/upload_images/454341-ff90d057733623b6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
### 其中找k个最紧邻的方法
对每个数据点 xi,首先在所有样本中找出不包含 xi 的k个最邻近的样本点,可以先计算所有点的距离,然后找到距离中的第k小的,比它大的都认为是不相邻吧
## 3. 构建拉普拉斯矩阵并归一化
Lap=D-W
norm_lap=D^(-1/2)*Lap*D^(-1/2)
## 4. 计算k个最小的特征值并计算其对应的特征向量
python实现是求出所有的特征值,并外部排序获得前k小的特征值的下标,从此k个最小的特征值及其对应的特征向量
## 5. 分类
这里有两种方法
### 1.一般做法keans
对特征向量重组,作为特征进行Kmeans聚类
### 2.简单做法
直接比较特征向量里面元素的值
## 程序实现源代码
[谱聚类](https://github.com/DragonFive/python_cv_AI_ML/blob/master/p09mySpectral.py)
![figure_2.png](http://upload-images.jianshu.io/upload_images/454341-ccf324be47fdcd1d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
# 横向对比抽象方法
广义上讲,任何在学习过程中应用到矩阵特征值分解的方法均叫做谱学习方法,比如主成分分析PCA(K-L变换) 谱聚类
谱聚类也可以用来进行图像前景和后景的分割,用的也是颜色距离聚类的方法
其它用颜色距离聚类方法做图像分割的还有K均值聚类,而事实上我们设置阈值分割图像的那个matlab方法,其实上可以看成是二均值聚类
从数据上看,我们都没有进行分类器的训练和评价,所以这些都是非监督的学习方法
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
使用Python进行计算机视觉、人工智能、机器学习、深度学习等.zip (73个子文件)
python_cv_AI_ML-master
mxnet
resnet.ipynb 7KB
DenseNet.ipynb 38KB
readme.md 21B
vggnet.ipynb 4KB
googLenet.ipynb 33KB
batch_norm.md 4KB
NetworkInNetwork.ipynb 4KB
alexnet.md.ipynb 5KB
ML_in_action
p06liziqun.py 3KB
p09mySpectral.py 4KB
horseColicTraining.txt 59KB
p14kNN.py 2KB
09TreeRegression.ipynb 19KB
p10testForsklearn.py 1KB
classifierStorage.txt 129B
ex2test.txt 4KB
readme.md 4KB
07-adaboost.ipynb 65KB
05-logistic-regression.ipynb 35KB
04cumsum.py 109B
p15_decision_Tree.py 727B
ex00.txt 4KB
p07gauss2dim.py 3KB
p08spectualRefl.py 2KB
ex2.txt 4KB
horseColicTraining2.txt 59KB
testSet_svm.txt 2KB
03-decision-tree.ipynb 150KB
06-svm.ipynb 5KB
05parzenWindow.py 531B
lenses.txt 795B
p13dezhouPuke.py 4KB
horseColicTest.txt 4KB
ex0.txt 5KB
horseColicTest2.txt 13KB
testSet.txt 2KB
my_deep_learning_lib
backward.py 3KB
readme.md 61B
network2.py 14KB
myTools.py 2KB
cv_python
lena.jpg 46KB
imtools.py 2KB
物体跟踪.py 840B
opencvTest.py 131B
readme.md 3KB
01usePIL.py 1KB
p11imgSegBySpectual.py 2KB
03useNumpy.py 1012B
imageSearch
index.py 2KB
searcher.py 4KB
structuredescriptor.py 403B
readme.md 207B
dataset
100000.png 322KB
queries
103100.png 264KB
colordescriptor.py 2KB
index.csv 2.86MB
search.py 2KB
knn_handwritedata.npz 3.83MB
图像的基本操作.py 808B
图像ROI.py 2KB
matplotTest.py 965B
GuiTest.py 832B
02circleMap.py 566B
p12KLtrans.py 835B
opencv-python.ipynb 451KB
opencvTest (2).py 318B
digits.png 704KB
sample.txt 4KB
gaussData.txt 28KB
.gitignore 83B
data_analyse
readme.md 19B
README.md 751B
用python做计算机视觉,人工智能,机器学习,深度学习等_python_cv_AI_ML
项目内附说明
如果解压失败请用ara软件解压.txt 42B
共 73 条
- 1
资源评论
好家伙VCC
- 粉丝: 2133
- 资源: 9145
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功