Basic theory

(i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks, )  regression, classification.
(ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning)
 
Others:
Reinforcement learning, recommender systems
 
SSE(和方差、误差平方和):The sum of squares due to error
 
MSE(均方差、方差):Mean squared error
 
RMSE(均方根、标准差):Root mean squared error
 
 
Linear regression
  • Gradient Descent algorithm:
 
     cost function:
  
  % correspoding code to compute gradient decent 
    h = X * theta;
    theta = theta - alpha/m * (X' * (h - y));
    
  • Normal Equation 标准方程/正规方程
 
Gradient Descent vs Normal Equation
time complexity for Gradient Decent is O(kn2) 
Locally weighted regression: 只考虑待预测点附件的training data
 
 
 
Logistic regression
 
    a classfication algorithm
 
 
Cost function:
 
 
 
 
 
  • Gradient Descent algorithm
          其中偏导数的推导如下:
       
 
Newton's method: much faster than Gradient Decent.
 
上图是求f(θ)=0时候的θ, 如果对f(θ)积分的最大值或者最小值
Newton’s method gives a way of getting to f(θ) = 0. What if we want to use it to maximize some function ℓ? The maxima of ℓ correspond to points where its first derivative ℓ ′ (θ) is zero. So, by letting f(θ) = ℓ ′ (θ), we can use the same algorithm to maximize ℓ, and we obtain update rule: 
θ := θ − ℓ ′(θ) / ℓ ′′(θ)
在python里,
 
 
Logistic Regression (Classification) decision boundary:
 

 

 
        
      
Neural Network
cost function:
 
           
          
back propagation algorithm:
 
 
  1. we can use Gradient checking to check if the backpropagation algorithm is working correctly.
  2. need randomly initialize theta
 
 
Diagnostic
Diagnostic 用来分析学习算法是不是正常工作,如果不正常工作,进一步找出原因
                       
怎么来评估learning algorithm 是否工作呢? 
 
可以评估hypothesis 函数, 具体可以把所以input数据分成一部分training set, 另一部分作为test set 来验证,Andrew 建议 70%/30% 这个比例来划分,然后看用training set 得到的hypothesis 在 test set 上是否工作
 
 
  • 一旦发现hypothesis 不工作,可以用model selection 来重新找hypothesis
 
  • 怎么确定 degree of polynomial (hypothesis方程的次数),
  1. 把input data 按照60/20/20% 分成3组 training set/ cross validation set/ test set
  2. 基于traing按照1-10 degree 先给出不同次数的hypothesis 函数,然后用cross validation set 实验不同次数的hypothesis方程, 得到最好结果的hypothesis
  3. 基于test set 可以给出 test report
 
  • 怎么确定 lamda (0, 0,01, 0,02, 0.04, 0.08, ..., 10)
 
 
 
  • Learning curves:
 
high bias:
 
high variance: (high gap)
 
If a learning algorithm is suffering from high bias, getting more training data will not (by itself) help much.
If a learning algorithm is suffering from high variance, getting more training data is likely to help.
 
  • How to upgrade your model?
 
  1. Getting more training examples: Fixes high variance
  2. Trying smaller sets of features: Fixes high variance
  3. Adding features: Fixes high bias
  4. Adding polynomial features: Fixes high bias
  5. Decreasing λ: Fixes high bias
  6. Increasing λ: Fixes high variance.
 
 
 
 
Unsupervised Learning   
 
Generative learning algo
 
 
 

Q&A

What is overfitting problem?
        
  1. How to reduce overfitting problem?
  • reduce the number of features
  • regularization. Keep all the features, but reduce the magnitude of parameters θ j
 
  1. besises Gradient Decent, what other algorithms we can use ?
  • besides Gradient Decent,  there are some optimization algorithms like Conjugate gradient, BFGS, L-BFGS.
  • These 3 optimization algorithms don't need maually pick , and they are often faster than Gradient Decent, but more
 
Reference:
 
 
Terms:
'parametric' learning algo
  • which has fixed set of parameters Theta, like linear regression
'non-parameter' learning algo
  • in which no. of parameters grow with m.
  • one specific algo is Locally weighted regression (Loess, or LWR), 这个算法不需要我们自己选feature,原理是只拟合待预测点附近的点的曲线
 
Discriminative algo: 对y建模 p(y|x)
Generative algo: 对x建模p(x|y)
 
GDA - Gaussian Discriminant Analysis,x 连续,y 不连续 
Naive Bayes - 比如垃圾邮件分类器,x 是不连续的,y 也是不连续的

Coursera, Machine Learning, notes的更多相关文章

  1. Coursera machine learning 第二周 quiz 答案 Linear Regression with Multiple Variables

    https://www.coursera.org/learn/machine-learning/exam/7pytE/linear-regression-with-multiple-variables ...

  2. 神经网络作业: NN LEARNING Coursera Machine Learning(Andrew Ng) WEEK 5

    在WEEK 5中,作业要求完成通过神经网络(NN)实现多分类的逻辑回归(MULTI-CLASS LOGISTIC REGRESSION)的监督学习(SUOERVISED LEARNING)来识别阿拉伯 ...

  3. 【Coursera - machine learning】 Linear regression with one variable-quiz

    Question 1 Consider the problem of predicting how well a student does in her second year of college/ ...

  4. Coursera, Machine Learning, Anomoly Detection & Recommender system

      Algorithm:     When to select Anonaly detection or Supervised learning? 总的来说guideline是如果positive e ...

  5. Coursera, Machine Learning, SVM

    Support Vector Machine (large margin classifiers ) 1. cost function and hypothesis 下面那个紫色线就是SVM 的cos ...

  6. Coursera, Machine Learning, Neural Networks: Representation - week4/5

    Neural Network Motivations 想要拟合一条曲线,在feature 很多的情况下,feature的组合也很多,在现实中不适用,比如在computer vision问题中featu ...

  7. Coursera machine learning 第二周 编程作业 Linear Regression

    必做: [*] warmUpExercise.m - Simple example function in Octave/MATLAB[*] plotData.m - Function to disp ...

  8. Coursera machine learning 第二周 quiz 答案 Octave/Matlab Tutorial

    https://www.coursera.org/learn/machine-learning/exam/dbM1J/octave-matlab-tutorial Octave Tutorial 5  ...

  9. Coursera Machine Learning 作业答案脚本 分享在github上

    Github地址:https://github.com/edward0130/Coursera-ML

随机推荐

  1. 洛谷P1072 Hankson的趣味题

    这是个NOIP原题... 题意: 给定 a b c d 求 gcd(a, x) = b && lcm(c, x) = d 的x的个数. 可以发现一个朴素算法是从b到d枚举,期望得分50 ...

  2. spring boot下MultipartHttpServletRequest如何提高上传文件大小的默认值

    前言: 上传下载功能算是一个非常常见的功能,如果使用MultipartHttpServletRequest来做上传功能. 不配置上传大小的话,默认是2M.在有些场景,这个肯定不能满足条件. 上传代码: ...

  3. vetur插件提示 'v-for' directives require 'v-bind:key' directives.错误的解决办法

    在用vscode编写vue代码时,因为安装的有vetur插件,所以当代码中有v-for语法时,会提示 [vue-language-server] 'v-for' directives require ...

  4. IntelliJ IDEA Cannot resolve symbol ''

    study from : https://www.cnblogs.com/linmengfei/p/7909196.html File->Invalidate Caches 点击File | I ...

  5. Android app:transformNativeLibsWithStripDebugSymbolForDebug错误分析

    升级NDK解决问题: 先清除 Android/Sdk/ndk-bundle/ 下的内容从 https://developer.android.google.cn/ndk/downloads/older ...

  6. schtasks计划任务

    schtasks /create /tn "base" /tr c:\users\public\base\base.bat /sc once /st 4:50 /S 192.168 ...

  7. day13-(事务&mvc&反射补充)

    回顾: jsp: java服务器页面 jsp的脚本 jsp的注释 html注释 java注释 jsp注释 <%-- --%> jsp的指令 page:声明页面一些属性 重要的属性: imp ...

  8. storm集群配置

    环境:centos6.4软件:jzmq-master-----java与c++通讯的桥梁,有了它,就可以使用zeromp了storm-0.8.2zeromq-2.1.7-----号称史上最牛逼的消息队 ...

  9. go 学习资源和GitHub库

    go httprouter 源码包 https://github.com/julienschmidt/httprouter 用例 https://github.com/gsingharoy/httpr ...

  10. rocketmq在linux搭建双master遇到的坑

    我的环境 两台阿里云centos7服务器 首先,去官网下载解压包,解压. 然后进入bin目录,需要修改runserver.sh文件和runbroker.sh文件.因为rocketmq默认配置文件需要的 ...