机器学习-10 聚类算法

news2024/11/15 7:07:31

聚类算法

  • 算法概括
    • 聚类(clustering)
      • 聚类的概念
      • 聚类的要求
      • 聚类与分类的区别
    • 常见算法分类
    • 聚类算法中存在的问题
  • 距离度量
    • 闵可夫斯基距离
    • 欧式距离(欧几里得距离)
    • 曼哈顿距离
    • 切比雪夫距离
    • 皮尔逊相关系数
    • 余弦相似度
    • 杰卡德相似系数
  • 划分聚类
    • K-means聚类算法
      • 算法原理
      • 基本概念
    • 算法实例
      • 题目背景
      • k-means的手动实现
      • sklearn库中K-means算法
      • 聚类分析的度量

算法概括

机器学习有两种学习类型:

  • 有监督学习:即数据点有已知的结果。
  • 无监督学习:即数据点没有已知的结果,利用无标签的数据学习数据的分布或数据与数据之间的关系被称作无监督学习。
    注:
    ①有监督学习和无监督学习的最大区别在于数据是否有标签。
    ②无监督学习最常应用的场景是聚类和降维,聚类算法用于识别数据中未知的结构,降维则是使用数据中的结构特征来简化数据。

聚类(clustering)

聚类的概念

  • 聚类就是根据数据的“相似性”将数据分为多类的过程。
  • 聚类把各不相同的个体分割为有更多相似子集合的工作。
  • 聚类生成的子集合称为

聚类的要求

  • 生成的簇内部的任意两个对象之间具有较高的相似度。
  • 属于不同簇的两个对象间具有较高的相异度
    在这里插入图片描述

聚类与分类的区别

之前学习过k近邻算法分类算法,分类和聚类听上去好像很相似,但是两者完全是不同的应用和原理。
例如,根据下图的四个属性进行预测某一输入的所属类别:
在这里插入图片描述
概括而来就是这样一个流程:
在这里插入图片描述
可以看出训练样本是有明确的标签的,数据点是有已知结果的,而聚类不同,聚类算法本身训练的样本就是无标签的,你不知道它属于哪一类,而把具有空间相近性、性质相似性的数据点归为一类,这就是聚类算法要做的事情。
还是上面的例子:
在这里插入图片描述
这个时候训练样本的标签被盖住了,我们必须从这四个属性入手,把样本聚合成不同的簇,每个簇中的数据点的属性最相似。
概括而来就是这样一个过程:
在这里插入图片描述
现在小结一下,分类和聚类的区别概括而来就是这样:

分类:学习/训练有监督,训练样本有明确标签。
聚类:学习/训练过程无监督,样本无明确标签。
聚类与分类的区别在于聚类不依赖于预先定义的类,没有预定义的类和样本——聚类是一种无监督的数据挖掘任务。

常见算法分类

  • 划分聚类: 大部分方法是基于距离的聚类算法。如:K-Means、K-Medoids、CLARANS等。
  • 层次聚类: 例如:BIRCH、CURE、CHAMELEON等。层次聚类可采用“自底向上”或“自顶向下”方案。在“自底向上”方案中,初始时每一个数据纪录都被视作一个单独的簇,接着再把那些相互邻近的簇合并成一个新的簇,直到所有的记录都在一个簇或者满足某个终止条件为止。
  • 密度聚类: 该方法是基于(结点)密度的聚类算法,主要算法有:DBSCAN、OPTICS、DENCLUE等。只要一个区域中的点的密度大于某个阈值,就把它加到与之相近的聚类中去。
  • 网格聚类: 主要算法有:STING、CLIQUE、WAVE-CLUSTER。将数据空间按某种特征(属性)划分成网格,聚类处理以网格(单元)为基本单位。
    注:
    ①后边三种聚类不做介绍,主要以划分聚类中的K-Means算法作为本章学习重点。
    ②需要说明的是,这些算法本身无所谓优劣,而最终运用于数据的效果却存在好坏差异,这在很大程度上取决于数据使用者对于算法的选择是否得当。

聚类算法中存在的问题

  • ①高维数据集中存在大量无关的属性,所有维中存在簇的可能性几乎为零。
  • ②高维空间中数据较低维空间中数据分布稀疏,其中数据间距离几乎相等是普遍现象,而传统聚类方法是基于距离进行聚类的,因此在高维空间中无法基于距离来构建簇。

距离度量

评估两个不同样本之间的“相似性”,通常使用的方法就是计算两个样本之间的“距离”,使用不同的方法计算样本间的距离关系到聚类结果的好坏。
大多数聚类分析是以相似性计算为基础的,同一个聚类中的个体模式相似,不在同一个聚类中的个体模式则相异。目前,相似性距离的计算都是基于向量的,也就是计算两个向量的距离,距离相近则相似度越大。
下面,介绍几种常见的距离计算方法。

闵可夫斯基距离

闵可夫斯基距离(Minkowski Distance)是一种常见的方法,用于衡量数值点之间距离。
假设 X ( x 1 , x 2 , . . . , x n ) , Y ( y 1 , y 2 , . . . , y n ) X(x_1,x_2,...,x_n),Y(y_1,y_2,...,y_n) Xx1,x2,...,xn,Yy1,y2,...,yn)是n维空间的两个向量,那么,闵可夫斯基距离定义为:
d i s t ( X , Y ) = ∑ k = 1 n ∣ x k − y k ∣ p p dist(X,Y)=\sqrt[p]{\textstyle \sum_{k=1}^{n} |x_k-y_k|^p} distX,Y=pk=1nxkykp
注:该距离最常用的p是2和1,前者是欧几里得距离,后者是曼哈顿距离。当p趋近于无穷大时,闵可夫斯基距离转化为切比雪夫距离。

闵可夫斯基距离计算距离如下:

import numpy as np
x=np.random.random(10)
y=np.random.random(10)
dist=np.linalg.norm(x-y,ord=4)#闵可夫斯基距离,此时p=4

欧式距离(欧几里得距离)

欧式距离(Euclidean Distance)最初用于计算欧几里得空间中两个点的距离。假设 X ( x 1 , x 2 , . . . , x n ) , Y ( y 1 , y 2 , . . . , y n ) X(x_1,x_2,...,x_n),Y(y_1,y_2,...,y_n) Xx1,x2,...,xn,Yy1,y2,...,yn)是n维空间的两个向量,它们之间的欧几里得距离是:
d i s t ( X , Y ) = ∑ k = 1 n ( x k − y k ) 2 p dist(X,Y)=\sqrt[p]{\textstyle \sum_{k=1}^{n} (x_k-y_k)^2} distX,Y=pk=1n(xkyk)2
n=2欧几里得距离就是平面上两个点的距离。如果欧式距离看作物品相似程度,那么距离越近就越相似,也就是说距离越小,相似度越大。
在这里插入图片描述

欧式距离计算举例如下:

import numpy as np
import scipy.spatial.distance as dis
x=np.random.random(10)
y=np.random.random(10)
X=np.vstack([x,y])
dist=dis.pdist(X,metric='euclidean')
#或者直接按照闵可夫斯基距离的计算方式
dist=np.linalg.norm(x-y,ord=2)

曼哈顿距离

曼哈段距离也称为城市街区距离(City Block distance),或绝对距离。即在欧几里得空间的固定直角坐标系上两点所形成的线段对轴的投影距离总和。
坐标 ( x 1 , y 1 ) (x_1,y_1) (x1,y1)的点 P 1 P_1 P1与坐标 ( x 2 , y 2 ) (x_2,y_2) (x2,y2)的点 P 2 P_2 P2的曼哈顿距离为:
d i s t ( P 1 , P 2 ) = ∣ x 1 − x 2 ∣ + ∣ y 1 − y 2 ∣ dist(P_1,P_2)=|x_1-x_2|+|y_1-y_2| dist(P1,P2)=x1x2+y1y2
在这里插入图片描述

曼哈顿距离计算Python语句如下:

import numpy as np
x=np.random.random(10)
y=np.random.random(10)
dist=np.linalg.norm(x-y,ord=1)

切比雪夫距离

闵可夫斯基距离定义中,当p= + ∞ +\infty +时,称为切比雪夫距离(Chebyshev Distance)。
假设 X ( x 1 , x 2 , . . . , x n ) , Y ( y 1 , y 2 , . . . , y n ) X(x_1,x_2,...,x_n),Y(y_1,y_2,...,y_n) Xx1,x2,...,xn,Yy1,y2,...,yn)是n维空间的两个向量,它们之间的切比雪夫距离是:
d i s t ( X , Y ) = lim ⁡ n → ∞ ) ( ∑ i = 1 n ∣ x i − y i ∣ k ) 1 k = max ⁡ ( ∣ x i − y i ∣ ) , 1 ≤ i ≤ n dist(X,Y) = \lim_{n \to \infty})(\sum_{i=1}^{n}|x_i-y_i|^k)^\frac{1}{k} = \max(|x_i-y_i|), 1 \leq i \leq n dist(X,Y)=nlim)(i=1nxiyik)k1=max(xiyi),1in

切比雪夫距离计算Python语句如下:

import numpy as np
x=np.random.random(10)
y=np.random.random(10)
dist=np.linalg.norm(x-y,ord=np.inf)

皮尔逊相关系数

皮尔逊相关系数(Pearson Correlation Coeffient)即相关分析中的相关系数r,一般用于计算两个定距变量间联系的紧密程度,它的取值在[-1,+1]之间。
当相关系数为0时,X和Y两变量无线性关系(不代表没有除了线性关系外的其他关系);当X的值增大,Y也增大,正相关关系,相关系数在0.00与1.00之间;当X的值增大,Y减小,负相关关系,相关系数在-1.00与0.00之间。相关系数的绝对值越大,相关性越强,相关系数越接近于1和-1,相关度越强,相关系数越接近于0,相关度越弱。
公式如下:
r ( x , y ) = E ( x y ) − E ( x ) ( y ) E ( x 2 ) − ( E ( x ) ) 2 E ( y 2 ) − ( E ( y ) ) 2 = c o v ( x , y ) σ x σ y r(x,y) = \frac{E(xy)-E(x)(y)}{\sqrt[]{E(x^2)-(E(x))^2}{\sqrt[]{E(y^2)-(E(y))^2}}} = \frac{cov(x,y)}{\sigma_x\sigma_y} r(x,y)=E(x2)(E(x))2 E(y2)(E(y))2 E(xy)E(x)(y)=σxσycov(x,y)

皮尔逊相关系数计算Python语句如下:

import numpy as np
import scipy.spatial.distance as dis
x=np.random.random(10)
y=np.random.random(10)
X=np.vstack([x,y])
dist=1-dis.pdist(X,metric='correlation')

余弦相似度

余弦相似度就是两个向量之间的夹角的余弦值。假设 X ( x 1 , x 2 , . . . , x n ) , Y ( y 1 , y 2 , . . . , y n ) X(x_1,x_2,...,x_n),Y(y_1,y_2,...,y_n) Xx1,x2,...,xn,Yy1,y2,...,yn)是n维空间的两个向量,它们之间的余弦相似度是:
cos ⁡ θ = X Y ∣ X ∣ ∣ Y ∣ \cos \theta = \frac{XY}{|X||Y|} cosθ=X∣∣YXY
余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比距离向量,余弦相似度更加注重两个向量在方向上的差异,而非距离或长度。
夹角余弦取值范围为[-1,1]。夹角余弦越大表示两个向量的夹角越小,夹角余弦越大表示两个向量的夹角越大。当两个向量的方向重合时余弦取最大值1,当两个向量的方向完全相反夹角余弦取最小值-1。
在这里插入图片描述
余弦相似度计算Python语句如下:

import numpy as np
import scipy.spatial.distance as dis
x=np.random.random(10)
y=np.random.random(10)
X=np.vstack([x,y])
dist=1-dis.pdist(X,metric='cosine')

欧几里得vs余弦距离

  • 欧几里得距离适合于基于坐标的度量。
  • 余弦距离更适合那些出现位置不重要的数据,例如文本数据。
  • 欧几里得距离对维度灾难更敏感。

杰卡德相似系数

Jaccard系数主要用于计算符号度量或布尔值度量的个体间的相似度,只关心个体间共同具有的特征是否一致这个问题。假设集合 A和 B,两个集合的杰卡德相似系数表示如下:
J ( A , B ) = ∣ A ∩ B ∣ ∣ A ∪ B ∣ J(A,B)= \frac {|A∩B|}{|A∪B|} J(A,B)=ABAB

杰卡德相似距离计算Python语句如下:

import numpy as np
import scipy.spatial.distance as dis
x=np.random.random(10)
y=np.random.random(10)
X=np.vstack([x,y])
dist=dis.pdist(X,metric='jaccard')

划分聚类

K-means聚类算法

算法原理

k-means算法以k为参数,把n个对象分为k个簇,使簇内具有较高的相似度,而簇间的相似度较低。
其处理过程如下:
①随机选择k个点作为初始的聚类中心。
②对于剩下的点,根据其与聚类中心的距离,将其归入最近的簇。
③对于每个簇,计算所有点的均值作为新的聚类中心。
④重复2、3直到聚类中心不再发生改变。

算法流程如下所示:
在这里插入图片描述

如下图所示为聚类A、B、C、D、E五个点的聚类中心的选取过程:
在这里插入图片描述

基本概念

要得到簇的个数,需要指定K值。
质心:均值,即向量各维取平均即可。
距离的度量:常用欧几里得距离余弦相似度(先标准化)
优化目标: min ⁡ ∑ i = 1 K ∑ x ∈ C i d i s t ( c i , x ) 2 \min \sum_{i=1}^{K}\sum_{x \in C_i}^{}dist(c_i,x)^2 mini=1KxCidist(ci,x)2

算法实例

题目背景

练习算法实例,要求做到:
1、理解程序中每个函数以及每个变量的含义;
2、掌握k-means算法的实现过程;
3、使用k-means算法对下表中的5个样本进行聚类(k=2)。
在这里插入图片描述

k-means的手动实现

import numpy as np
def kmeans(X, k, max_iter=300):
    # 随机选择k个初始质心
    centroids = X[np.random.choice(X.shape[0], k)]
    for i in range(max_iter):
        # 计算每个样本点到质心的距离,并分配到最近质心所在的簇中
        distances = np.sqrt(((X - centroids[:, np.newaxis])**2).sum(axis=2))
        labels = distances.argmin(axis=0)
        # 重新计算每个簇的质心
        new_centroids = np.array([X[labels == j].mean(axis=0) for j in range(k)])
        # 检查质心是否变化,若没有则退出
        if np.all(centroids == new_centroids):
            break
        centroids = new_centroids
    return labels, centroids
X=np.array([[170,70],[178,75],[100,100],[120,40],[10,0.1]])
labels,centroids=kmeans(X,k=2)
print("当k=3时,簇划分情况为:",labels)
print("当k=3时,质心为:\n",centroids)

sklearn库中K-means算法

scikit-learn模块提供了k-Means聚类方法,原型为:
class sklearn.cluster.KMeans(n_clusters=8, init=’k-means++’, n_init=10, max_iter=300, tol=0.0001, precompute_distances=’auto’, verbose=0, random_state=None, copy_x=True, n_jobs=1, algorithm=’auto’)
主要参数包括:

  • n_clusters:整型,可选,默认参数值为8,聚类数量。
  • init:‘k-means++’,‘random’或者ndarray之一,默认为’k-means++’。
    ’k-means++’: 以一种巧妙的方式选择k-均值聚类的初始集群中心,以加快收敛速度。
    ‘random’:从初始质心的数据中随机选取 k 观察 (行)。
    ndarray:给出形状 (n_clusters, n_features)的初始中心。
  • n_init:整型,默认参数值为10。用不同的初始化质心运行算法的次数。由于k-Means是结果受初始值影响的局部最优的迭代算法,因此需要多跑几次以选择一个较好的聚类效果。
  • max_iter:整型,默认参数值为300,最大的迭代次数。
  • tol:浮点型,默认参数值为0.0001,最小容忍误差,当误差小于tol就会退出迭代。
  • algorithm:可以是‘auto’,‘full’或者’elkan’之一,默认参数值为’auto’。’full’适合于EM类算法;’elkan’适合于三角形不等式,但暂不支持稀疏数据;而当设置为’auto’时,稠密数据用’elkan’,稀疏数据用’full’。
  • random_state:整型,RandonState实例或None,默认参数值为None。具体如下:
    int:该参数用于设置随机数发生器的种子;
    RandonState instance:该参数是一个随机数发生器;
    None:使用np.random作为随机数发生器。
import numpy as np
from sklearn.cluster import KMeans
#使用k-means算法对数据进行聚类
X=np.array([[170,70],[178,75],[100,100],[120,40],[10,0.1]])
kmeans_model=KMeans(n_clusters=2,init="k-means++")
kmeans_model.fit(X)
print("当k=2时,簇划分情况为:",kmeans2_model.labels_)
print("当k=2时,质心为:\n",kmeans2_model.cluster_centers_)

聚类分析的度量

  • 聚类分析的度量指标用于对聚类结果进行评判,分为内部指标和外部指标两大类:
    外部指标指用事先指定的聚类模型作为参考来评判聚类结果的好坏。
    内部指标是指不借助任何外部参考,只用参与聚类的样本评判聚类结果好坏。
  • 聚类的目标是得到较高的簇内相似度和较低的簇间相似度,使得簇间的距离尽可能大,簇内样本与簇中心的距离尽可能小。
  • 聚类得到的簇可以用聚类中心、簇大小、簇密度和簇描述等来表示:
    聚类中心是一个簇中所有样本点的均值(质心)。
    簇大小表示簇中所含样本的数量。
    簇密度表示簇中样本点的紧密程度。
    簇描述是簇中样本的业务特征。
    注:初始质心的选择和聚类簇数k的选择都会对聚类结果产生影响,它们的选择会导致不同的聚类效果,因此需要进行多次实验,选择最优的初始质心、聚类簇数k。在极端情况下,有时候会出现局部最优解问题,即算法陷入局部最优解,无法到达全局最优解。总的来说,KMeans算法具有一定的随机性。

未完待续~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/511765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

建造者模式详解:建造随意搭配的肯德基套餐

一、简介 建造者模式(Builder Pattern)是五种创建型设计模式之一,它将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。这句话怎么理解呢:一个对象的构建过程本质上就是这个对象包含的所有成员…

一觉醒来IDEA感觉不香了,AI智能编程工具Cursor使用

一、简介 为使用人工智能编程而构建的编辑器,一款人工智能编程软件、智能Ai代码生成工具。 它有什么特点呢? 集成了GPT-4,国内可用,不仅有ChatGPT的聊天功能,还有强大的自动代码生成能力,简直是编码神器。 …

Java中常见的几种数组排序方法

这篇文章总结一下我学习到的几种常见的数组排序方法 冒泡排序 冒泡排序在我看来是最简单、最基本的排序方法,我们应当将冒泡排序的原理和代码熟记于心。 冒泡排序的原理十分简单:用数组的第一个元素和第二个元素进行比较,将大的放到后面&a…

【Java编程系列】Minio实现文件上传下载

热门系列: 【Java编程系列】Amazon S3实现文件上传下载 目录 热门系列: 1、前言 2、Minio实战代码 2.1 Minio环境部署 2.2 Minio的Sdk对接实现 2.2.1 Minio Maven依赖 2.2.2 minio配置与初始化 2.2.3 上传文件 2.2.4 下载文件 2.2.5 生成文件…

【LLM大模型】LLM模型和指令微调方法

note 文章目录 note零、AIGC生成式模型1. 核心要素2. LLM evolutionary tree3. 几个bigScience里的概念 二、LLM大模型1. ChatGLM(1)GLM-130B(2)ChatGLM-6B 2. LLaMA3. RoBERTa4. Bloom5. PaLM 三、模型指令微调1. 指令微调的注意…

使用Vue+Vue-router+el-menu实现菜单功能实战

前言 上节回顾 上一小节我们使用H5+CSS3实现了管理平台的架构布局,并且通过Vuex的使用,获取到前端数据本地化存储的username,绑定到右上角进行全局展示。还不了解上下文的同学可以回顾一下 使用Vue+Vuex+CSS3完成管理端响应式架构模板实战 。 本节介绍 本小节已经是专栏的…

【C语言】字符串---刷题篇

1.统计字符串中元音字母的字数 2.使用起泡法和选择法将字符串按ASCII码值从小到大排列 3.将字符串中的数字字符倒置,即‘0’变‘9’、‘1’变‘8’、…、‘9’变‘0’.例如:字符串“a1b2c3d4e9f0”倒置变为“a8b7c6d5e0f9 4.将一个字符串中从第m个字符开…

187页9万字企业大数据治理与云平台实施方案(word)

1 项目背景概述 1.1 项目背景理解 1.2 项目需求范围 2 项目技术方案 2.1 咨询研究服务方案 2.1.1 咨询研究服务内容 2.1.2 咨询服务方案 2.2 第三方独立评估 2.2.1 概述 2.2.2 管理办法 2.2.3 考核机制 2.3 安全咨询研究服务方案 2.3.1 安全咨询服务内…

大唐杯学习笔记(1)—— 5G网络架构与组网部署

目录 一、名词汇总1.核心网与接入网2.5G网络架构3.核心网架构演进(1)2G核心网(1)3G,4G核心网 4.4G核心网架构5.5G核心网架构6.5G接入网网架构7.主要网元功能 二、5G主要网元功能1.用户面功能UPF(User Plane Function)2.会话管理功能SMF(Session Management Function…

【SpringCloud微服务实践】服务注册与发现(理论)

注册与发现 在之前的示例中,采取的是硬编码的方式,需要调用的微服务的地址是被我们写死在文件或代码中的。在传统应用程序中,一般都是这么做的,然而这种方式存在不少缺陷: 静态配置:因为是写死的网络地址…

Cy5.5-PEG2000-Biotin,Cy5.5-聚乙二醇-生物素;Biotin-PEG-Cy5.5;可用于检测抗生物素、链霉亲和素或中性生物素

Cyanine5.5-PEG-Biotin,Cy5.5-聚乙二醇-生物素 中文名称;Cy5.5-聚乙二醇-生物素 英文名称;Cyanine5.5-PEG-Biotin 性状:粘稠液体或固体粉末,取决于分子量大小 溶剂:溶于水、氯仿、DMSO等常规性有机溶剂 分子量PEG:1k、2k、3.…

【Python】JupyterLab报错:Server Connection Error如何解决?

文章目录 一、报错情形二、深层原因三、解决方案3.1 重命名用户名3.2 启用Administrator账户3.3 切换Administrator账户3.4 重命名用户文件夹3.5 修改注册表3.6 修改环境变量 小结 Anaconda的JupyterLab 作为优秀的网页编辑器,非常适用于编写Python程序,…

Qt的窗口的设置

窗口外部设置 Qt::WindowFlags Qt::WidgetQWidget默认窗口,没有父窗口的话,是一个独立窗口Qt::Window是一个窗口,有窗口边框和标题Qt::Dialog是一个对话框窗口Qt::Sheet是一个窗口或部件Macintosh表单(sheet)Qt::Drawer是一个窗口或部件Ma…

Mac 安装Nginx详细教程

一、前言 本文介绍一下,如何在Mac系统中安装Nginx,把详细过程记录下来,方便以后查看,也方便大家学习。 二、正文 1、安装 Homebrew homebrew是什么?它是Mac中的一款软件包管理工具,通过brew可以很方便的…

复刻一个羊了个羊掘金商城版

游戏逻辑 与羊了个羊逻辑一致&#xff0c;不再赘述 游戏实现 盛放元素的容器box&#xff0c;临时存储的容器temp&#xff0c;多余元素的容器source与source1&#xff0c;结果元素result <div id"box"></div><div id"temp"></div&…

【OC底层-类和对象深基】

文章目录 前言1 类和对象1.1 类1.1.1 cache_t 和 class_data_bits_t 1.2 对象 2 isa指针&#xff08;结构体&#xff09;复习-OC中的对象实例对象&#xff08;Instance&#xff09;类对象(Class)元类对象isa的指向方法调用顺序&#xff08;不涉及消息转发&#xff09; 2.1 unio…

JavaScrip 实战案例之【实现动画导航栏效果】

​Hello~ 咱们今天一起来学习一个动画导航的小项目 Part 1 HTML结构 <body><nav class"active" id"nav"><ul><li><a href"#">Home</a></li><li><a href"#">Works</a>&…

Cy5.5-PEG-NH2/SH/COOH/MAL,NH2-PEG-Cy5.5;CY5.5-聚乙二醇-氨基文章介绍

Cy5.5-PEG-NH2 cy5.5-聚乙二醇-氨基 中文名称&#xff1a;CY5.5-聚乙二醇-氨基 英文名称&#xff1a;Cy5.5-PEG-NH2 溶剂&#xff1a;溶于水、氯仿&#xff0c;DMSO等常规性有机溶剂 性状&#xff1a;固体或粉末&#xff0c;取决于分子量 分子量&#xff1a;1k、2k、3.4k、…

计算机视觉(4)—— 未有深度学习之前

目录 四、未有深度学习之前 4.1 图像分割 4.1.1 基于阈值分割 4.1.2 基于边缘分割 4.1.3 基于区域分割 &#xff08;1&#xff09;区域生长法 &#xff08;2&#xff09;分水岭算法 4.1.4 基于图论分割 &#xff08;1&#xff09;Graph Cuts 分割 ​&#xff08;2&…

关于说服(三)- 表达

关于口才 一般人眼中的口才好&#xff1a; 有见解&#xff0c;有想法内容条理分明&#xff0c;逻辑清晰严谨真诚自信&#xff0c;拉近距离 这些都关注于逻辑与内容&#xff0c;真正的表达是要教你如何输出有价值的信息 表达需要做什么&#xff1a; 如何筛选素材&#xff0c…