算法综述(序章)

我认为算法是一个求解的过程,即表示为一个输入,一个输出,一个求解过程,而每个输入和输出都有其各自的属性,画成图就是这样,这个图和E-R图差不多。
在这里插入图片描述
而数据,拥有者自己的性质,既可以作为输入,也可以作为输出。

数据和数据之间,数据的属性间都具有各自的联系,而这些联系大多数只能被表示成隐函数。
在这里插入图片描述
但在这里,一个困扰了我很久的问题诞生了,如果将存在一个单维的时间序列T,我将数据分成T1和T2,其中T1作为input,T2作为output,使用RNN(循环神经网络)获得了一个模型,那么我再次输入T2,得到了一个新的T3,可否理解为已经完成了拟合,T3就是我想要的结果呢?
在这里插入图片描述

这个问题我想了很久,我之前认为是,看似有理论推导但是我却不确定,这也就是为什么我写了这篇综述。
考虑data的属性也是学习机器学习的一个重要过程,这是我认为的,在某些理想状态下,一个算法的聚类精度会被放大,最显而易见的就是基于划分的聚类算法(kmeans,kmedoids),还有基于密度的算法(density-based),这两个算法也是下一章会提到的部分。
在这里,可以用一张图说明:

在这里插入图片描述

这是最为经典的螺旋图,如果是采用kmeans聚类,那么它将会被左右分成两半,这说明DBSCAN在处理这种类型的数据会有独到之处,但是“这种类型”包括什么数据,即能不能用一个公式来描述这些数据的属性具有的共同特征,或者直接用这个算法作为评判标准,很难说,但是我觉得如果用后一种作为评判,那和神经网络的拟合又接近了。
文末,贴上代码,sklearn等科学计算库确实帮了大忙
filename = r’’
input=data = np.loadtxt(filename)
scaler=MinMaxScaler(feature_range=(0,1))
scaler=scaler.fit(input)
input=scaler.transform(input)
n_components=1
pca=PCA(n_components).fit(input)
input_new = pca.transform(input)
X=input[:,1:]

t0 = time.time()
disMat = sch.distance.pdist(input_new,‘euclidean’)
Z=sch.linkage(disMat,method=‘single’)
plt.figure(num=1)
P=sch.dendrogram(Z)
plt.show()
cluster= sch.fcluster(Z, t=2, criterion=‘maxclust’)
t = time.time()-t0
plt.scatter(X[:, 0], X[:, 1], c=cluster)
plt.title(‘time : %f’%t)
plt.show()
cushu=[]
for i in range(0,len(cluster)):
for k in range(0,5):
if cluster[i]==k:
cushu.append(k-1)
count=0
for j in range(0,len(cluster)):
if cushu[j]==input[j,0]:
count=count+1
print('正确率: ',count/len(cluster))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习分类算法是一种将数据集划分为不同类别的技术。下面是一些常见的机器学习分类算法综述: 1. 逻辑回归(Logistic Regression):逻辑回归是一种广泛应用于二分类问题的线性模型。它通过将输入特征与权重相乘并加上偏置项,然后通过一个sigmoid函数将结果映射到0和1之间,从而预测样本属于某个类别的概率。 2. 决策树(Decision Tree):决策树是一种基于树结构的分类算法。它通过对特征进行逐步划分,构建一个树形结构来进行分类。每个内部节点表示一个特征,每个叶子节点表示一个类别。 3. 支持向量机(Support Vector Machines,SVM):SVM是一种二分类算法,其目标是找到一个最优的超平面来将不同类别的样本分开。它通过最大化两个类别之间的间隔来实现分类。 4. 朴素贝叶斯(Naive Bayes):朴素贝叶斯是一种基于贝叶斯定理的概率分类算法。它假设特征之间相互独立,并使用贝叶斯公式计算后验概率来进行分类。 5. K近邻算法(K-Nearest Neighbors,KNN):KNN是一种基于实例的分类算法。它通过计算新样本与训练集中最近的K个样本的距离,并根据这些样本的类别进行投票来进行分类。 6. 随机森林(Random Forest):随机森林是一种集成学习算法,它由多个决策树组成。每个决策树都是通过对训练集进行有放回抽样得到的,然后通过投票或平均来进行分类。 7. 神经网络(Neural Networks):神经网络是一种模拟人脑神经元工作方式的分类算法。它由多个神经元层组成,每个神经元通过激活函数将输入信号转换为输出信号,并通过反向传播算法进行训练。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值