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. 用table绘制 等宽等间距的单元

    css: .test1 { empty-cells: show;/*show:指定当表格的单元格无内容时,显示该单元格的边框.*/ border-spacing: 10px 10px;/*用长度值来定 ...

  2. 第一篇-Git基础学习

    学习网址: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758410 ...

  3. R: 修改镜像、bioconductor安装及go基因富集分析

    1.安装bioconductor及go分析涉及的相关包 source("http://bioconductor.org/biocLite.R") options(BioC_mirr ...

  4. TestNg 3.忽略测试

    有些测试本身不想执行,但是删掉显得不合理,需要忽略这个测试用例 package com.course.testng; import org.testng.annotations.Test; publi ...

  5. 安装原版Win8.1并激活

    别问我为啥是win8.1,因为我不喜欢win10. 别问我为啥装系统,因为我新买了个硬盘. 别问我为啥写个教程,因为经历了很多坑. 第一步,用U启动做个U盘启动 http://www.uqdown.c ...

  6. Js封装的动画函数实现轮播图

    ---恢复内容开始--- 效果图说明:当鼠标移到哪一个按钮上的时候会自动跳转到某一张图片上,并且按钮会以高亮显示 项目目录结构 用到的js封装的animate()动画         function ...

  7. SVN YUM安装

    一,安装: yum install subversion 二,创建配置SVN仓库: 目录自定,我这是在/home下: #cd /home # mkdir svn #svnadmin create /h ...

  8. hive metastore && hiveserver2 . 基本配置

    <?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-s ...

  9. java io系列07之 FileInputStream和FileOutputStream

    本章介绍FileInputStream 和 FileOutputStream 转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_07.html File ...

  10. JAVA核心技术I---JAVA基础知识(不可变对象和字符串)

    一:不可变对象 不可变对象(Immutable Object) –一旦创建,这个对象(状态/值)不能被更改了–其内在的成员变量的值就不能修改了. –典型的不可变对象 • 八个基本型别的包装类的对象 • ...