91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .py
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-13
  • 語言: Python
  • 標簽:

資源簡介

提供了3種矩陣相似度的度量方法。python。詳見https://mp.csdn.net/mdeditor/79991322

資源截圖

代碼片段和文件信息

import?numpy?as?np
from?PIL?import?Image

def?mtx_similar1(arr1:np.ndarray?arr2:np.ndarray)?->float:
????‘‘‘
????計算矩陣相似度的一種方法。將矩陣展平成向量,計算向量的乘積除以模長。
????注意有展平操作。
????:param?arr1:矩陣1
????:param?arr2:矩陣2
????:return:實際是夾角的余弦值,ret?=?(cos+1)/2
????‘‘‘
????farr1?=?arr1.ravel()
????farr2?=?arr2.ravel()
????len1?=?len(farr1)
????len2?=?len(farr2)
????if?len1?>?len2:
????????farr1?=?farr1[:len2]
????else:
????????farr2?=?farr2[:len1]
????#~如果矩陣的維度、向量的模長不一樣。
????numer?=?np.sum(farr1?*?farr2)
????denom?=?np.sqrt(np.sum(farr1**2)?*?np.sum(farr2**2))
????similar?=?numer?/?denom?#?這實際是夾角的余弦值
????return??(similar+1)?/?2?????#?姑且把余弦函數當線性

def?mtx_similar2(arr1:np.ndarray?arr2:np.ndarray)?->float:
????‘‘‘
????計算對矩陣1的相似度。相減之后對元素取平方再求和。因為如果越相似那么為0的會越多。
????如果矩陣大小不一樣會在左上角對齊,截取二者最小的相交范圍。
????:param?arr1:矩陣1
????:param?arr2:矩陣2
????:return:相似度(0~1之間)
????‘‘‘
????if?arr1.shape?!=?arr2.shape:
????????minx?=?min(arr1.shape[0]arr2.shape[0])
????????miny?=?min(arr1.shape[1]arr2.shape[1])
????????differ?=?arr1[:minx:miny]?-?arr2[:minx:miny]
????else:
????????differ?=?arr1?-?arr2
????numera?=?np.sum(differ**2)
????denom?=?np.sum(arr1**2)
????similar?=?1?-?(numera?/?denom)
????return?similar


def?mtx_similar3(arr1:np.ndarray?arr2:np.ndarray)?->float:
????‘‘‘
????From?CS231n:?There?are?many?ways?to?decide?whether
????two?matrices?are?similar;?one?of?the?simplest?is?the?Frobenius?norm.?In?case
????you?haven‘t?seen?it?before?the?Frobenius?norm?of?two?matrices?is?the?square
????root?of?the?squared?sum?of?differences?of?all?elements;?in?other?wor

評論

共有 條評論

相關資源