과제에 치여 제대로 못하다가
이번 주를 통틀어서 했던 것들을 정리하려고 한다.
1) 강의 복습 내용
1-1) 리스트 컴프리헨션 :
리스트를 이용하여 간단한 코드를 작성할 수 있다. 나는 아직 익숙치 않아 직관적으로 이해하긴 더 어렵다. 하지만 프로그래머스 등 다른 사람들의 코드를 이해하기 위해서 배우는게 좋다.
ex)
[i+j for i in word1 for j in word2] #1 ==
for i in word1 : #2
for j in word2
#1 == #2 이 두 문장은 같다.
1-2) map and reduce : map은 특정 '함수'를 각기 다른 list에 뿌리고 reduce는 뿌리되 list를 통합한다.
1-3) 에러문에서 자주 보이는 'not iterable' 의 iterable의 의미 :
iterable 객체는 Sequence형 데이터로 순서가 있는 데이터다.
1-4) generator : iterable object를 툭수한 형태로 사용하는 함수; 리스트처럼 메모리를 바로 잡지 않고 대기만 시켜주므로 메모리를 효율적으로 사용가능하다.
1-5) *(Aterisk) : 가변인자; 길이를 모르거나(ex: 매일 변하는 마트의 손님 수 ) parameter등의 이름을 따로 지정하지 않고 그때그때
cf) unpacking cotainer로써도 쓰임
2-1) RNN의 특징: 시퀸스 데이터를 위한 가변적인 데이터를 다룰 수 있다.
\begin{aligned}
\mathbf{O}_{t} &=\mathbf{H}_{t} \mathbf{W}^{(2)}+\mathbf{b}^{(2)} \\
\mathbf{H}_{t} &=\sigma\left(\mathbf{X}_{t} \mathbf{W}_{X}^{(1)}+\mathbf{H}_{t-1} \mathbf{W}_{H}^{(1)}+\mathbf{b}^{(1)}\right)
\end{aligned}``
\begin{aligned}
\mathbf{H}_{t} 는 \ 잠재변수
\end{aligned}``
유의사항 : W는 시간에 관한 변수가 아니다.
2) 과제 수행 과정 / 결과물 정리
1~5까지의 과제를 풀면서 3번부터 막히기 시작했다. 특히 4번에는 거의 하루종일 시간을 썻다. 가장 큰 문제는 4번의 main에서 계속 Stop Iteration 에러였다. 피어세션 시간에 동료 캠퍼들에게 물어봐 실마리를 찾아 그나마 해내었다. 과제를 끝내고 캠퍼들의 코드를 보니 나와 생각한 큰 틀은 동일하지만 보기에도 훨씬 깔끔했고 잘 정돈 되었다는 느낌을 받았다. 그래서 앞으로는 코딩을 짜기 전 생각을 하면서 설계도? 조직도? 알고리즘도? 를 그려볼 생각이다.
3) 피어세션 정리
동료 캠퍼들과 같이 1시간반 동안 서로 얘기하는 시간이 부스트캠프 내에는 있다. 이 시간 동안 우리 조는 강의 내용 설명 및 문답, 과제 리뷰, 앞으로 할 내용 정리 등을 하였다. 회의 내용은 HackMD에 정리하였다. 처음으로 HackMD같은 협업 툴을 알게 되었고, 이러 유용한 협업 툴 덕분에 정리가 한결 쉬웠다.
4) 학습 회고
코딩실력, 아직 모르겠다. 혼자 많이 쳐보고 다양한 함수에 대해서 알아가고 써보고, 실제 손으로 설계도를 그려가면 늘지 않을까? 코딩실력이 캠퍼별(정확히는 캠퍼의 전형별로 차이가 꽤 나는 것 같던데 지금으로썬 뒤쳐지지 않게 하는 방법 뿐이 없어 보인다). 다향히 수학은 어느 정도는 미리 학습해놓은 부분이 있어 무난했다.