<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>머신러닝! by TK03</title>
      <link>https://padlet.com/tukim03/2nlcd9n7tmaw8ut</link>
      <description>활동 사항 추천: 공부한 내용 정리 / 의문이 생긴 부분들 기술 / 다른 분의 궁금증 댓글로 의견 제시 등등
(혼자 공부한 내용을 공유하는데 사용하면 좋을 것 같습니다) / 스스로 해결되었다면 해당 내용 추가해서 수정
</description>
      <language>en-us</language>
      <pubDate>2022-07-04 05:21:03 UTC</pubDate>
      <lastBuildDate>2022-07-17 06:19:54 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>1주차</title>
         <author>tukim03</author>
         <link>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2236213110</link>
         <description><![CDATA[<div>Chapter 1. 머신러닝 알고리즘의 종류<br>##시스템 종류 정리##<br>[1]<br>1. 지도 학습 (supervised learning) = 사람이 직접 분류<br>방식 종류: '분류' 레이블(or class)&nbsp; or '회귀' [예측 변수(predictor variable, feature로도 불림)으로 target 수치 예측] /// k-nearest neighbors, liner regression, logistic regression, supprot vectormachine, decision tree, random forest, neural networks등은 유명한 지도 학습 알고리즘임 # liner regression은 Chapter 2에서 간단하게 사용한다<br>&nbsp;<br>2. 비지도 학습 (unsupervised learning) = 특성을 그룹화<br>clustering (ex HRC, outlier detection, novelty detection, association rule learning) / visualization / dimensionality reduction(데이터를 효율적으로 처리하게 해주는 기법) / association rule learning<br><br>3. 준지도 = SL + USL<br>ex) deep belief network(DBN): 여러 겹의 restricted Boltzmann machine(RBM, USL이다)으로 훈련 된 전체 시스템이 SL로 세밀하게 조정됨<br><br>4. 강화 학습 (reinforcement learning)<br>agent(학습 주체)가 환경에 대한 행동을 하고, 보상 or 패널티를 받아 가장 좋은 행동(policy)을 스스로 찾아가는 것<br><br>[2]<br>온라인 학습 (바로 업뎃 or 미니 배치나 외부 메모리를 통해 학습, 따라서 얼마나 빠르게 업뎃을 할건지인 learning rate가 중요하다) / 배치 학습<br><br>[3]<br>사례 기반 학습: 기반 샘플 실존 / 모델 기반 학습: 샘플등의 모델을 만들어 예측에 사용함<br><br>##과대 적합이나 과소 적합 같은 문제들이 존재한다<br><br>##파이프 라인 = 학습의 각 과정<br><br>##training set -&gt; train -dev set(test set)<br><br>Chapter 2. 머신러닝 프로젝트 개요: 주택 가격 분석<br><br>&nbsp;성능 측정 지표 선택<br>1. 평균 제곱근 오차 root mean square error: p72 참조&nbsp;<br>2. 평균 절대 오차 mean absolute error: 튀는 값이 많을 경우 사용,&nbsp; p74 참고<br># X 데이터셋을 가설 h로 연산하여 예측값을 찾고, 평균치 y와 다른 방식으로 비교하여 값을 출력하는 방법들<br><br>&nbsp;#결정 트리 모델 훈련 법#<br>k-fold cross-validation(k-겹 교차 검증): set -&gt; divided to fold( 10 subset) =&gt; 9 to train, 1 to test, run 10 times<br><br>RandomforestRegressor: 무작위 특성을 기준으로 둔 수많은 예측을 평균내는 방식<br>Ensemble(앙상블)=&gt; 수많은 결정트리를 모아 하나의 모델을 만드는 것<br><br><br><br><br><br><br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1745555604/5451eaa1a38cb7091e58cbeca0b772ee/image.png" />
         <pubDate>2022-07-04 05:22:22 UTC</pubDate>
         <guid>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2236213110</guid>
      </item>
      <item>
         <title>&lt;1주차&gt;</title>
         <author></author>
         <link>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2240333435</link>
         <description><![CDATA[<div>&nbsp;1.3 머신러닝 시스템의 종류</div><div>&nbsp;-사람 감독의 유무 &gt;&gt; 지도, 비지도, 준지도, 강화</div><div>-실시간 점진적 학습 유무 &gt;&gt; 온라인, 배치</div><div>-사례 기반(데이터 포인트를 서로 비교), 모델 기반(패턴 발견 후 예측모델 생성)</div><div><br></div><div>*지도 학습(e.g. 분류, 회귀)</div><div>훈련 데이터에 레이블 존재.</div><div>회귀: 예측 변수라 불리는 특성을 이용해 타깃 수치를 예측.&nbsp;</div><div>학습 알고리즘: k-최근접 이웃, 선형 회귀, 로지스틱 회귀, 서포트 벡터 머신, 결정 트리와 랜덤 포레스트, 신경망</div><div>k-최근접 이웃: 사례 기반 학습 알고리즘을 사용하여, 예측하고자 하는 값과 근접한 값을 갖는 데이터 K개의 값의 평균을 구하면 모델 기반의 예측과 비슷한 값을 낼 수 있음.</div><div><br></div><div>*비지도 학습</div><div>훈련 데이터에 레이블 없음.</div><div>학습 알고리즘: 군집(k-평균, 계층 군집 분석, 기댓값 최대화), 시각화와 차원 축소(주성분 분석, 커널 PCA, 지역적 선형 임베딩, t-SNE), 연관 규칙 학습(어프라이어리, 이클렛)</div><div>특성 추출: 차원 축소, 즉 정보를 손실하지 않으면서 데이터를 간소화하려고 할 때 상관관계가 있는 여러 특성을 하나로 합치는 것.</div><div>이상치 탐지: 학습 알고리즘에 주입하기 전에 데이터셋에서 이상한 값을 자동 제거</div><div><br></div><div>*준지도 학습</div><div>훈련 데이터에 일부만 레이블 존재.</div><div>지도 학습과 비지도 학습의 조합으로 이루어진 학습 알고리즘</div><div>e.g. 심층 신뢰 신경망 DBN은 여러겹으로 쌓은 제한된 볼츠만 머신 RBM(비지도 학습)</div><div><br></div><div>*강화 학습</div><div>에이전트: 학습하는 시스템</div><div>환경을 관찰해서 행동을 실행하고 그 결과로 보상 혹은 벌점을 받음. 시간이 지나면서 가장 큰 보상을 얻기 위해 최상의 전략, 즉 정책을 스스로 학습.</div><div><br></div><div>*배치 학습</div><div>점진적 학습이 아닌, 가용한 데이터를 모두 소진하여 훈련함.</div><div>시간과 자원(e.g. CPU, 메모리, 디스크 공간 등) 소비 많아서, 오프라인 학습이 먼저 이루어지고 더이상의 학습 없이 시스템에 적용.</div><div>새로운 데이터가 주어질 경우 전체 데이터를 이용해서 시스템을 업데이트해야함. 자원이 제한된 시스템(e.g. 스마트폰)에서 사용하기 어려움.</div><div><br></div><div>*온라인 학습(오프라인에서 진행됨. = 점진적 학습)</div><div>데이터를 미니배치(작은 데이터 묶음 단위)로 주입하여 시스템을 훈련시킴. 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야 하는 경우, 컴퓨터 자원이 제한된 경우에 적합. </div><div>외부 메모리 학습: 데이터셋이 크더라도 조금씩 학습하는 것을 반복함으로써 학습 가능. &nbsp;</div><div>학습률: 데이터에 빠르게 적응하는 정도. 높으면 빠르게 적응하지만 예전 데이터 금방 잊음. 낮으면 느리게 적응하고 잡음이나 대표성 없는 포인트에 덜 민감해짐.</div><div>시스템에 나쁜 데이터가 주입되면 성능이 점진적으로 감소.&nbsp;</div><div><br></div><div>새로운 데이터로 일반화하기 위한 접근법</div><div>*사례 기반 학습</div><div>&nbsp;시스템이 사례를 기억함으로써 학습한 다음 유사도 측정을 통해 새로운 데이터에 일반화함.</div><div><br></div><div>*모델 기반 학습</div><div>샘플들의 모델을 만들어 예측에 사용.</div><div>모델 선택: 어떤 함수로 모델링할지 선택.</div><div>모델 파라미터를 조정하여 모델을 얻음. 최상의 성능을 내는 모델을 얻기 위해 효용 함수, 적합도 함수를 정의하거나 비용 함수를 정의하여 모델 파라미터를 정의.</div><div>훈련: 알고리즘에 훈련 데이터를 공급하여 데이터에 가장 적합한 파라미터를 찾는 것.&nbsp;</div><div>추론: 새로운 데이터에 모델을 적용해 예측.</div><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-10 05:28:31 UTC</pubDate>
         <guid>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2240333435</guid>
      </item>
      <item>
         <title>.</title>
         <author></author>
         <link>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2240340347</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2022-07-10 06:14:12 UTC</pubDate>
         <guid>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2240340347</guid>
      </item>
      <item>
         <title>.</title>
         <author></author>
         <link>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2240340547</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2022-07-10 06:16:03 UTC</pubDate>
         <guid>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2240340547</guid>
      </item>
      <item>
         <title>2주차</title>
         <author>tukim03</author>
         <link>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2242627237</link>
         <description><![CDATA[<div>Chapter 3.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-13 13:24:59 UTC</pubDate>
         <guid>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2242627237</guid>
      </item>
      <item>
         <title>&lt;2주차&gt;</title>
         <author></author>
         <link>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2244687719</link>
         <description><![CDATA[<div>MNIST<br>-60000 training set<br>-10000 test set<br><br>Stochastic Gradient Descent로 학습<br>SGDClassifier.fit()<br><br>cross_val_score 로 교차검증<br>cross_val_score(모델, training set, target, fold, 평가지표)<br><br>confusion matrix<br>A class를 B class로 잘못 분류한 경우를 count<br>행 : 실제 class<br>열 : 잘못 분류한 class<br><br>precision &amp; recall<br>precision = TP/(TP + FP)<br>recall = TP/(TP + FN)<br>F_1 = 2/(1/precision + 1/recall) : 조화평균<br><br>precision/recall trade-off<br>decision threshold의 값을 높이면 good precision, bad recision<br>decision threshold의 값을 낮추면 bad precision, good recision<br>decision_function() method로 decision score 얻을 수 있음.<br>np.armax()로 원하는 precision 이상을 얻는 최소의 threshold 구할 수 있음.<br><br>ROC Curve<br>true positive rate(recall, sensitivity) 과 flase positive rate(FPR)을 plot<br>FPR : negative instances 중 positive로 잘못 분류된 비율<br>TNR : negative instances 중 negative로 바르게 분류된 비율 (specificity)<br>FPR = 1 - TNR<br>roc_curve()로 plot<br>AUC : are under the curve<br>정확한 classifier는 AUC = 1, random classifier는 AUC = 0.5<br>RandomForestClassifier는 predict_proba() method 제공<br><br>Multicalss Classification<br>OvR(one-versus-the-rest) : binary classifier만 있는 경우 각각의 class 에 대해 classifier를 만들어 가장 높은 점수를 얻는 class로 분류류<br>OvO(one-versus-one) : 각각의 class쌍에 대해 분류하는 classifier를 학습시킴. 각각의 classifier 학습이 빠름.<br><br>Error Analysis<br>confuson matrix로 error 평가 가능<br><br>Mulitilabel Classification<br>다수의 binary tag를 ouputs로 가지는 classification system<br>ex) 사진에서 사람 인식하기<br>KNeighborsClassifier()사용<br>각각의 label에 대해 F1 score을 구하고 평균을 구하여 평가함.<br><br>Multioutput Classification<br>다수의 label이 multicalss를 outputs로 가지는 classification system<br>noise제거(각각의 픽셀 : multi label, 노이즈 값 : multicalss)<br><br>-------------------------------------------<br><br><em>from</em> IPython.core.interactiveshell <em>import</em> InteractiveShell</div><div>InteractiveShell.ast_node_interactivity = "all"<br>을 추가하면 jupyternotebook에서 하나의 셀에 여러개 output 출력가능</div><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-07-17 05:58:37 UTC</pubDate>
         <guid>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2244687719</guid>
      </item>
      <item>
         <title>7. 17</title>
         <author>tukim03</author>
         <link>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2244690718</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2022-07-17 06:19:54 UTC</pubDate>
         <guid>https://padlet.com/tukim03/2nlcd9n7tmaw8ut/wish/2244690718</guid>
      </item>
   </channel>
</rss>
