クラスタ
非指導学習を参照してください.
オブジェクトが与えられたときに、オブジェクトをいくつかのクラスタ(一部のグループ)に分割するプロセス. 類似サンプルを収集する作業.
代表的な非指導学習の一つである.
オブジェクトをグループ化するプロセスでは、クラスタ内のメンバー間の距離を近接または類似させ、2つの異なるクラスタ内のメンバー間の距離を異なるまたは類似させることを目標とします.
クラスタアルゴリズムによって作成されたグループ 各クラスタの中心.
:axis=0-最初の軸の行で計算/axis=1-2番目の軸の列で計算します.
:abs()-割引の関数、npを計算します.absolute()関数と同じです.
:abs diff-(3001000100)サイズのアレイ
:abs mean-各サンプルの誤差平均、サイズ(300,)の1次元アレイ
:argsort()-小さい順から大きい順のシーケンスから出たabs mean配列のインデックスを返します.
https://github.com/arittung/Deep_Learning_Study
https://www.secmem.org/blog/2019/05/17/clustering/ [韓光メディア]独自学習の機械学習+深さ学習、朴海善著
💡 クラスタ
オブジェクトが与えられたときに、オブジェクトをいくつかのクラスタ(一部のグループ)に分割するプロセス.
代表的な非指導学習の一つである.
オブジェクトをグループ化するプロセスでは、クラスタ内のメンバー間の距離を近接または類似させ、2つの異なるクラスタ内のメンバー間の距離を異なるまたは類似させることを目標とします.
01.クラスタ(クラスタ、一部グループ)
02.集中型(Centroid、クラスタセンター)
パスワード
01.分析画素値
apple = fruits[0:100].reshape(-1, 100*100)
pineapple = fruits[100:200].reshape(-1, 100*100)
banana = fruits[200:300].reshape(-1, 100*100)
print(apple.shape)
print(apple.mean(axis=1))
plt.hist(np.mean(apple, axis=1), alpha=0.8)
plt.hist(np.mean(pineapple, axis=1), alpha=0.8)
plt.hist(np.mean(banana, axis=1), alpha=0.8)
plt.legend(['apple', 'pineapple', 'banana'])
plt.show()
fig, axs = plt.subplots(1, 3, figsize=(20, 5))
axs[0].bar(range(10000), np.mean(apple, axis=0))
axs[1].bar(range(10000), np.mean(pineapple, axis=0))
axs[2].bar(range(10000), np.mean(banana, axis=0))
plt.show()
apple_mean = np.mean(apple, axis=0).reshape(100, 100)
pineapple_mean = np.mean(pineapple, axis=0).reshape(100, 100)
banana_mean = np.mean(banana, axis=0).reshape(100, 100)
fig, axs = plt.subplots(1, 3, figsize=(20, 5))
axs[0].imshow(apple_mean, cmap='gray_r')
axs[1].imshow(pineapple_mean, cmap='gray_r')
axs[2].imshow(banana_mean, cmap='gray_r')
plt.show()
各果物の写真の平均値の違いを表示
(果物:0-100りんご、100-200パイナップル、200-300バナナ)
print(apple.shape)
:アップルアレイサイズprint(apple.mean(axis=1))
:各サンプルのピクセル平均を計算します.:axis=0-最初の軸の行で計算/axis=1-2番目の軸の列で計算します.
サンプルの平均分布をヒストグラムで表示
axis = 1
plt.hist(np.mean(apple, axis=1), alpha=0.8)
:alpha-1未満は透明度を提供します.plt.legend(['apple', 'pineapple', 'banana'])
:legend-表示例plt.show()
ピクセルの平均値を棒グラフで表示
axis = 0
plt.show()
画素平均値を100*100に変更し、画像形式で出力する
plt.show()
:値のサイズはピクセルの位置によって異なります.02.平均値に近い写真を選択
abs_diff = np.abs(fruits - apple_mean)
abs_mean = np.mean(abs_diff, axis=(1,2))
print(abs_mean.shape)
apple_index = np.argsort(abs_mean)[:100]
fig, axs = plt.subplots(10, 10, figsize=(10,10))
for i in range(10):
for j in range(10):
axs[i, j].imshow(fruits[apple_index[i*10 + j]], cmap='gray_r')
axs[i, j].axis('off')
plt.show()
abs_diff = np.abs(fruits - apple_mean)
:apple mean-アップルの平均値:abs()-割引の関数、npを計算します.absolute()関数と同じです.
:abs diff-(3001000100)サイズのアレイ
abs_mean = np.mean(abs_diff, axis=(1,2))
:axisで、各サンプルの平均値を求める2つまたは3つの次元を指定します.:abs mean-各サンプルの誤差平均、サイズ(300,)の1次元アレイ
print(abs_mean.shape)
: (300,)apple_index = np.argsort(abs_mean)[:100]
:値が小さい順(apple meanと誤差が最小のサンプル)に100個選択:argsort()-小さい順から大きい順のシーケンスから出たabs mean配列のインデックスを返します.
返されたインデックスから、最初の100個のドラフト10*10グラフィックを選択します。
axs[i, j].axis('off')
:axis(「off」)-座標軸をスキップplt.show()
コード#コード#
https://github.com/arittung/Deep_Learning_Study
リファレンス
Reference
この問題について(クラスタ), 我々は、より多くの情報をここで見つけました https://velog.io/@arittung/DeepLearningStudyDay12テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol