"어릴 때의 경험이 중요하다"라는 말이 있다.

어릴적 다양한 경험이 장래의 모습을 결정하는듯해 보인다.
사실 나는 그말을 별로 좋아하지 않는다.
어릴때의 경험이 많지 않아서일까
겪어보지 못한 지난 날의 질투인지 모르겠지만 그시절 다양한경험이 꼭필요한가싶다.

돌이켜보면 그저 어릴때의 경험이라곤 체르니 100까지 쳤던 피아노와 방과후 시간에 갔던 컴퓨터교실 그리고 중학교 올라와선 기타와 베이스기타.
누군가에 비하면 한 없이 적어보이기에 과연 그만한 가치가있을까 생각해본다

그런데 어린시절 적게 나마 겪었던 것들을 찬찬히 곱씹이 보자면 이것들은 나의 직업이 되고 나의 취미가되고 나의 교양이된것 같다

초등학교 시절 너무 하기 싫어서 답지를 베껴 숙제를해가기를 수십번, 연달아 자격증시험에 떨어져도 크게 실망하지 않았던 그때,

우연지 필연인지 그렇게 떨어졌던 시험 문제가 점점 눈에 익어지고 또다시 쳤던 의미없던 시험에 합격했고, 그이후로'나도 잘할 수 있구나 생각이 들었고, 그 잔상이 꽤나 오래남아 대학전공이 되고 지금의 직업이 되었다.


그리고 운이좋게 배울 수 있었던 피아노. 이 또한 가만히 앉아 있기가 괴로워서 선생님이 연습하라고 그려운 동그라미 열개를 내맘대로 긋고, 연습다했다고 당당히 제출하던 그 모습이 약간의 아쉬움이되어다양한 악기를
배울 수 있는 동기가되었고, 지금 이런 음악을 들으며 쉴 수 있는사람이 된것 같다.


지금와서 다시 생각해보면 어느 것 하나 제대로 한것이 없는 과거였다. 하지만 그래서 더 아쉬웠고 그래서 더 열심히 했던 것 같다. 그렇게나라는 사람이 만들어진게 아닐까

그렇게 생각해보면 어린시절 경험이 중요한가 싶기도 하다. 어린시절 경험은 무의식속 장기기억 이되어 한 사람의 인생에 깊숙히 작용하니말이다.


다만 아쉬운것이 있다면 어절적피아노를 조금만 더 열심히 해볼껄.
그랬다면 지금이 피아노 곡을 듣는게아니라 칠수도 있지 않았을까.

조금더 로맨틱한 사람이 될 수도 있지 않았을까

'Think' 카테고리의 다른 글

새해  (1) 2024.01.01
Palette와 chat shire  (0) 2017.05.16
카모메 식당  (0) 2017.05.15
좋아하는 일을 해라?  (0) 2017.05.13
엔지니어와 아티스트  (0) 2017.05.13

재작년까진 교회에서 작년엔 회사에서
올해는 혼자서 이렇게 연말을 보내본다

드디어 주변인들에게 안부와 축복을 물으며  한 해를 마무리해본다. 생각보다 많은 이들이 있진 않다.
그래도 이렇게 안부를 나눌수있음에 감사한다
이런 연말도 괜찮지않을까?

...


실은 저번주부터 너무 많은 사람들이 내 주변인들 곁을 떠났다. 겨울이라 그렇다 치더라도 이런 갑작스러운 부고는 많은 생각을 하게 한다.
어떤 삶이 의미 있다 말할 수 있을까 부질없는 시간 속에 어떤 의미를 찾아 하루의 마침표를 찍을 수 있긴 한 것일까

글쎄.. 명확한 답을 내릴 수가 없었다.

다양한 순간 속에 다양한 선택으로 여기까지 왔는데 그 선택에 후회하지 않는 삶을 살려면 어떻게 해야 할까.

언젠가 읽었던 책의 문장이 생각이 난다
“중요한 건 빨리 가는 게 아닌 거예요. 누구랑 가느냐가 중요한 거지.” -달드링크서점 중-

난 지금까지 누구와 함께 걷고 있었을까
주변인을 챙기는 시간에 대해서 생각해 본다
나이가 들수록 이유 없는 안부는 의심의 대상이 된다. 그러니 최대한 시간에 의미를 부여한다는 핑계를 들어 은근슬쩍 닿아본다.

홀로 보내는 시간을 가지고 주변인들에게 안부를 물어본다. 다들 어떻게 지내는지 잘 지내고 있는지 자세히 묻고 싶진 않았다.  그저 올해의 불상사를 위로하고 내년의 희망을 바라고 싶었다
올해가 조금 희미하고 흐릿했다면 내년에는 좀 더 선명하고 화사한 순간 오지 않을까 하며 안일한 위로를 전하고 싶었다.

그래야 부담스럽지 않게 닿을 수 있지 않을까. 그래야 서로의 안부를 물을 수 있을 테니까.

함께여도 늘 외롭던 연말이었는데
오늘따라 혼자인 연말이 외롭지 않다.

'Think' 카테고리의 다른 글

어린시절 경험에 대하여  (1) 2024.04.22
Palette와 chat shire  (0) 2017.05.16
카모메 식당  (0) 2017.05.15
좋아하는 일을 해라?  (0) 2017.05.13
엔지니어와 아티스트  (0) 2017.05.13

요약

https://ko.wikipedia.org/wiki/%EA%B2%B0%EC%A0%95_%ED%8A%B8%EB%A6%AC_%ED%95%99%EC%8A%B5%EB%B2%95

 

결정 트리 학습법 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 결정 트리 학습법(decision tree learning)은 어떤 항목에 대한 관측값과 목표값을 연결시켜주는 예측 모델로써 결정 트리를 사용한다. 이는 통계학과 데이터 마이닝, 기계 학습에서 사용하는 예측 모델링 방법 중 하나이다. 트리 모델 중 목표 변수가 유한한 수의 값을 가지는 것을 분류 트리라 한다. 이 트리 구조에서 잎(리프 노드)은 클래스 라벨을 나타내고 가지는 클래스 라벨과 관련있는 특징들의 논리곱을 나타낸

ko.wikipedia.org

 

의사결정나무와 엔트로피

https://gomguard.tistory.com/86

 

[머신러닝] 의사결정트리 (Decision Trees)

지도학습 알고리즘 지도학습 관련 알고리즘들로는 최근접 이웃 (Nearest Neighbor) 나이브 베이즈 (Naive Bayes) 의사결정 트리 (Decision Trees) 분류 규칙 학습자 (Classification Rule Learners) 선형 회귀 (L..

gomguard.tistory.com

https://danbi-ncsoft.github.io/study/2018/12/06/entropy.html

 

의사결정 나무와 엔트로피

 

danbi-ncsoft.github.io

분류트리

https://becominghuman.ai/decision-trees-in-machine-learning-f362b296594a

 

Decision Trees in Machine Learning

Trees occupy an important place in the life of man. The trees provide us flowers, fruits, fodder for animals, wood for fire and furniture…

becominghuman.ai

https://www.youtube.com/watch?v=2Rd4AqmLjfU

 

회귀트리

https://ratsgo.github.io/machine%20learning/2017/03/26/tree/

 

의사결정나무(Decision Tree) · ratsgo's blog

이번 포스팅에선 한번에 하나씩의 설명변수를 사용하여 예측 가능한 규칙들의 집합을 생성하는 알고리즘인 의사결정나무(Decision Tree)에 대해 다뤄보도록 하겠습니다. 이번 글은 고려대 강필성 교수님 강의와 김성범 교수님 강의를 참고했음을 먼저 밝힙니다. 그럼 시작하겠습니다. 모델 소개 의사결정나무는 데이터를 분석하여 이들 사이에 존재하는 패턴을 예측 가능한 규칙들의 조합으로 나타내며, 그 모양이 ‘나무’와 같다고 해서 의사결정나무라 불립니다. 질문을

ratsgo.github.io

http://dm.snu.ac.kr/static/docs/dm2015/Chap9_%20%EC%9D%98%EC%82%AC%EA%B2%B0%EC%A0%95%EB%82%98%EB%AC%B4.pdf

불러오는 중입니다...

의사결정트리 알고리즘

http://contents2.kocw.or.kr/KOCW/document/2017/yeungnam/leejeayoung/4.pdf

불러오는 중입니다...

ID3 (Iterative Dichotomiser 3) - 범주형자료만 분류가능

https://jihoonlee.tistory.com/16?category=725291

 

Decision Tree + ID3알고리즘

Decision Tree(결정트리) 어떤 항목에 대한 관측값과 목표값을 연결시켜주는 예측 모델로써 결정 트리를 사용한다. 장점 1. 결과를 해석하고 이해하기 쉽다.간략한 설명만으로 결정 트리를 이해하는 것이 가능하다..

jihoonlee.tistory.com

C4.5 (successor of ID3) - 수치형(범주형)자료처리

C5.0 (successor of ID4)

https://jihoonlee.tistory.com/17?category=725291

 

Decision Tree + C4.5알고리즘

Decision Tree + C4.5알고리즘 c4.5 특징 1. 수치형 자료를 처리한다. 2. 불완전한 데이터를 처리한다. 3; 가지치기로 과적합을 해결한다. GainRatio < 참고1, 참고2> Information Gain의 문제점은 많은 측정값을..

jihoonlee.tistory.com

CART (Classification And Regression Tree)
CHAID (CHi-squared Automatic Interaction Detector) : 이 알고리즘은 분류 트리를 계산할 때 다단계 분할을 수행한다.
MARS (Multivariate adaptive regression splines) : 더 많은 수치 데이터를 처리하기 위해 결정 트리를 사용한다.
조건부 추론 트리 (Conditional Inference Trees) : 과적합을 피하기 위해 여러 테스트에 대해 보정 분할 기준으로 비 - 파라미터 테스트를 사용하는 통계 기반의 방법이다. 이 방법은 편견 예측 선택 결과와 가지 치기가 필요하지 않다.

 

ID3와 CART방법은 비슷한 시기인 1970년과 1980년 사이에 독립적으로 발명되었으며, 훈련 쌍에 대해 의사 결정 트리 학습을 위한 유사한 접근 방식을 사용한다. 위 알고리즘들 중에서 ID3, C4.5, C5.0 알고리즘들은 인공지능, 기계학습 분야에서 개발되어 발전되어 왔다. 이에 반해, CART 및 CHAID 알고리즘은 통계학에 분야에서 개발된 알고리즘들이다. 인공지능, 기계학습 계열의 알고리즘들은 엔트로피, 정보이득 개념을 사용하여 분리기준을 결정하고, 통계학에 기초한 CART 및 CHAID 알고리즘들은 카이스퀘어, T검정, F검정 등의 통계분석법을 사용한다.

 

http://katalog.egloos.com/3191268

 

Decision Tree(의사결정트리)

▷▶ 의사결정나무분석(Decision Tree)의사결정나무분석은 예측과 분류를 위해 보편적이고 강력한 툴이다. 신경망구조 분석과는 달리 나무구조로 규칙을 표현하기 때문에 이해하기가 쉽다. 어떤 적용에서는 얼마나 잘 분류하거나 예측하는냐만이 문제화되기도 한다. 즉, DM발송회사는 모델이 어떻게 구성되었는지 보다는 얼마나 자신의 메일에 잘 대답을 해줄 수 있는

katalog.egloos.com

 

과적합 방지알고리즘

https://www.youtube.com/watch?v=JM7TePqW5H0

 

랜덤포레스트

https://swalloow.tistory.com/92

 

의사결정트리와 랜덤포레스트

의사결정트리 (DecisionTree) 의사결정나무는 다양한 의사결정 경로와 결과를 나타내는데 트리 구조를 사용합니다. (우리에게 그나마 가장 익숙한 데이터 분석 기법입니다...) 보통 어렸을 때의 스무고개 놀이를..

swalloow.tistory.com

 

'머신러닝 > 스터디 정리' 카테고리의 다른 글

용어정리 1  (0) 2019.02.09
Activation Function  (0) 2018.08.26
PCA 구현하기  (0) 2018.08.20
numpy 간단한 선형회귀 예제  (0) 2018.08.18
numpy 연산2  (0) 2018.08.18

용어정리


피어슨상관계수

https://support.minitab.com/ko-kr/minitab/18/help-and-how-to/statistics/basic-statistics/supporting-topics/correlation-and-covariance/a-comparison-of-the-pearson-and-spearman-correlation-methods/


Confusion Matrix(분류결과표)

https://bcho.tistory.com/1206


크로스탭

열과 행을 회전시킨 테이블


Feature Engineering

http://hero4earth.com/blog/learning/2018/01/29/Feature_Engineering_Basic/#feature-engineering


Feature Engineering은 머신러닝 알고리즘을 작동하기 위해 데이터에 대한 도메인 지식을 활용하여 특징(Feature)를 만들어내는 과정입니다. < Wikipedia - Feature Engineering 정의 >


다른 정의를 살펴보면, 머신러닝 모델을 위한 데이터 테이블의 컬럼(특징)을 생성하거나 선택하는 작업을 의미한다고 합니다.


간단히 정리하면, 모델의 성능을 높이기 위해 모델에 입력할 데이터를 만들기 위해 주어진 초기 데이터로부터 특징을 가공하고 생성하는 전체 과정을 의미합니다.


Feature Engineering은 모델 성능에 미치는 영향이 크기 떄문에 머신러닝 응용에 있어서 굉장히 중요한 단계이며, 전문성과 시간과 비용이 많이 드는 작업입니다.



Bigrams / Trigrams


ex ) "I read a book about the history of America."

1. unigram :  "I", "read", "a", "book", "about", "the", "history", "of", "America"

2. bigram (digram) :  "I read", "read a", "a book", "book about", "about the", "the history", "history of", "of America"

3. trigram : "I read a", "read a book", "a book about", "book about the", "about the history", "the history of", "history of America"


사용 예) search engieen에서 키워드를 뽑아내는 용도

음석인식에서 자연어처리할때



모수/비모수

1. 모수적 통계의 전제조건

관측값이 어느 특정한 확률분포, 예를 들면 정규분포, 이항분포 등을 따른다고 전제한 후 그 분포의 모수(parameter)에 대한 검정을 실시하는 방법이다 

① 표본의 모집단이 정규분포를 이루어야 한다

② 집단내의 분산은 같아야 한다

③ 변인은 등간척도나 비율척도로 측정되어야 한다 → 이 조건이 충족되지 않으면 비모수 통계를 사용한다

- 등간척도: 간격척도 라고도 한다. 간격이 일정하여 덧셈 뺄셈은 가능하지만, 0이 아무것도 없는 것을 뜻하는 것이 아니기 때문에 몇 배라고 이야기 할 수 없는 척도 -시각, 섭씨온도, 화씨온도 

- 비율척도 : 0 기준으로 하기 때문에 비율이 가능한 척도. 우리가 사용하는 대부분의 변수가 여기에 해당 -성적, 키, 무게, 인구수, 금액 등)

cf) 명목척도 : 상하 관계는 없고 구분만 있는 척도 (남, 여, 국적.. 등)

    서열척도 : 크기는 있지만 그 간격이 얼마나 큰지 알 수 없을 때 (직위, 학렬, 등수, 친한친구 순서 등)


2. 비모수검정

① 모집단이 정규분포한다는 가정을 할 수 없는 경우에 모집단의 분포 유형에 관계없이 적용할 수 있는 방법이다

-종속변수가 연속변수인데 sample size가 작아(<30) 모집단에 대해 어떤 분포도 가정할 수 없는 경우가 있다

② 변수가 명목척도나 서열척도로 측정하는 경우에 분류기준과 분류방법의 독립성을 검정 가능하다

③ 모집단의 특성을 나타내는 모수에 대한 검정의 목적이 아닌경우, 이론분포와 경험분포간의 적합도(goodness of fit test)를 검정 가능하다


출처 : https://sherry-data.tistory.com/15



상관계수

https://mansoostat.tistory.com/115 상관계수 총정리

https://socialinnovation.tistory.com/141 카이제곱검정

http://m.blog.daum.net/_blog/_m/commentList.do?blogid=06PmS&articleno=11416177



scikit-learn문서전처리

https://datascienceschool.net/view-notebook/3e7aadbf88ed4f0d87a76f9ddc925d69/

python 문법

pandas.reset_index


reset_index 명령으로 인덱스를 보통의 자료열로 바꿀 수도 있다. 이 때 인덱스 열은 자료열의 가장 선두로 삽입된다. 데이터프레임의 인덱스는 정수로 된 디폴트 인덱스로 바뀐다.

https://datascienceschool.net/view-notebook/a49bde24674a46699639c1fa9bb7e213/



pandas.apply

http://www.leejungmin.org/post/2018/04/21/pandas_apply_and_map/


python.istitle

 s = 'I am a boy'

 split_s = s.split()

 istitle_s = [w for w in split_s if(w.istitle())]

 print(istitle_s) #['I'] 



stopword

https://wikidocs.net/22530



plt.violinplot

  • 박스 플롯과 매우 유사.
  • 박스 플롯에서 아웃라이어로 표시되는 데이터까지 하나의 곡선 안에 모두 표시해준다.

      https://datascienceschool.net/view-notebook/84bf5b15b4fc4dd5aa0672bfdfd7c971



pd.melt

https://rfriend.tistory.com/tag/pd.melt%28%29


'머신러닝 > 스터디 정리' 카테고리의 다른 글

의사결정나무  (0) 2019.06.09
Activation Function  (0) 2018.08.26
PCA 구현하기  (0) 2018.08.20
numpy 간단한 선형회귀 예제  (0) 2018.08.18
numpy 연산2  (0) 2018.08.18

활성(화)함수란 입력을 받아 피쳐의 활성, 비활성을 결정하는데 사용되는 함수이다.


선형함수는 입력의 상수배만큼 변하는 것으로 

f(x) = x(항등함수) 또는 f(x) = ax 또는 f(x) = ax + b등 의 1차 함수가 있으며

모두 1개의 직선 모양이다.


반대로 비선형은 2개 이상의 직선 또는 곡선의 모양을 가지고 있다.

비선형에는 Sigmoid, ReLU 등이 있다.



    



사용할 활성화 함수를 선택할 때는 풀고자 하는 문제의 종류를 고려해야 한다.


선형회귀문제

문제의 결과가 직선을 따르는 경향이 있다면 선형함수(y=wx+b)를 주로 이용한다.


분류문제

2개를 분류하는 문제일 때는 선형함수만으로는 정확하게 분류하기 힘들어지는 경향이 있다.

그래서 비선형 함수인 sigmoid, ReLU와 그 변형된 활성화함수를 주로 이용한다.


3개 이상을 분류할 때 주로 Softmax와 그 변형된 활성화함수를 주로 이용한다.


목표 정확도와 학습시간 등을 고려하여 선택하고 혼합 사용도 가능하다.


신경망에서는 활성화 함수로 선형함수가 아닌 비선형함수를 사용해야 한다.

왜냐하면 히든레이어를 여러 개 다층으로 구성하고 활성화함수로 모두 선형함수를 이용하는 경우

단층으로 구성한 것과 정확하게 동일하게 구현할 수 있다. 곧 무의미하다.


'머신러닝 > 스터디 정리' 카테고리의 다른 글

의사결정나무  (0) 2019.06.09
용어정리 1  (0) 2019.02.09
PCA 구현하기  (0) 2018.08.20
numpy 간단한 선형회귀 예제  (0) 2018.08.18
numpy 연산2  (0) 2018.08.18

1. 데이터를 같은 범위로 rescaling한다.

<사용 라이브러리>

- from sklearn.preprocessing import StandardScaler

  x_std = StandardScaler().fit_transform(X)

  

2 데이터의 상관행렬을 구한다.

<사용 라이브러리>

- import numpy as np

  features = x_std.T 

  covariance_matrix = np.cov(features)


3. 고유벡터와 고유값을 구해서 가장큰 고유값을 가진 고유벡터를 구한다.

<사용 함수>

eig_vals, eig_vecs = np.linalg.eig(covariance_matrix)

(이 고유벡터를 사용했을때의 데이터 유실정도)

eig_vals[0] / sum(eig_vals)


4. 현재 x값을 eig_vecs에 정사영 시킨다.

projected_X = x_std.dot(eig_vecs.T[0])

'머신러닝 > 스터디 정리' 카테고리의 다른 글

용어정리 1  (0) 2019.02.09
Activation Function  (0) 2018.08.26
numpy 간단한 선형회귀 예제  (0) 2018.08.18
numpy 연산2  (0) 2018.08.18
numpy 연산  (0) 2018.08.18

코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
##선형회귀(MSE)
 
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
 
 
= np.array([1234])
= np.array([-420.92.1])
 
= np.vstack([x, np.ones(len(y))]).T
w,b = lin.lstsq(A,y)[0]
 
print('model:',w,'* x +',b)
 
plt.plot(x,y, 'x', label='orignal_data', markersize=10)
plt.plot(x, w * x + b , 'r', label='linearRegression')
plt.legend()
plt.grid(True)
plt.show()
cs


결과


'머신러닝 > 스터디 정리' 카테고리의 다른 글

Activation Function  (0) 2018.08.26
PCA 구현하기  (0) 2018.08.20
numpy 연산2  (0) 2018.08.18
numpy 연산  (0) 2018.08.18
numpy 기본  (0) 2018.08.18

코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import numpy as np
import numpy.linalg as lin
 
x1 = np.array([[1,2,3],[4,5,6]])
y1 = np.array([[4,0,3],[5,5,6]])
 
#행렬 곱
np.dot(x1, y1.T)
 
#역행렬
x2 = np.array([[2,2,0],[-2,1,1],[3,0,1]])
lin.inv(x2)
 
#qr분해 : 실수 행렬을 직교 행렬과 상삼각 행렬의 곱으로 나타내는 행렬 분해
#return q 직교행렬 , r 상삼각행렬
q,r = lin.qr(x2)
print(q)
print(r)
 
#행렬의 대각합
= np.trace(x2)
print(s)
 
#행렬식
ans = lin.det(x2)
print(ans)
 
#고유치, 고유벡터
x3 = np.array([[1,2,1],[6,-1,0],[-1,-2,-1]])
print(lin.eig(x3))
 
#연립방정식 구하기
x4 = np.array([[3,2,1], [1,-1,3],[5,4,-2]])
x5 = np.array([7,3,1])
lin.solve(x4,x5)
cs


결과

[[-0.48507125 -0.80845208 -0.33333333]

 [ 0.48507125 -0.56591646  0.66666667]

 [-0.72760688  0.16169042  0.66666667]]


[[-4.12310563 -0.48507125 -0.24253563]

 [ 0.         -2.18282063 -0.40422604]

 [ 0.          0.          1.33333333]]


4


12.0


(array([ -4.00000000e+00,   3.00000000e+00,   1.71642331e-16]), 

 array([[ 0.40824829, -0.48507125, -0.0696733 ],

       [-0.81649658, -0.72760688, -0.41803981],

       [-0.40824829,  0.48507125,  0.90575292]])

)


array([-3.,  6.,  4.])


'머신러닝 > 스터디 정리' 카테고리의 다른 글

PCA 구현하기  (0) 2018.08.20
numpy 간단한 선형회귀 예제  (0) 2018.08.18
numpy 연산  (0) 2018.08.18
numpy 기본  (0) 2018.08.18
경사하강법  (0) 2018.08.17

+ Recent posts