Hinton Diagram
8173 단어 neurosciencePython
Hinton Diagram
조합 행렬의 시각화를 실행합니다.여기에는 뉴런의 결합을 가설한다.시뮬레이션에서 1~M은 excitatory neuron, M~N은 inhibitory neuron, 왼쪽은 excitatory의 결합, 오른쪽은 inhibitory의 결합으로 보기 쉽다.
가로축은 pre
, 세로축은 post
이다.
주요하다
다음 함수는 excitatory의 결합을 빨간색, inhibitory의 결합을 파란색으로 씁니다.
pythondef hinton(matrix, max_weight=None, ax=None):
"""結合行列を描画"""
ax = ax if ax is not None else plt.gca()
if not max_weight:
max_weight = 2 ** np.ceil(np.log(np.abs(matrix).max()) / np.log(2))
N = len(matrix)
ax.patch.set_facecolor('gray')
ax.set_aspect('equal', 'box')
ax.set_xticks(np.arange(1, N+1))
ax.set_yticks(np.arange(1, N+1))
ax.set_xlim([0.5, N+0.5])
ax.set_ylim([0.5, N+0.5])
for (x, y), w in np.ndenumerate(matrix):
color = 'red' if w > 0 else 'blue'
size = np.sqrt(np.abs(w) / max_weight)
rect = plt.Rectangle([x+1 - size / 2, y+1 - size / 2], size, size,
facecolor=color, edgecolor=color)
ax.add_patch(rect)
ax.autoscale_view()
ax.invert_yaxis()
실제로 그렸을 때plt.style.use("ggplot")
느낌이 좋았다.
다음은araypsp
가 psp[i][j]
에 대응하는 결합.
plotplt.style.use("ggplot")
plt.figure(figsize=(6,6))
hinton(psp.T)
plt.xlabel("pre")
plt.ylabel("post")
plt.savefig("hinton_diagram.pdf", bbox_inches="tight", pad_inches=0)
예제
이것은 무작위 수로 조합 행렬을 만들고 히튼 다이어그램으로 그린 결과입니다.사각형의 크기만 봐도 결합의 강도를 알 수 있다.
참고 자료
다음 코드를 기반으로 만듭니다.
https://matplotlib.org/gallery/specialty_plots/hinton_demo.html
Reference
이 문제에 관하여(Hinton Diagram), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/en3/items/ca75522837dc542e9a62
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음 함수는 excitatory의 결합을 빨간색, inhibitory의 결합을 파란색으로 씁니다.
python
def hinton(matrix, max_weight=None, ax=None):
"""結合行列を描画"""
ax = ax if ax is not None else plt.gca()
if not max_weight:
max_weight = 2 ** np.ceil(np.log(np.abs(matrix).max()) / np.log(2))
N = len(matrix)
ax.patch.set_facecolor('gray')
ax.set_aspect('equal', 'box')
ax.set_xticks(np.arange(1, N+1))
ax.set_yticks(np.arange(1, N+1))
ax.set_xlim([0.5, N+0.5])
ax.set_ylim([0.5, N+0.5])
for (x, y), w in np.ndenumerate(matrix):
color = 'red' if w > 0 else 'blue'
size = np.sqrt(np.abs(w) / max_weight)
rect = plt.Rectangle([x+1 - size / 2, y+1 - size / 2], size, size,
facecolor=color, edgecolor=color)
ax.add_patch(rect)
ax.autoscale_view()
ax.invert_yaxis()
실제로 그렸을 때plt.style.use("ggplot")
느낌이 좋았다.다음은aray
psp
가 psp[i][j]
에 대응하는 결합.plot
plt.style.use("ggplot")
plt.figure(figsize=(6,6))
hinton(psp.T)
plt.xlabel("pre")
plt.ylabel("post")
plt.savefig("hinton_diagram.pdf", bbox_inches="tight", pad_inches=0)
예제
이것은 무작위 수로 조합 행렬을 만들고 히튼 다이어그램으로 그린 결과입니다.사각형의 크기만 봐도 결합의 강도를 알 수 있다.
참고 자료
다음 코드를 기반으로 만듭니다.
https://matplotlib.org/gallery/specialty_plots/hinton_demo.html
Reference
이 문제에 관하여(Hinton Diagram), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/en3/items/ca75522837dc542e9a62
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Hinton Diagram), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/en3/items/ca75522837dc542e9a62텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)