<jupyter_start><jupyter_text>클래스 정의에는 __ init __라는 특별한 메서드가 있는데, 클래스를 초기화 하는 방법을 정의한다.<jupyter_code>import numpy as np
A=np.array([[1,2],[3,4]])
print(A)
B=np.array([[3,0],[0,6]])

A*B #브로드캐스팅
np.dot(A,B) #단순 행렬 연산
import numpy as np

import matplotlib.pyplot as plt

x=np.arange(0,6,0.1) # 0에서 6까지 0.1간격으로 생성
y=np.sin(x)

plt.plot(x,y)
plt.show()
import matplotlib.pyplot as plt
from matplotlib.image import imread

img=imread('../dataset/cactus.png')
plt.imshow(img)
plt.show()<jupyter_output><empty_output><jupyter_text>**퍼셉트론 이란?**  퍼셉트론은 다수의 신호를 입력받아 하나의 신호를 출력한다. 퍼셉트론 신호도 흐름을 만들고 정보를 앞으로 전달한다. 신호는 '흐른다/안흐른다'(1/0) 두가지 값을 가질 수 있다.  입력신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해진다. 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출력한다. 그 한계값을 임계값이라고도 한다.<jupyter_code>def AND(x1,x2):
    w1,w2,theta=0.5,0.5,0.7
    tmp=x1*w1+x2*w2
    if tmp <= theta:
        return 0
    elif tmp > theta:
        return 1
    
AND(0,0)
AND(1,0)
AND(0,1)
AND(1,1)
import numpy as np
x= np.array([0,1])
w=np.array([0.5,0.5])
b=-0.7
w*x
np.sum(w*x)
np.sum(w*x)+b
def AND(x1,x2):
    x=np.array([x1,x2])
    w=np.array([0.5,0.5])
    b=-0.7
    tmp = np.sum(w*x)+b
    if tmp<=0:
        return 0
    else:
        return 1<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1696869851729819, 'fraction_numerical': 0.05271828665568369, 'mean_word_length': 3.4669117647058822, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '545352', 'license': 'MIT', 'n_tokens_mistral': 794, 'n_tokens_neox': 893, 'n_words': 137, 'path': 'what-i-learn-today/21_04_20.ipynb', 'repo_name': 'HyoJungChoi/deep-learning-from-scratch', 'size': '1214'}