-
[ TIL 220921 ]Today I Learned 2022. 9. 22. 00:24
πSQLD
Chap 01 . λ°μ΄ν° λͺ¨λΈλ§μ μ΄ν΄
- Modeling μ νμ€μΈκ³λ₯Ό λ¨μννμ¬ νννλ κΈ°λ²
λ€μν νμμ λν΄μ μΌμ ν νκΈ°λ²μ μν΄ ννν΄ λμ λͺ¨νμ λ§λ€μ΄ κ°λ μΌ
νμ€μΈκ³μμ νμν λ°μ΄ν°λ₯Ό μ μ₯νλ λ°μ΄ν°λ² μ΄μ€λ₯Ό ꡬμΆνκΈ° μν λΆμ/ μ€κ³μ κ³Όμ
κ΄λ¦¬νκ³ μνλ λ°μ΄ν°
γ νΉμ§ : μΆμν , λ¨μν, λͺ νν
γ μΈ κ°μ§ κ΄μ : λ°μ΄ν°κ΄μ , νλ‘μΈμ€ κ΄μ , λ°μ΄ν°μ νλ‘μΈμ€μ μκ΄ κ΄μ ( interaction )
γ μΈ κ°μ§ λ¨κ³
1. κ°λ μ λ°μ΄ν° λͺ¨λΈλ§ : μ μ¬μ λ°μ΄ν° λͺ¨λΈλ§ , μΆμνμ λ λ²¨μ΄ κ°μ₯ λμ, μ 무 μ€μ¬μ , ν¬κ΄μ μμ€μ λͺ¨λΈλ§
2. λ Όλ¦¬μ λ°μ΄ν° λͺ¨λΈλ§ : μ¬μ¬μ©μ± κ°μ₯ λμ , key , μμ± κ΄κ³λ± λͺ¨λ νννλ λ¨κ³
3. 물리μ λ°μ΄ν° λͺ¨λΈλ§ : μ±λ₯μ΄λ κ°μ©μ± λ± λ¬Όλ¦¬μ μΈ μ±κ²© κ³ λ €ν΄ λͺ¨λΈ νν
γ λ°μ΄ν°μ λ λ¦½μ± : ANSI-SPARC μν€ν μ²λ DBMSμ μΆμμ μ€κ³ νμ€ -> DBμ λν μ¬μ©μλ€μ κ΄μ κ³Ό DBκ° μ€μ λ‘ ννλλ 물리μ μΈ λ°©μμ λΆλ¦¬νκΈ° μν¨
- DB μ‘΄μ¬ λͺ©μ μ€ νλ : μ¬μ©μμκ² λ°μ΄ν° 보μ¬μ€ μ μλ viewμ 곡νλ κ²
-> μ¬μ©μ κ΄μ μμλ λ΄λΆ ꡬ쑰μ λν΄ κ΅³μ΄ μ νμκ° μμ
-> DBA κ΄μ μμλ μ΄ν리μΌμ΄μ μ μν₯μ μ£Όμ§ μκ³ λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰λ₯Ό λ³κ²½ν μ μμ΄μΌ λ 립μ±μ΄ 보μ₯λλ€κ³ ν μ μμ
- 3λ¨κ³ μ€ν€λ§ ꡬ쑰
1. μΈλΆ μ€ν€λ§ External Schema μ¬μ©μ κ΄μ Multiple User’s View
2. κ°λ μ€ν€λ§ Conceptual Schema ν΅ν©λ κ΄μ Community View of DB
3. λ΄λΆ μ€ν€λ§ Internal Schema 물리μ κ΄μ Phsical Representation ( 물리μ μ μ₯ ꡬ쑰 ) Q . μΈλΆ μ€ν€λ§λ DBμ κ° μ¬μ©μλ μμ© νλ‘κ·Έλλ¨Έκ° μ κ·Όνλ DBμ μ μ, κ°λ μ€ν€λ§λ λͺ¨λ μ¬μ©μ κ΄μ μ ν΅ν©ν μ‘°μ§ μ 체 κ΄μ μ ν΅ν©μ μΈ κ΄μ .
κ°λ μ€ν€λ§λ μΈλΆμ€ν€λ§μ μ¬μ©μμ + DBAμΈ κ²?
μμ ANSI-SPARC μν€ν μ²μ 3λ¨κ³ μ€ν€λ§ κ΅¬μ‘°κ° λ³΄μ₯νλ λ 립μ±
A. λ Όλ¦¬μ λ λ¦½μ± : κ°λ μ€ν€λ§κ° λ³κ²½λμ΄ μΈλΆ μ€ν€λ§λ μν₯λ°μ§ μλλ€
B. 물리μ λ λ¦½μ± : λ΄λΆ μ€ν€λ§κ° λ³κ²½λμ΄λ μΈλΆ/κ°λ μ€ν€λ§λ μν₯λ°μ§ μλλ€ - ERD ( Entity Relationship Diagram )
Entity λ€κ³Ό κ΄κ³μ κ΄ν λ€μ΄μ΄κ·Έλ¨
νκΈ° λ°©μ : Peter Chen , IDEF1X , IE/Crow’s Foot, Min-Max/ISO , UML , Case Method/Barker ( μ€λΌν΄ )
- IE/Crow’s Foot λΆλͺ¨ μν°ν°μ μλ³μκ° μμ μν°ν°μ μ£Όμλ³μ ( μλ³μ κ΄κ³ ) ,
λΆλͺ¨ μν°ν°μ μλ³μκ° μμ μν°ν°μ μΌλ° μμ± ( λΉμλ³μ κ΄κ³ ) : μ΄ λΆλΆ μ΄ν΄ μ΄λ €μ. - ERD μμ± μμ
1. μν°ν° λμΆνκ³ κ·Έλ¦°λ€
2. μν°ν° μ μ νκ² λ°°μΉνλ€
3. μν°ν° κ°μ κ΄κ³λ₯Ό μ€μ νλ€
4. κ΄κ³λͺ μ κΈ°μ νλ€
5. κ΄κ³μ μ°Έμ¬λλ₯Ό κΈ°μ νλ€
6. κ΄κ³μ νμ/ μ ν μ¬λΆλ₯Ό κΈ°μ νλ€ - μμ€ν λΆμμ μν λͺ¨λΈλ§μ κΈ°λ₯
1. μμ€ν μ΄ ν₯ν λ³ννκ³ μ νλ λͺ¨μ΅μΌλ‘ κ°μν ν΄μ€λ€
2. μμ€ν μ ꡬμΆνλ κ³Όμ μμ κ²°μ ν κ²μ λ¬Έμννλ€
3. μμ€ν μ ꡬμΆνλ ꡬ쑰νλ νμ μ 곡νλ€
4. μμ€ν μ ꡬ쑰μ νλμ λͺ μΈνν΄μ€λ€
- Entity : λ 립체, DBμμ μλ³μ΄ κ°λ₯ν κ°μ²΄
μ 무μμ μ°μ΄λ λ°μ΄ν°λ₯Ό μ©λλ³λ‘ λΆλ₯ν κ·Έλ£Ή
λͺ νν μ‘°κ±΄μ΄ κΈ°μ€μ΄ λμ΄μΌ ν¨
γ μν°ν°λ table, μΈμ€ν΄μ€ row, μμ± column
γ μν°ν° νΉμ§ : μ€μ§μ μΌλ‘ μ 무μμ μ°μ΄λ μ 보, μ λν¬ν¨ 보μ₯νλ μλ³μκ° μμ΄μΌν¨, 2κ° μ΄μμ μΈμ€ν΄μ€, 1κ° μ΄μ μμ±, λ€λ₯Έ μν°ν°μ 1κ° μ΄μμ κ΄κ³
γ μν°ν° λΆλ₯ : μ ν μν°ν°, κ°λ μν°ν°, μ¬κ±΄ μν°ν° / (λ°μμμ ) κΈ°λ³Έ μν°ν°, μ€μ¬μν°ν°, νμ μν°ν°
* κΈ°λ³Έ μν°ν° : λ 립μ μΌλ‘ μμ±, μμ μν°ν° κ°μ§ μ μμ ex ) μν, νμ
* μ€μ¬ μν°ν° : κΈ°λ³Έ μν°ν°λ‘ λΆν° νμ, νμ μν°ν° μμ± ex ) μ£Όλ¬Έ
* νμ μν°ν° : 2κ° μ΄μμ μν°ν°λ‘λΆν° νμ ex ) μ£Όλ¬Έ λ΄μ, μ΄λ²€νΈ μλͺ¨ μ΄λ ₯ ( μμΈ μ€κ³λ¨κ³μμ λ§μ΄ λμΆ ) * μν°ν° μ΄λ¦μ νκΈ°
1. μ 무μμ μ€μ λ‘ μ°μ΄λ μ©μ΄ μ¬μ©
2. νκΈ μ½μ΄λ‘ μ¬μ©νμ§ μκ³ μλ¬Έ λλ¬Έμλ‘ νκΈ°
3. λ¨μ λͺ μ¬λ‘ νν, λμ΄μ°κΈ°λ νμ§ μμ
4. λ€λ₯Έ μν°ν°μ μλ―ΈμμΌλ‘ μ€λ³΅λ μ μμ
5. ν΄λΉ μν°ν°κ° κ°κ³ μλ λ°μ΄ν°κ° 무μμΈμ§ λͺ ννκ² νν - μμ± :π λ₯λ¬λκΈ°μ΄
- κ΅¬κΈ μ½λ© κ°μ : μΉλΈλΌμ°μ λ‘ μ½λ© μ μ, λ₯λ¬λ μν΄ νμν νΈμ§ λ§μΉλ©΄ κ΅¬κΈ ν΄λΌμ°λ μλ²μμ ν΄λΉ νλ‘κ·Έλ¨ μ€ν κ²°κ³Όλ₯Ό κ΅¬κΈ μ½λ©μ 보μ¬μ€. κ΅¬κΈ μ½λ©Colaboratoryμ ν΅ν΄ λ§λ€κ³ μ€νν νμΌμ κ΅¬κΈ λλΌμ΄λ²μ μ μ₯νκ³ λΆλ¬μ¬ μ μλ€
- μ½λ© κΈ°λ³Έ μ€μ : μμ > λ ΈνΈ μ€μ > νλμ¨μ΄ κ°μκΈ° GPU/TPU
* TPU : ꡬκΈμμ λ§λ λ°μ΄ν° λΆμ λ° λ₯λ¬λμ© νλμ¨μ΄, κ΅¬κΈ ν΄λΌμ°λ μλ² λ΄μμλ§ μ¬μ©ν μ μμΌλ©°, GPUλ³΄λ€ νΉμ νκ²½μμ ν¨μ¬ λΉ λ₯Έ μ°μ°μ΄ κ°λ₯- λ₯λ¬λ : ν μνλ‘ λΌμ΄λΈλ¬λ¦¬κ° λ°λμ νμν¨
- tf.__version__ : ν μνλ‘ λΌμ΄λΈλ¬λ¦¬ λ²μ νμΈ- λ¨Έμ λ¬λ : λ°μ΄ν° μμμ κ·μΉ λ°κ²¬, κ·Έ κ·μΉμ μλ‘μ΄ λ°μ΄ν°μ μ μ©ν΄μ μλ‘μ΄ κ²°κ³Ό λμΆνλ λ° μ΄μ μ΄ λ§μΆμ΄ μλ€
* csv : comma seperated value
1. λ°μ΄ν°λ₯Ό λ¨Έμ λ¬λ μκ³ λ¦¬μ¦μ λ£κ³
2. λ°μ΄ν°κ° κ°μ§ ν¨ν΄κ³Ό κ·μΉμ λΆμν΄ μ μ₯ : νμ΅ training
3. μλ‘μ΄ νμκ° μ€λ©΄ μ μ₯λ λΆμ κ²°κ³Όμ λΉκ΅ν΄ μμ‘΄ κ°λ₯μ± μμΈ‘λ¨Έμ λ¬λμ μμΈ‘ : μΌλ§λ μ νν κ²½κ³μ κΈλλ
νΌμ νΈλ‘ > μλ¬λΌμΈ > μ ν νκ· > λ₯λ¬λ
#1 νκ²½ μ€λΉ from tensorflow.python.keras.models import Sequential from tensorflow.python.keras.layers imoprt Dense import numpy as np #2 λ°μ΄ν° μ€λΉ !git clone https://github.com/taehojo/data.git Data_set=np.loadtxt("./data/ThoraricSurgery3.csv", delimiter=",") X=Data_set[:,0:16] y=Data_set[:,16] #3 ꡬ쑰결μ model=Sequential() model.add(Dense(30, input_dim=16, activation='relu')) #μλμΈ΅ model.add(Dense(1, activation='sigmoid')) #μΆλ ₯μΈ΅ #4 λͺ¨λΈ μ€ν model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) history=model.fit(X,y,epochs=5, batch_size=16) #ν λ²μ λͺ κ°μ λ°μ΄ν° μ¬μ©ν κ²μΈμ§
* ν μνλ‘ : ꡬκΈμμ λ§λ λ₯λ¬λ λΌμ΄λΈλ¬λ¦¬ , μ¬μ©λ² μ΄λ €μ keras κ°λ°ν΄ μ¬μ© λΉνκΈ°μ μ‘°μ’ μ¬ μ¬μ΄
- λ₯λ¬λμ μ¬λ¬ μΈ΅μ΄ μμ¬μλ ꡬ쑰
kerasμ model=Sequential() ν¨μλ λ₯λ¬λμ ν μΈ΅ ν μΈ΅μ model.add()λΌλν¨μ μ¬μ©ν΄ κ°λ¨ν μΆκ°μμΌ μ€
- Denseλ μ λ ₯κ³Ό μΆλ ₯μ μ΄μ΄νκ² λͺ¨λ μ°κ²°νλΌλ κ²μ΄μ μμμΌν κ²
1. μ’μ λ₯λ¬λ λͺ¨λΈμ λ§λ€λ €λ©΄ λͺ κ°μ μΈ΅μΌλ‘ μμ μ¬λ €μΌ νλκ°?
2. Dense ν¨μ μμ μλ μ«μμ μ€μ μ μλ―Έλ 무μμ΄λ©°, μ΄λ»κ² μ μν΄μΌ νλκ°?
- μ΄λ€ λ°μ΄ν°λ₯Ό κ°μ§κ³ 무μμ ν κ²μΈμ§μ λ°λΌ λ₯λ¬λ μ€κ³
- κ° μ€μ κ³Ό λ³μμ μλ―Έλ₯Ό μκ³ μ΄κ²μ μμ λ‘κ² κ΅¬μ±ν μ μλμ§κ° λ₯λ¬λμ μ λ€λ£¨λμ§ μ¬λΆ κ²°μ - λ₯λ¬λμ μν μ리λ₯Ό λ°°μΈ λ μ΄λ°μ μΌμ°¨ν¨μ μμ΄ λ±μ₯νλλ° xκ° μ£Όμ΄μ§κ³ μνλ yκ°μ΄ μμ λ μ μ ν aμ bλ₯Ό μ°Ύλ κ². μ΄κ²μ΄ λ₯λ¬λμ μ€λͺ νλ κ°μ₯ κ°λ¨ν νν.
- λ₯λ¬λμ μ΄ν΄νλ λ° κ°μ₯ μ€μν μν μ리λ λ―ΈλΆ. λ₯λ¬λμ κ²°κ΅ μΌμ°¨ν¨μμ aμ bκ°μ ꡬνλ κ²μΈλ°, aμ bλ μ΄μ°¨ ν¨μ ν¬λ¬Όμ μ μ΅μκ°μ ꡬνλ κ².- λ₯λ¬λμ μ΄ν΄νλ λ° κ°μ₯ μ€μν μνμ리λ λ―ΈλΆ( μ μ μ κΈ°μΈκΈ° , μΌμ°¨ν¨μ )
- μΌμ°¨ν¨μμ aμ bκ°μ ꡬνλ κ². aμ bκ°μ μ΄μ°¨ ν¨μ ν¬λ¬Όμ μ μ΅μκ°μ ꡬνλ κ²
- κ·Έλ¦¬κ³ μ΄ μ΅μκ°μ λ―ΈλΆμΌλ‘ ꡬνλ κ²- μκ°λ³νμ¨ : λ―ΈλΆ , μ΄λ μͺ½μ ν₯νλ λ°©ν₯μ±μ μ§λκ³ μμ, μ΄ λ°©ν₯μ λ°λΌ μ§μ μ κΈΈκ² κ·Έλ €μ£Όλ©΄ μ μ μ΄ κ·Έλ €μ§. μ΄ μ μ΄ μ΄ μ μ κΈ°μΈκΈ°
- λ―ΈλΆ = μκ° λ³νμ¨ κ΅¬νλ κ²
- λ―ΈλΆκ³μ = κΈ°μΈκΈ°
- νΈλ―ΈλΆ : μνλ ν κ°μ§ λ³μλ§ λ―ΈλΆ, κ·Έ μΈμλ λͺ¨λ μμλ‘ μ·¨κΈ
- μκ·Έλͺ¨μ΄λ ν¨μ : μ§μ ν¨μμμ λ° κ°μ΄ μμ°μμ eμΈ ν¨μ
μμ°μμ : 무리μ : 2.718281828...- μκ·Έ λͺ¨μ΄λ ν¨μ
-> μ°Έ κ±°μ§ νλ¨ μ₯μΉ νΈμμ μ€μνκ² λ€λ£° ν¨μ : μκ·Έλͺ¨μ΄λ ν¨μ
- λ₯λ¬λμ κ°μ₯ λ§λ¨μμ μ΄λ£¨μ΄μ§λ κΈ°λ³Έμ μΈ λ κ°μ§ κ³μ° μ리 : μ ν νκ·μ λ‘μ§μ€ν± νκ·
- κ°μ₯ νλ₯ν μμΈ‘μ : μ ν νκ· linear regression λΆμμ μ΄μ©ν λͺ¨λΈ
xκ°μ λ°λΌ yκ°μ΄ λ³ν¨ / x: λ 립 λ³μ / y : μ’ μ λ³μ
νλμ xκ° : λ¨μ μ ν νκ· simple linear regression
μ¬λ¬κ°μ xκ° : λ€μ€ μ ν νκ· multiple linear regression- λ°μ΄ν°μμ μ£Όμ΄μ§ μ λ€μ νΉμ§μ λ΄μ μ§μ : μΌμ°¨ ν¨μ : y=ax+b μ¬κΈ°μ aμ bλ₯Ό μ νν μμΈ‘ν΄ λ΄μΌν¨
μ ννκ·=μ νν μ μ κ·Έλ €λ΄λ κ³Όμ =μ΅μ μ aκ°κ³Ό bκ°μ μ°Ύμλ΄λ μμ- μ΅μ μ κ³±λ² method of least squares
νμ§λ§ μ΄ κ³΅μλ§μΌλ‘ λͺ¨λ μν©μ ν΄κ²¨λκΈ°μ μ΄λ €μ. μ¬λ¬ κ°μ μ λ ₯μ μ²λ¦¬νκΈ°μλ λ¬΄λ¦¬κ° μκΈ° λλ¬Έ.
-> κ·Έλμ κ°μ₯ λ§μ΄ μ¬μ©νλ λ°©λ² ' μΌλ¨ κ·Έλ¦¬κ³ μ‘°κΈμ© μμ ν΄λκ°κΈ° ' μ€μ°¨κ° μ΅μκ° λ λκΉμ§ μ΄ κ³Όμ μ κ³μ λ°λ³΅
μ¬κΈ°μ μ€μν κ² * λμ€μ κ·Έλ¦° μ μ΄ λ¨Όμ κ·Έλ¦° μ λ³΄λ€ λ μ’μμ§ λμμ§λ₯Ό νλ¨νλ λ°©λ² , μ¦ κ° μ μ μ€μ°¨λ₯Ό κ³μ°ν μ μμ΄μΌνκ³ , μ€μ°¨κ° λ μμ μͺ½μΌλ‘ λ°κΎΈλ μκ³ λ¦¬μ¦μ΄ νμν¨μ΄λ₯Ό μν΄ μ μ μ€μ°¨λ₯Ό νκ°νλ λ°©λ² νμ
= νκ· μ κ³± μ€μ°¨ Mean Square Error MSE
( μ€μ κ° - μμΈ‘κ° )^2μ ν©
λͺ©ν : a,b μ΄λ»κ² μ‘°μ νλ©΄ MSE νκ· μ κ³± μ€μ°¨κ° μ΅μκ° λ κΉ? MSEκ° μ΅μκ° λλλ‘ aλ‘ λ―ΈλΆ!- μ΄λ λ― μ ννκ·λ μμμ μ§μ μ κ·Έμ΄ μ΄μ λν νκ· μ κ³± μ€μ°¨λ₯Ό ꡬνκ³ , μ΄ κ°μ κ°μ₯ μκ² λ§λ€μ΄μ£Όλ aκ°κ³Ό bκ°μ μ°Ύμκ°λ μμ
- κ²½μ¬νκ°λ² gradient decent
λ―ΈλΆ κΈ°μΈκΈ°λ₯Ό μ΄μ©ν΄ μ΄λ€ aκ°μ΄ λ m(μ΅μκ°)μ κ°κΉμ΄μ§ νλ¨νλ κ²½μ¬ νκ°λ²
λ―ΈλΆ = ν μ μμμ μκ° κΈ°μΈκΈ°
μ΅μκ°μ μ°Ύλ 건 = λ―ΈλΆκ°μ΄ 0μΈ μ§μ μ μ°Ύλ κ² = κΈ°μΈκΈ°κ° 0κ²½μ¬νκ°λ² : μ΄λ κ² λ°λ³΅μ μΌλ‘ κΈ°μΈκΈ° aλ₯Ό λ³νμμΌμ mκ°μ μ°Ύμλ΄λ λ°©λ²
νμ΅λ₯ learning rate :
κΈ°μΈκΈ°μ λΆνΈλ₯Ό λ°κΎΈμ΄ μ΄λμν¬ λ μ μ ν 거리λ₯Ό μ°Ύμ§ λͺ»ν΄ λ무 λ©λ¦¬ μ΄λμν€λ©΄ a κ°μ΄ ν μ μΌλ‘ λͺ¨μ΄μ§ μκ³ κ·Έλ¦Ό 5-4 μ κ°μ΄ μλ‘ μΉμμ λ²λ¦°λ€. λ°λΌμ μ΄λλ§νΌ μ΄λμν¬μ§ μ μ€ν κ²°μ ν΄μΌ νλλ°, μ΄λ μ΄λ거리λ₯Ό μ ν΄μ£Όλ κ²μ΄ λ°λ‘ νμ΅λ₯ , λ₯λ¬λμμ νμ΅λ₯ μ κ°μ μ μ ν λ°κΎΈλ©΄μ μ΅μ μ νμ΅λ₯ μ μ°Ύλ κ²μ μ€μν μ΅μ ν κ³Όμ μ€ νλμ΄λ€λ€μλ§ν΄ κ²½μ¬νκ°λ²μ μ€μ°¨μ λ³νμ λ°λΌ μ΄μ°¨ ν¨μ κ·Έλνλ₯Ό λ§λ€κ³ μ μ ν νμ΅λ₯ μ μ€μ ν΄ λ―ΈλΆ κ°μ΄ 0μΈ μ§μ μ ꡬνλ κ². yμ νΈ bκ°λ μ΄μ κ°μ μ±μ§. bκ°μ΄ λ무 ν¬λ©΄ μ€μ°¨λ ν¨κ» 컀μ§κ³ , λ무 μμλ μ€μ°¨κ° 컀μ§λ€. κ·Έλμ μ΅μ μ bκ°μ ꡬν λ μμ κ²½μ¬ νκ°λ² μ¬μ©νλ€
'Today I Learned' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[ TIL 220927 ] (0) 2022.09.28 [ TIL 220922 ] THU (0) 2022.09.24 [ TIL 220920 ] (1) 2022.09.21 [ TIL : 220913 ] (0) 2022.09.21 [ TIL - 220912 ] (1) 2022.09.13