* 바닥부터 배우는 강화학습 도서를 읽고 정리한 글입니다

1. 마르코프 프로세스(Markov Process)

(1) 정의

미리 정의된 어떤 확률 분포를 따라서 정해진 시간 간격으로 상태와 상태 사이를 이동해 다니는 과정(Process)

 => 어떤 상태에 도착하면 다음상태가 어디가 될지 정의된 확률에 따라 정해지게 된다

하나의 상태에서 다음 상태로 이동을 가리키는 화살표는 확률에 따라 여러 개가 나타날 수 있으며 각 화살표로 이동확률의 합은 100% 이다

 

- 마르코프 프로세스 정의 표현식

$$ MP \equiv (S, P) $$

 

- 상태의 집합 S

마르코프 프로세스 전 과정에서 가능한 상태를 모두 모아놓은 집합 => S

 

- 전이확률 행렬 P

$$ P_{ss^{'}} $$

상태 \( S \) 에서 다음상태 \( S^{'} \)  로 이동할 확률을 의미한다

 

전이확률을 조건부 확률식으로 풀어서 표현하면 다음과 같다

$$ P_{ss^{'}} = \mathbb{P} \left [ S_{t+1} = s^{'} \vert S_t = s \right ] $$

 

전이확률행렬 이라고 표현하는 이유는 \( P_{ss^{'}} \) 값을 각 상태 \( s \) 와 \( s^{'} \)에 대해 행렬의 형태로 표현할 수 있기 때문이다.

 

만일 특정 마르코프 프로세스에서 모든 상태의 갯수가 5개라면 총 25개 확률값으로 구성된 전이확률 행렬을 구성할 수 있다.

 

위의 전이확률행렬을 이용하여 마르코프 프로세스를 그리면 아래와 같다

 

(2) 마르코프 성질

마르코프 성질은 다음과 같다

"미래는 오직 현재에 의해 결정된다"

$$ \mathbb{P} \left [  S_{t+1} \vert S_t  \right ] = \mathbb{P} \left [ S_{t+1} \vert S_1 , S_2 , ... , S_t \right ] $$

 

마르코프한 성질의 프로세스 예시

예를 들면, 체스 게임 - 다음 둘 수를 판단할 때 현재 체스 판의 상태만 분석하면 다음 둘 수를 (다음 상태) 결정할 수 있다.  즉 체스 게임은 마르코프 성질을 따르는 프로세스라고 할 수 있다.

 

마르코프한 상태인지 판단하는 한 가지 방법은 과거이력 정보가 없는 현재상태만 캡쳐한 정보를 가지고 최선의 다음 상태를 고려할 수 있나, 아니면 과거이력정보를 알면 더 좋은 다음 상태 선택이 가능한 가를 질의해 보는 것이다.

만일 현재상태 정보만 가지고 최선의 다음상태 선택이 가능하다면 마르코프한 성질을 따르는 프로세스라고 할 수 있다.

 

- 마르코프한 성질을 가지지 않는 프로세스 예시

예를 들면, 운전 - 현재 자동자 주변 상황을 사진으로 찍어놓고 지금 상태에서 다음에 브레이크를 밟아야 할지 엑셀을 밟아야 할지 판단할 수 없다

 

따라서 단순히 이런 방식으로 고려한다면 운전은 마르코프 성질을 따르지 않는 프로세스 라고 할 수 있다.

하지만, 만일 1초 마다 자동자 주변상황을 찍어서 과거 사진 10장을 (즉 10초 전 상황) 하나의 상태로 묶어서 제공된다면 다음 상황을 고려할 수 있게 된다.

(영국 딥마인드사에서는 비디오 게임 학습시킬 때, 시점 t 에서의 이미지와 함께 t-1, t-2, t-3 의 과거 이미지를 엮어서 하나의 상태로 제공하였다. 이렇게 함으로 해당 프로세스를 조금이라도 더 마르코프 성질을 따르도록 하기 위함이다)

 

어떤 현상을 마르코프 프로세스로 모델링 하려면 상태가 마르코프 해야 하며, 단일 상태 정보만으로도 정보가 충분하도록 상태를 잘 구성해야 한다

 

 

 

 

 

 

 

 

 

* 바닥부터 배우는 강화학습 도서를 읽고 정리한 글입니다

 

1. 강화학습이란 ?

"순차적인 의사결정 문제에서 누적 보상을 최대화하기 위해 시행착오를 통해 행동을 교정하는 학습과정"

 

예를 들면, 어린이 혼자 두발 자전거를 타면서 배워나가는 과정

 

2. 순차적 의사결정 문제

 - 순차적 의사결정 문제란 

  행위자가 목적을 정한 후 시간 순서대로 주어진 상황에서 목적을 이루기 위해 해당상황을 근거로 목적에 부합한 행동을 하고 그 행동으로 인해 상황이 변화되면 변화된 상황을 근거로 목적에 맞게 행동을 한다. 또 그 행동으로 인해 상황이 변하면 그 변화된 상황을 근거로 목적에 맞게 행동을 하는 순차적인 일련의 문제처리 과정

 

 - 순차적 의사결정 문제의 예

행위자가 아침에 기상해서 학교까지 등교하는 과정을 예를 들 수 있다.

(의사결정)세면 => (의사결정)아침식사 => (의사결정)교복으로 환복 => (의사결정)학교가는 길을 차례로 거쳐 도보로 이동 => 학교 교실 도착

 

이 과정 중에서 등교 과정 시간을 단축하기 위해서는 어떻게 하는 것이 좋을까? 라는 과제가 주어진다면

의사결정 행동에 조금씩 변화를 주면서 시도해보고 시간이 더 걸리는 행동을 피하고 시간을 단축시켰던 행동을 선택하여 전체적으로 등교 과정 시간을 단축시키게 될 것이다.

 

또 다른 예,

주식투자에서 포트폴리오 관리, 운전과정, 게임

 

 - 강화학습은 위의 예와 유사한 방식으로 순차적 의사결정 문제를 잘 처리해나가기 위한 머신러닝 방법이다

 

3. 보상

 - 보상이란 목적에 부합하여 의사결정을 잘 했을 때 그 부분을 의사결정 행위자가 인지할 수 있도록 알려주는 신호이다.

 - 강화학습 목적은 순차적 의사결정 과정에서 받은 보상의 누적합이 최대가 되도록 하는 것이다.

 - 보상의 특징 3가지

   1) 어떻게 X, 얼마나 O

    보상은 "어떻게"에 대한 정보를 가지고 있지 않다. 

    보상은 조금 못하고 있는지, 그저 그렇게 하고 있는지, 잘 하고 있는지, 매우 잘하고 있는지에 대한 정보를 담고 있다.

 

    2) 스칼라

    보상은 스칼라값으로 정해진다(벡터형식이 아니다) => 오직 하나의 목적만을 가지고 있는 값이어야 한다는 의미. 

    보상을 스칼라값 형태로 정할 수 없다면 강화학습 적용이 어렵다.

    최적의 보상을 결정하는 것이 중요하다!!

    보상의 예, 

       - 자산 포트폴리오 배분에서의 이득

       - 자전거 타기에서 넘어지지 않고 나아간 거리

       - 게임에서의 승리

 

   3) 희소하고 지연된 보상

    - 보상이 희소 할 수 있으며, 지연될 수 있다.

    - 행동과 보상이 일대일 대응되면 강화학습은 쉬워진다.

      하지만 대부분의 경우는 어떤 특정행동이 목적에 부합하게 된 것인지 판단을 지나고 나서야 알 수 있다.

      따라서 보상은 여러가지 행동을 한 이후에 주어질 수 있다. 결국 보상은 지연되어 제공될 수 있다는 의미가 된다.

 

4. 에이전트와 환경

위 그림은 순차적 의사결정 문제를 도식화 한 것

에이전트가 액션을 하고 그에 따라 상황이 변하는 것을 하나의 루프라고 한다면 이 루프가 반복되는 것을 순차적 의사결정 문제라 할 수 있다.

 

(1) 에이전트란

 - 강화학습의 주인공

 - 학습하는 대상

 - 운전하는 환경에서는 운전자가 에이전트가 되며, 게임 플레이하는 환경에서는 게임 플레이어가 에이전트

 - 어떤 액션을 할지 정하는 것이 가장 주된 역할

 - 에이전트 입장에서 위 그림의 루프는 3단계로 구성되어 있다

  1) 현재상황 St에서 특정 액션을 결정

  2) 결정된 액션을 환경으로 보냄

  3) 환경으로부터 그에 따른 보상과 다음 상태의 정보를 받음

 

(2) 환경

 - 에이전트를 제외한 모든 요소를 환경이라 한다.

 - 환경의 요소들을 숫자로 표현하여 기록해 놓으면 그것을 "상태" 라고 한다.

   따라서 상태는 여러 숫자들로 구성된 벡터로 볼 수 있다.

 - 환경은 상태변화를 일으키는 역할을 담당한다.

 - 환경 입장에서 위 그림의 루프는 4단계로 구성된다

   1) 에이전트로부터 받은 액션을 통해서 상태 변화 일으킨다

   2) 그 결과 상태가  St => St+1 로 바뀐다

   3) 에이전트에게 줄 보상 Rt+1 도 함께 계산된다

   4) 변경된 상태 St+1,  보상 Rt+1을 에이전트에게 전달

 

순차적 의사결정 문제에서 한 루프를 틱 혹은 타임스텝 이라고 한다.

 

5. 강화 학습의 위력

 (1) 병렬성

   (2) 자가학습

     지도학습처럼 정답을 알려주지 않아도 목적에 부합하도록 스스로 행동을 개선해나가는 능력

 

Ch 1. 환율은 대체 무엇이고, 왜 자꾸 변하는 걸까?

환율은 "대외적인 돈의 값"

한국 원화의 가치가 다른 국가의 통화와 비교해서 얼마인지를 나타낸다

달러 기준 원화가치는 '달러/원' 환율이라 하며 1달러/1200원 이라함은 1달러를 사려면 한화1200원이 필요하다는 의미이다.

 

1달러/1200원 비율이 1달러/1500원으로 상승된다면 이것의 의미는?

=>1달러의 가치가 올라서 원화1200원으로 살 수 없고 1500원을 주어야 살 수 있게 되었다는 의미이며 또한 원화의 가치가 떨어져서 1달러를 1200원으로 부족해서 살 수 없게 되었다는 의미이기도 하다.

=> 이런 상황을 달러의 가치가 올라가므로 달러강세, 원화가치가 상대적으로 떨어졌으므로 원화약세 라고 한다

=> 달러약세/원화강세가 되면 환율은 내려간다

 

Ch 2. 환율과 주가, 환율과 부동산의 상관관계

환율은 언제 오르고 내리는 걸까?

다양한 원인들이 있지만 기본적인 원인 두 가지를 소개한다.

 

1. 한가지는 수출의 결과여부에 따라 환율 영향 받는다

수출이 잘되면 해외에 많은 물건을 팔고 달러를 받게 된다.

우리나라에 달러가 많아 지게 되면 달러의 가치가 하락하게 된다.

달러약세/원화강세 상황이 될 수 있다.

 

무역적자가 발생하면? 예를 들어 원유가격이 상승하게 되면 보유하고 있던 달러로 원유를 사와야 하므로 달러가 해외로 많이 유출되므로 우리나라에 달러가 적어지게 되어 달러강세, 원화약세가 될 수 있다.

세계경제가 좋지 않아 수출이 잘 안될 경우도 달러강세 상황이 될 수 있다.

 

2. 주식시장 큰손들이 움직일 때

주식시장의 거래자들은 개인, 기관, 외국인 3분류로 나눌 수 있다.

그 중 외국인은 거대한 외국자본을 활용하여 국내 주식시장에 참여하는 큰손들이다.

만일 외국인들이 국내주식에 매력을 느껴 매수를 하려 한다면 

일단 달러를 우리나라로 들고 들어와 원화로 바꾸고 매수를 하게 된다.

이런 외국인들이 많아진다면 주가는 상승하고 우리나라는 달러를 많이 보유하게 되어 달러가치 하락할 수 있게 된다.

즉 환율은 하락하는 달러약세/원화강세 상황이 될 수 있다.

 

3. 환율과 채권, 환율과 부동산

외국인이 한국 채권을 마구 사들이는 경우, 우리나라 달러가 많아지므로 환율은 하락(달러약세/원화강세), 채권가격은 상승, 채권가격 상승 =>> 채권금리 하락 =>> 대출 부담이 적어지면서 대출이 늘고 =>> 부동산 매입 증가 =>>부동산 가격 상승.

요즘은 부동산 규제 강화로 부동산 보다 다른 자산으로 자금이 유입되는데 특히 주식쪽으로 자금 유입이 많이 발생되면서 주식가격도 상승.

 

 

* '부의 대이동' 도서를 읽고 정리한 글입니다.

 

 

 

아나콘다를 이용해 파이썬 설치 후 파이썬 버전 확인방법

 - cmd 창에서 python --version 입력하면 파이썬 버전 출력된다.

 

1.3.1 산술연산

파이썬 3.X 버전에서는 정수 / 정수 의 결과 자료형은 실수(부동소수점)  (파이썬 2.X 에서는 결과 정수)

 

1.3.2 자료형

type() 함수로 변수나 값의 자료형을 알 수 있다.

예를 들면,

  type(10) => <class 'int'>

  type(2.7) => <class 'float'>

  type("hello") => <class 'str'>

결과출력에서 class는 자료형과 같은 의미로 사용

 

1.3.3 변수

파이썬은 동적언어이다 (변수의 자료형이 상황에 맞게 자동결정)

예, 

  a = 10

  type(a) => <class 'int'>

  a = 1.5

  type(a) => <class 'float'>

 

1.3.4 리스트

여러데이터를 리스트로 저장할 수 있다.

예,

 >> a = [1,2,3,4,5] #리스트 생성

 >> print(a) 

 [1,2,3,4,5]

 >> len(a)

 5

 >> a[0] #리스트의 시작 인덱스는 0부터 시작한다

 1

 >> a[4]

 5

 >> a[4] = 99

 >> print(a)

 [1,2,3,4, 99]

 >> b = a[0:2] #0번부터 2개를 얻어 b변수에 새로운 리스트 구성

 >> print(b)

 [1,2]

 >> b = a[0:10] #0번부터 10개를 얻어 b변수에 리스트 구성하라는 명령이지만 a리스트에 10개 원소가 없으므로 a가 소유하고 있는 5개를 이용해서 b 변수 리스트 구성

 >> print(b)

 [1,2,3,4,99]

 >> a[1:] #1번부터 끝까지

 >> a[:3] #0번부터 3개를 얻는다 (따라서 3번 항목은 포함하지 않는다)

 

 

 

 

 

 

 

1. pandas는 파이썬 언어로 그리드 성격의 데이터를 다룰 때 주로 사용된다

  - pandas의 dataframe을 주로 제어한다

2. dataframe의 3요소 : 컬럼, 데이터(로우), 인덱스

3. dataframe 만들기

import pandas as pd

- DataFrame 생성자를 이용해 만들기

dftest = pd.DataFrame([('bird', 389.0), ('bird', 24.0), ('mammal', 80.5), ('mammal', np.nan)], index=['falcon', 'parrot', 'lion', 'monkey'], columns=('class', 'max_speed'))

print(dftest)

출력:

             class    max_speed

falcon      bird            389.0

parrot      bird              24.0

lion       mammal          80.5

monkey mammal         NaN

 

- 넘파이 행렬을 이용해서 만들기

my_2darray = np.array([[123], [456]])

print(pd.DataFrame(my_2darray))

 

- dictionary를 이용해서 만들기

my_dict = {"a": ['1''3'], "b": ['1''2'], "c": ['2''4']}

print(pd.DataFrame(my_dict))

 

- DataFrame을 이용해서 새로운 DataFrame을 만들기

my_df = pd.DataFrame(data=[4,5,6,7], index=range(0,4), columns=['A'])

print(pd.DataFrame(my_df))

 

- 시리즈를 이용해서 만들기

my_series = pd.Series({"United Kingdom":"London""India":"New Delhi""United States":"Washington""Belgium":"Brussels"})

print(pd.DataFrame(my_series))

 

- csv 파일로드하여 만들기

data = pd.read_csv('dataset\\005930.KS_5y.csv')

 

4. DataFrame shape 알아보기

df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6]]))

 

- shape를 통해 column과 row 길이를 알 수 있다

print(df.shape)

 

- row의 개수를 알 수 있다.

print(len(df.index))

- column 타이틀명을 리스트타입으로 얻어낸다

print(list(df.columns))

 출력:[ 0, 1, 2]

 

dict = {"a": ['1''3'], "b": ['1''2'], "c": ['2''4']}

dict1 = pd.DataFrame(dict)

print(list(dict1.columns))

출력:['a', 'b', 'c']

 

5. DataFrame의 특정컬럼이나 로우(인덱스) 선택하기

-특정컬럼을 얻어낼 때:

c = df['column']

r = df.ix[index]

예제:

df = pd.DataFrame({"A":[1,4,7], "B":[2,5,8], "C":[3,6,9]})

a = df['A']

print(df)

출력:

   A  B  C
0  1  2  3
1  4  5  6
2  7  8  9

 

print(a)

출력:

0    1
1    4
2    7

 

b = df.loc[:, 'A']

print(b)

출력:

0    1
1    4
2    7

 

c = df.ix[0]['B']

print(c)

출력:

2

 

d = df.ix[1]

print(d)

출력:

A    4
B    5
C    6

 

e = df.loc[1]

print(e)

출력:

A    4
B    5
C    6

 

f = df.iloc[1]

print(f)

출력:

A    4 
B    5 
C    6

 

6. 로우 추가하기

ix의 경우 df.ix[2]인 경우 index=2인 로우를 찾아 그 로우에 데이터를 교체한다. 이때 index=2인 row가 없으면 로우를 새로 추가한다

예제:

df = pd.DataFrame(data=np.array([[10,11],[20,21],[30,31],[40,41]]),index=[3,4,5,2])

print(df)

    0   1
3  10  11
4  20  21
5  30  31
2  40  41

 

df.ix[2] = [0, 0]

print(df)

    0   1
3  10  11
4  20  21
5  30  31
2   0   0   ===>index=2인 로우를 찾아 데이터 교체

 

df.ix[1] = [1,1]

print(df)

    0   1
3  10  11
4  20  21
5  30  31
2   0   0
1   1   1  ==> index=1인 로우가 없어 마지막 줄 추가

 

7. append 이용해 row 추가

df = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'))

print(df)

   A  B

0  1  2

1  3  4

 

df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB'))

print(df2)

   A  B

0  5  6

1  7  8

 

df.append(df2)

print(df)

    A  B

 0  1  2

 1  3  4

 0  5  6  ==>df2의 index 그대로 셋팅

 1  7  8  ==>df2의 index 그대로 셋팅

 

df.append(df2, ignore_index=True)

print(df)

    A  B

 0  1  2

 1  3  4

 2  5  6  ==>index=2로 자동셋팅

 3  7  8  ==>index=3로 자동셋팅

 

8. 컬럼추가

df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['A', 'B', 'C'])

df.loc[:, 'D'] = pd.Series(['5', '6', '7'], index=df.index)

print(df)

   A  B  C  D
0  1  2  3  5
1  4  5  6  6
2  7  8  9  7


9. 컬럼삭제

df = pd.DataFrame(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['A', 'B', 'C'])

df = df.drop('A', axis=1)

print(df)

   B  C 
0  2  3  
1  5  6  
2  8  9 

 

df.drop('A', axis=1, inplace=True)

print(df)

   B  C 
0  2  3  
1  5  6  
2  8  9 

 

10. 로우 삭제

- 특정 index 번째 로우를 삭제 (0부터 카운트됨)

df = pd.DataFrame(data=np.array([[123], [456], [789]]), columns=['A''B''C'], index=[3,4,5])

df = df.drop(df.index[1])

print(df)

   A  B  C
3  1  2  3  
5  7  8  9

 

 

1. 아나콘다 설치

링크주소 (2020.02.27 기준) : https://www.anaconda.com/distribution/#download-section

 

Anaconda Python/R Distribution - Free Download

Anaconda Distribution is the world's most popular Python data science platform. Download the free version to access over 1500 data science packages and manage libraries and dependencies with Conda.

www.anaconda.com

 

(1) python 3.7 version - 64bit 설치

(2) 설치도중  나오는 아래 화면에서 첫번째 체크박스 선택

 (3) 설치완료 후 정상설치 확인

 

 

아나콘다 프롬프트 관리자모드로 실행

python --version 입력하여 설치된 파이썬 버전확인되면 정상설치

 

pip list 입력하여 아나콘다를 통해 설치된 라이브러리 리스트 확인가능

2. tensorflow 설치 (아나콘다는 텐서플로우는 자동설치 안됨)

 

pip install tensorflow 명령을 사용하면 tensorflow 2.1이 설치되지만 실제 사용하기 위해 소스코드에서 

import tensorflow 를 하게되면 아래와 같은 에러발생

"ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다"

이런 이유때문에 pip install tensorflow==2.0 명령으로 tensorflow 2.0 버전 설치 (왜 에러가 나지 않는지 이유는 파악 안되었음)

 

3. Visual Studio Code 설치

링크주소(2020.02.27 기준) : https://code.visualstudio.com/download

 

Download Visual Studio Code - Mac, Linux, Windows

Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.

code.visualstudio.com

User Installer 64bit (현재 윈도우 계정 사용자만 사용)또는 System Installer 64bit(모든 사용자 사용) 다운받아 설치

 

4. 설치완료 후 vscode 실행

위 그림처럼 python , python for vscode, python extension pack 설치

위 그림처럼 Code Runner 설치

 

 

 

1. 비전을 가지면 아이의 인생이 바뀐다

 "만일 당신이 배를 만들고 싶다면 사람들을 불러 모아 일감을 나눠주는 일을 하지 말라. 대신 그들에게 저 넓고 끝없는 바다에 대한 동경심을 키워줘라" - 생텍쥐페리

남의 지시로 마지못해 일하는 사람과 바다에 대한 동경심이 넘쳐 자발적으로 일하는 사람, 둘 중 후자가 튼튼하고 아름다운 배를 만들 것이다.

아이 스스로 비전 설정을 할 수 있도록 도와주는 것이 2단계 비전설정이다.

비전이란 마감일이 있는 꿈이다.

마감일이 있다는 것은 그만큼 효율적으로, 계획성 있게, 추진력을 갖고 일한다는 것을 뜻한다.

비전이 있는 사람은 자기 삶을 주도적으로 살 수 있다. 다른 이들의 성공을 보면서 이리 저리 끌려다니지 않는다.

비전을 설정하기 위해서는 많은 직간접 경험을 하고 탐구하고 생각해보아야 한다.

 

2. 성공하는 비전을 만드는 카네기의 3P공식

(1) Powerful Language (강력한 언어) 

 - 구체적이고 강한 확신의 언어로 자기 확신과 의지를 불러 일으킨다. 실제로 성공을 강력하게 끌어당기는 역할을 하게 된다.

 

(2) Present Tense (현재 시제)

 - 미래의 비전 성취된 모습을 현재 이루어 진 것처럼 생각하고 상상하는 것 => 비저닝(Visioning) 

 - 비저닝의 효과 : 우리가 어떤 일을 강렬하게 상상하면 뇌는 그것을 현실로 받아들인다.

 

(3) Positive Images (긍정적 이미지 - 긍정적인 자기 암시)

 - 비전은 긍정적인 내용으로 설정하라

 - 인간의 뇌는 설정된 목표를 자동적으로 수행하는 미사일의 유도 장치와 같다

   성공이라는 목표를 설정하면 정신적 자동유도장치에 의해 성공을 향해 나아가게 된다.

 

2. 비전을 이루는 마술 주문 - Think, Write, Share

비전을 구체적으로 글로 적어 지니고 다니면서 수시로 볼 수 있도록 하라 그리고 그것이 이루어지는 모습을 비저닝하라

무엇인가를 기록하는 일은 나의 생각을 추상에서 구체로, 막연함에서 생생함으로 바꾸는 행위이다.

비전은 단기, 중기, 장기 세 가지로 설정한다. 이 세가지를 기록하고 쉽게 볼 수 있는 곳에 위치시키고 다니면서 볼 수 있도록 지니고 다닌다.

 비전을 공유하면 부모가 그 달성을 위해 물심양면으로 도와줄 수 있다. 또한 아이 입장에서 마음이 느슨해질 때마다 자신의 공약이 부메랑처럼 돌아와 자극제가 된다.

아이가 비전을 공유할 때는 응원과 격려를 아끼지 않는 것이 매우 중요하다.

부모로부터 비전을 지지받은 아이들은 자존감이 높아지며 비전을 향해 달려갈 힘과 용기를 얻는다

 

3. 아이의 비전을 꺽는 부모 & 키우는 부모

세상에 허황된 비전은 없다.

코칭 1단계에서 아이의 현재 상황을 파악하라고 했던 것은 아이가 무엇을 원하고 힘들어하는지 알자는 취지였지, 아이의 비전을 재단하라는 의미가 아니었다.

비전의 힘은 무한한 가능성에 대한 믿음에서 나온다. 현재 상황에 비춰 달성이 가능한 비전이냐 아니냐를 따지는 순간 비전의 힘은 효력을 잃는다

"대부분의 사람들에게 가장 위험한 일은 목표를 너무 높게 잡고 거기에 이르지 못하는 것이 아니라, 목표를 너무 낮게 잡고 거기에 도달하는 것이다" - 미켈란젤로

혹 비전에 이르지 못한다 해도 그 과정이 아이에게는 귀한 배움의 기회이자 경험이 된다.

 

4. 좋은 비전, 나쁜 비전, 이상한 비전?

 아이들 비전에 일희일비할 필요는 없다. 다른 아이들 비전과 비교하지 말고, 부모 욕심에 견주지도 말고 그냥 두고 보는 것이 현명하다. 언젠가는 아이들 스스로 더 현실적이고 자기에게 잘 맞는 비전을 찾아가게 마련이다. 부모가 기다려주지 못하고 끼어들면 오히려 부작용이 생길 수 있다.

 비전 중에 "로또당첨"처럼 요행을 바라는 내용이나 비윤리적인 내용은 부모가 개입해서 조정을 해주어야 한다

 

5. 안전지대가 넓으면 원대한 비전이 자란다

아이들은 부모가 내준 어항 크기만큼 자란다. 부모가 큰 어항에서 키운 아이는 원대한 비전을 가지게 되며, 작은 어항에서 키운 아이는 그 반대 비전을 가지게 된다.

 익숙한 일은 안전지대라고 하며 서툴거나 한번도 해보지 않은 일은 도전지대라고 한다. 도전지대에 있던 일을 배우고 익혀 안전지대로 만드는 것, 그것이 바로 안전지대를 넓힌다는 개념이다.

 안전지대가 넓다는 것은 아이들의 역량이 커진다는 것을 의미한다. 아이들의 비전도 안전지대에 따라 달라진다.

 

안전지대를 넓히려면

태도=>지식=>연습=>기술

의 과정을 거쳐야 한다

태도 : 어떤 일에 대한 필요성을 느끼고 그 일을 능숙하게 하기 위한 갈망, 의지를 갖는 단계

지식 : 관련 일에 대한 지식을 습득하는 단계

연습 : 습득한 지식을 토대로 반복 연습을 통해 숙달하는 단계

기술 : 반복 연습을 통해 최종적으로 관련 일에 대한 기술을 습득하게 되는 단계

 

위 4가지 단계 중에 부모가 도와줄 수 있는 부분이 태도에 대한 단계이다.

즉 부모가 어떤 일에 대한 갈망, 열정을 가질 수 있도록 경험의 폭을 넓혀주는 일을 도와줄 수 있다.

부모가 주는 사소한 자극 하나가 아이의 안전지대를 넓히는 동기가 될 수 있다.

 

어릴 때 가능하면 다양한 경험을 할 수 있도록 도와주어야 한다. 중학생, 고등학생 때에도 가능하면 경험을 가질 수 있도록 하는 것이 좋다

 

6. 엄마들이여 비전을 가져라

자녀들의 비전이 부모의 유일한 비전이 되면 그로 인해 아이들에게 스트레스를 주게 되며 역효과를 불러오게 된다

부모 개인의 비전을 가지고 그것을 위해 계획하고 실천하는 모습을 보이는 것이 모두에게 좋은 결과를 가져올 것이다.

 

* 아이들이 비전을 못 세우겠다고 할 때 어떻게 도와줘야 하나

 자신을 돌아볼 만한 환경을 조성해 줄 필요도 있다. 여행을 떠난다거나 박물관 방문 등 일상적인 공간을 벗어나는 것만으로도 아이에게 재충전과 자기 성찰의 기회를 줄 수 있다.

 

["카네기 자녀코칭" 독서 후 정리]

아이의 현재상황이란 건강, 심리상태, 스트레스정도, 고민, 좋아하는 친구, 가치관, 꿈과 희망사항 등 포함

부모는 아이의 현재상황을 잘 알고 있다고 착각하기 쉽다.

 

아이의 현재상황을 잘 파악하기 위한 방법은 솔직한 대화이다.

하지만 아이 모습을 그대로 받아들이지 않는 부모의 거절로 아이는 마음의 문을 닫게 된다.

 

대화방법

1. 상대방을 바라본다

 

2. 질문한다

 - 말은 아이가 하도록 하고 부모는 질문을 주로 하도록 한다

 - 단답형 질문은 하지 않는다

 - 긍정적 분위기의 질문을 한다

   (수학이 그렇게 싫으니? => 수학에서 제일 자신있는 부분이 어디니?)

               

3. 중단시키지 않는다

 - 부모의 기준에 맞지 않는 이야기를 하더라도 중간에 이야기를 끊고 잔소리를 하면 안된다

 - 아이의 속마음을 듣는 것이 제일 우선이기에 아이의 잘못을 중간에 지적하지 않도록 한다

 

4. 주제를 바꾸지 않는다

 - 대화도중 부모 구미에 맞는 주제(공부)로 이야기를 바꿔버리는 일을 하지 않도록 한다

 

5. 감정을 조절해서 표현한다

 - 아이와의 감정싸움에서 먼저 폭발하는 쪽이 진다

 - 아이에게 코칭 중이라는 것을 계속 상기하면서 이야기를 이어가도록 한다

 

6. 적절하게 반응한다

 - 아이의 이야기에 적절하게 공감표현을 해주어야 한다

 

[입 대신 귀를 열면 아이 마음도 열린다]

가장 훌륭한 대화상대는 말 잘하는 사람이 아니라 잘 듣고 공감하는 사람

듣기의 최고 단계는 공감적 경청이다

공감적 경청을 하게 되면 아이와 친밀감과 유대감이 깊어져서 갈등도 서서히 사라지게 된다

공감의 표현 두 마디로 아이와의 벽이 허물어 진다.

"그래, 정말 힘들었겠다", "저런, 진짜 속상했겠다"

 

[폭풍 사춘기의 속마음이 궁금하면 이너뷰를 해라]

카네기 이론에서 사용되는 용어로 "깊이 있게 질문하고 경청함으로써 상대방의 내면을 탐색하고 수용하는 대화방법"

이너뷰는 사실질문, 원인질문, 가치질문 순으로 이루어진다

 

사실질문:

 - 표면적으로 드러난 사실에 대해 묻는 것

  "요즘 좋아하는 가수가 누구니?", "요즘은 누구랑 친하게 지내?"

 

원인질문:

 - 사실질문의 답에 대해서 이유가 무엇인지 묻는 것

 

가치질문:

 - 속마음을 알아보기 위한 질문

 - "가장 가치있다고 생각하는 것이 뭐니?" 등

 - 가치질문에 대한 답은 어렵다

 - 앞에 이야기했던 내용들이 잘 실행이 되어 아이와의 관계가 좋을 때 하는 것이 좋다.

 

이너뷰를 통해서 아이를 변화시키려는 것이 아니라 아이의 현재상태를 파악하려는 것이다. 따라서 대화도중 잘못이 보이더라도 들어주고 공감하라. 잔소리나 꾸중이 들어가면 아이들의 마음문은 닫히고 만다

 

[부모가 꼭 알아야 할 다섯가지 현재 상황]

가치질문 내용을 정하기 어려울 때 참고할 만한 내용

성공하는 사람들의 다섯가지 공통요소

 - 자신감

 - 원만한 인간관계

 - 커뮤니케이션 능력

 - 리더십

 - 스트레스 관리능력

이 5가지 요소 중 하나라도 부족하면 나머지 요소들도 충분히 발휘되지 못한다

아이의 현재상황을 파악한다는 것은 이 5가지 요소에 대한 아이상태를 파악하는 것이라고 생각해도 된다.

 

[아이와의 대화에 꼭 필요한 7가지 카네기 처방]

1. 아이와 논쟁하지 마라

2. 아이가 틀렸다고 하지 마라

 "사람을 가르칠 때는 가르치지 않는 것처럼 하면서 가르치고, 새로운 사실을 제안할 때는 마치 그 사람이 잊어버렸던 것을 우연히 다시 생각하게 된 것처럼 제안하라"

3. 부모도 잘못이 있다는 것을 인정하고 사과하라

4. 우호적인 태도로 대화를 시작하라

 "대화하자고 불러놓고 야단치기 시작하면 마음의 문을 닫아버린다"

5. 긍정적인 대답을 유도하라

6. 아이가 더 많이 말하게 하라

7. 아이 스스로 해결책을 찾도록 도와줘라

 "시험이 보름 남았는데 공부 안 해?" => "이번 중간고사 준비는 언제부터 시작하는 게 좋겠니?"

 스스로 공부 계획을 생각해보고 계획을 세워 주도적으로 공부하게 된다

 

 

["카네기 자녀코칭" 독서 후 정리]

+ Recent posts