[머신러닝] Python 구현 Wu Enda의 머신러닝 숙제 모음(데이터 세트 포함)

학습 후기 :

3.7의 첫날부터 오늘의 4.4까지 강의와 코드 구현, 요약 블로그를 완성하는 데 한 달 이상이 걸렸습니다. 그 과정은 조금 어려웠지만 새로운 학습자로서 많은 것을 얻었습니다. 이 기간 동안의 학습 과정을 요약하십시오. 앞으로의 학습 방향은 아직 고민 중입니다.

목차

1.0 선형 회귀 예측

2.0 선형 분리 가능 로지스틱 회귀

2.1 선형 불가분 로지스틱 로지스틱 회귀

3.0 로지스틱 로지스틱 회귀 필기 다중 범주 문제

3.1 신경망 순방향 전파

4.0 신경망 역전파(BP 알고리즘)

5.0 분산과 편향

6.0 SVM 서포트 벡터 머신

7.0km 평균 클러스터링

7.1 PCA 주성분 분석

8.0 이상 감지

8.1 추천 시스템(협업 필터링 알고리즘)


작업과 관련된 데이터 세트:

이전 데이터 세트가 만료되었습니다. 다시 업데이트하십시오.

링크: https://pan.baidu.com/s/14gmrdWvIYopPWK_qsJHq5w?pwd=ifuf 
추출 코드: ifuf

Ng 강의 계획서 요약 

비지도 학습

선형 프로그래밍, 로지스틱 회귀, 신경망, SVM

비지도 학습

K-means , PCA , 이상 감지

애플리케이션

추천 시스템,

대규모 기계 학습

맵 축소 및 데이터 병렬 처리:

데이터 세트를 몇 대의 컴퓨터로 나누고 각 컴퓨터가 데이터 세트의 하위 집합을 처리하도록 한 다음 결과를 합계로 집계합니다. 이러한 방법을 지도 단순화라고 합니다. 학습 알고리즘이 훈련 세트에 대한 함수의 합으로 표현될 수 있는 경우 이 작업을 여러 컴퓨터(또는 동일한 컴퓨터의 서로 다른 CPU 코어)에 분산하여 처리 속도를 높일 수 있습니다.

기계 학습 시스템 구축을 위한 팁

분산/편향, 정규화

다음에 수행할 작업을 결정합니다.

알고리즘 평가, 학습 곡선(고편향/고분산 문제 판단), 오류 분석

상한 분석: 기계 학습을 적용할 때 일반적으로 최종 예측을 위해 여러 단계를 거쳐야 하는데 어떤 부분이 시간과 에너지를 들여 개선해야 할 가장 가치가 있는지 어떻게 알 수 있습니까? 이 질문은 상한 분석으로 답할 수 있습니다.

문제 설명 및 순서도

슬라이딩 윈도우 분류 알고리즘(CV)

대량의 데이터 및 인공 데이터에 대한 액세스

다음은 비트와 조각입니다.

기존 기계 학습에는 많은 유형이 있으며 일반적으로 다음과 같이 분류할 수 있습니다.

  • 인간 감독으로 학습할지 여부(지도 학습, 비지도 학습, 준지도 학습 및 강화 학습)
  • 동적 증분 학습 가능(온라인 학습 및 배치 학습)
  • 단순히 새로운 데이터 포인트를 알려진 데이터 포인트와 일치시키는 것입니까, 아니면 과학자처럼 교육 데이터에서 모델 탐지를 수행한 다음 예측 모델을 구축하는 것입니까(인스턴스 기반 학습 및 모델 기반 학습)

 1. 지도 학습과 비지도 학습

  •  지도 학습 : 데이터 세트의 각 샘플에는 회귀 및 분류를 포함하여 해당 레이블이 있습니다.

  • K 최근접 이웃 알고리즘
  • 선형 회귀
  • 로지스틱 회귀
  • 서포트 벡터 머신(SVM)
  • 결정 트리 및 랜덤 포레스트
  • 신경망
  • 비지도 학습 (Unsupervised Learning): 클러스터링(clustering)을 포함하여 데이터 세트에 레이블이 없으며 칵테일 파티가 그 유명한 예입니다. 구현 공식 : [W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');

  • 클러스터링 알고리즘
    • K-평균 알고리즘(K-평균)
    • 밀도 기반 클러스터링 방법(DBSCAN)
    • 최대 기대 알고리즘
  • 시각화 및 차원 감소
    • 주성분 분석(PCA)
    • 커널 주성분 분석
  • 연관 규칙 학습
    • 선험적으로
    • 불타는 듯한 빛깔
  •  이상 감지
  • 준지도 학습  일부 알고리즘은 부분적으로 레이블이 지정된 교육 데이터, 일반적으로 많은 양의 레이블이 지정되지 않은 데이터와 소량의 레이블이 지정된 데이터를 처리할 수 있으며 이를 준지도 학습이라고 합니다.

  • 사진 인식이 좋은 예입니다. 같은 사람의 사진을 식별하도록 온라인 사진 앨범을 지정할 수 있습니다.(비지도 학습) 이 같은 사람에게 태그를 추가하면 같은 사람이 있는 새 사진에 자동으로 태그가 지정됩니다.

  • 강화 학습

    학습 시스템이 환경을 관찰하고, 선택하고, 행동을 수행하고 보상을 받거나 부정적인 보상의 형태로 처벌하는 강화 학습. 시간이 지남에 따라 가장 많은 피드백을 얻으려면 최선의 정책이 무엇인지 스스로 배워야 합니다. 

2. 온라인 학습 

    사이트에 들어오는 사용자의 지속적인 스트림에 의해 트리거되는 지속적인 데이터 스트림이 있는 경우 온라인 학습 메커니즘을 사용하여 스트림에서 사용자 기본 설정을 학습한 다음 해당 정보를 사용하여 사이트 결정.

    온라인 학습 알고리즘은 오프라인의 정적 데이터 세트가 아닌 데이터 스트림에 대한 학습을 ​​의미합니다. 많은 온라인 사이트에는 끊임없는 사용자 흐름이 있으며 각 사용자에 대해 사이트는 데이터를 데이터베이스에 저장하지 않고도 원활하게 알고리즘을 학습할 수 있기를 희망합니다.

  • E-Learning: 제품 검색 인터페이스 제품 추천 

3. 모델 훈련 및 선택(모델 선택)

가설 hθ(x)는 학습 오류와 테스트 오류 측면에서 평가할 수 있습니다.
일반적으로 데이터 세트를 훈련 세트(60%), 검증 세트(20%) 및 테스트 세트(20%)로 나눕니다.

  • 训练集

학습 세트는 모델을 학습하는 데 사용되며 매개변수 θ: minJ(θ)를 학습합니다. 즉, 모델의 가중치 및 바이어스 매개변수를 결정하기 위해 일반적으로 이러한 매개변수를 학습 매개변수라고 합니다.

  • 验证集

검증 세트는 모델 선택 에 사용 되며, 구체적으로 학습 매개변수 결정에 참여하지 않는 즉, 경사하강법 과정에 참여하지 않는다. 훈련 세트로 모델을 훈련시킨 후 검증 세트로 모델을 테스트하여 훈련 모델의 매개변수가 아닌 모델이 정확한지 테스트합니다.

  • 测试集

테스트 세트는 학습 후 최종 모델을 평가할 때 한 번만 사용됩니다 . 학습 매개변수 프로세스나 매개변수 하이퍼 매개변수 선택 프로세스에는 참여하지 않고 모델 평가에만 사용됩니다.
학습 중에 테스트 세트를 사용한 다음 동일한 테스트 세트를 사용하여 모델을 테스트할 수 없습니다. 이것은 실제로 모델 테스트의 정확도를 매우 높이는 치트입니다.

4. 모델 최적화

과소적합, 높은 편향 : 학습 데이터가 잘 맞지 않음을 의미합니다. 

과대적합, 높은 분산: 교육 데이터를 적합하는 것이 너무 완벽하여 J(θ)≈0이므로 모델의 일반화 능력이 떨어지고 새 샘플을 정확하게 예측할 수 없습니다.

5. 머신러닝 시스템 설계

비대칭 분류(편향된 클래스)에 대한 오류 평가

오류율: 오판된 수박의 비율

정밀도: 알고리즘이 선택한 수박의 몇 퍼센트가 좋은 수박입니까?

회수율(recall): 모든 좋은 수박의 몇 퍼센트가 알고리즘에 의해 튀어나왔는지.

  • 긍정적인 예라고 확신할 때 긍정적인 예라고 판단하려면 임계값을 높이면 모델이 높은 정확도와 낮은 재현율에 해당합니다.
  • 위음성을 피하려면 임계값을 낮추십시오. 모델은 낮은 정밀도와 높은 재현율에 해당합니다.

6. 고급 최적화 알고리즘:

  • 켤레 기울기 알고리즘
  • BFGS
  • L-BFGS

        장점: 매개변수 α를 수동으로 선택할 필요가 없으며 작업 속도가 경사하강법보다 빠릅니다. 

        단점: 더 복잡함

마지막으로 Ng의 결론을 입력하고 계속 진행하도록 동기를 부여하세요~ 선생님 감사합니다

추천

출처blog.csdn.net/m0_51933492/article/details/123959546