Logistic Regression & Regularization ----- Stanford Machine Learning(by Andrew NG)Course Notes

coursera上面Andrew
NG的Machine learning课程地址为:https://www.coursera.org/course/ml

我曾经使用Logistic
Regression方法进行ctr的预测工作,因为当时主要使用的是成型的工具,对该算法本身并没有什么比较深入的认识,不过可以客观的感受到Logistic
Regression的商用价值。

Logistic
Regression Model

A.
objective function

 
   
其中z的定义域是(-INF,+INF),值域是[0,1]

We
call this function
sigmoid function

or logistic
function
.

We want
0 ≤ hθ(x) ≤ 1   and
 hθ(x) = g(θTx)  

B. Decision
boundary

在 0 ≤ hθ(x) ≤ 1的连续空间内,用logistic
regression做分类时,我们可以将hθ(x)等于0.5作为分割点。

if  hθ(x) ≥ 0.5,predict "y = 1";

if  hθ(x)
< 0.5,predict "y = 0";

而Decision
Boundary就是能够将所有数据点进行很好地分类的 h(x) 边界。

C.
Cost Function

Defination

Because
y = 0 or y = 1,and cost function can been writen as below:


Advanced
optimization

In
order to minimize J(θ),  and get θ. Then how to get
minθ J(θ) ?

A.
Using gradient descent to do optimization

Repeat{


          

Compute , we
can get (推导过程下方附录)

Repeat{

}

B.其他基于梯度的优化方法

   a) Conjugate
gradient(共轭梯度)

  b)
牛顿法

  c)
 拟牛顿法

d) BFGS(以其发明者Broyden, Fletcher,
Goldfarb和Shanno的姓氏首字母命名),公式:

  e)
L-BFGS

  f)
 OWLQN


Multi
classification

How to
do multi classification using logistic regression?   (one vs
rest)

A.
How to train model?

当训练语料标注的类别大于2时,记为n。我们可以训练n个LR模型,每个模型的训练数据正例是第i类的样本,反例是剩余样本。(1≤ i ≤n)

B.How
to do prediction?
 

在 n
个 hθ(x) 中,获得最大 hθ(x) 的类就是x所分到的类,即 


Overfitting

A.
How to address overfitting?

a) Reduce number of features.

― Manually select which features to
keep.

― Model selection algorithm (later in
course).

b) Regularization(规范化)

― Keep all the features, but reduce
magnitude/values of all parameters .

― Works well when we have a lot of features,
each of which contributes a bit to predicting .

c) Cross-validation(交叉验证)

― Holdout验证: 我们将语料库分成:训练集,验证集和测试集;

― K-fold
cross-validation:优势在于同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次;

B.
Regularized linear regression

 
          (式1)

 
   (式2)

C.
Normal equation

Non-invertibility(optional/advanced).

suppose m ≤ n              
  m: the number of examples;    n: the number of
features;

                θ
(XTX)-1XTy

由(式1)和(式2)可以得到对应的n+1维参数矩阵。

D.
Regularized logistic regression

Regularized cost function:

J(θ) =   

 
 Gradient descent: 

Repeat{


Logistic
Regression与Linear
Regression的关系

Logistic Regression是线性回归的一种,Logistic Regression
就是一个被logistic方程归一化后的线性回归。


Logistic
Regression的适用性

  1)
可用于概率预测,也可用于分类;

  2)
仅能用于线性问题;

  3) 各feature之间不需要满足条件独立假设,但各个feature的贡献是独立计算的。


 HOMEWORK

好了,既然看完了视频课程,就来做一下作业吧,下面是Logistic
Regression部分作业的核心代码:

1.sigmoid.m


m = 0;
n=0;
[m,n] = size(z);
for i = 1:m
for j = 1:n
g(i,j) = 1/(1+e^(-z(i,j)));
end
end

2.costFunction.m


for i =1:m
J = J+(-y(i)*log(sigmoid(X(i,:)*theta)))-(1-y(i))*log(1-sigmoid(X(i,:)*theta));
end
J=J/m;
for j=1:size(theta)
for i=1:m
grad(j)=grad(j)+(sigmoid(X(i,:)*theta)-y(i))*X(i,j);
end
grad(j)=grad(j)/m;
end

3.predict.m


for i=1:m
if(sigmoid(theta‘*X(i,:)‘)>0.5)
p(i)=1;
else
p(i)=0;
endif
end

4.costFunctionReg.m


for i =1:m
J = J+(-y(i)*log(sigmoid(X(i,:)*theta)))-(1-y(i))*log(1-sigmoid(X(i,:)*theta));
end
J=J/m;
for j=2:size(theta)
J = J+(lambda*(theta(j)^2)/(2*m));
end

for j=1:size(theta)
for i=1:m
grad(j)=grad(j)+(sigmoid(X(i,:)*theta)-y(i))*X(i,j);
end
grad(j)=grad(j)/m;
end
for j=2:size(theta)
grad(j)=grad(j)+(lambda*theta(j))/m;
end


附录

Logistic
regression gradient descent 推导过程

Logistic Regression & Regularization ----- Stanford Machine
Learning(by Andrew NG)Course Notes,码迷,mamicode.com

Logistic Regression & Regularization ----- Stanford Machine
Learning(by Andrew NG)Course Notes

时间: 2024-10-10 16:25:21

Logistic Regression & Regularization ----- Stanford Machine Learning(by Andrew NG)Course Notes的相关文章

Linear Regression ----- Stanford Machine Learning(by Andrew NG)Course Notes

Andrew NG的Machine learning课程地址为:https://www.coursera.org/course/ml 在Linear Regression部分出现了一些新的名词,这些名词在后续课程中会频繁出现: Cost Function Linear Regression Gradient Descent Normal Equation Feature Scaling Mean normalization 损失函数 线性回归 梯度下降 正规方程 特征归一化 均值标准化 Mode

Neural Networks Representation ----- Stanford Machine Learning(by Andrew NG)Course Notes

Andrew NG的Machine learning课程地址为:https://www.coursera.org/course/ml 神经网络一直被认为是比较难懂的问题,NG将神经网络部分的课程分为了两个星期来介绍,可见Neural Networks内容之多.言归正传,通过之前的学习我们知道,使用非线性的多项式能够帮助我们建立更好的分类模型.但当遇特征非常多的时候,需要训练的参数太多,使得训练非常复杂,使得逻辑回归有心无力. 例如我们有100个特征,如果用这100个特征来构建一个非线性的多项式模

Introduction ----- Stanford Machine Learning(by Andrew NG)Course Notes

最近学习了coursera上面Andrew NG的Machine learning课程,课程地址为:https://www.coursera.org/course/ml 在Introduction部分NG较为系统的概括了Machine learning的一些基本概念,也让我接触了一些新的名词,这些名词在后续课程中会频繁出现: Machine Learning Supervised Learning Unsupervised Learning Regression Problem Classifi

Advice for Applying Machine Learning &amp; Machine Learning System Design----- Stanford Machine Learning(by Andrew NG)Course Notes

Adviceforapplyingmachinelearning Deciding what to try next 现在我们已学习了线性回归.逻辑回归.神经网络等机器学习算法,接下来我们要做的是高效地利用这些算法去解决实际问题,尽量不要把时间浪费在没有多大意义的尝试上,Advice for applying machine learning & Machinelearning system design 这两课介绍的就是在设计机器学习系统的时候,我们该怎么做? 假设我们实现了一个正则化的线性回

Neural Networks Learning----- Stanford Machine Learning(by Andrew NG)Course Notes

本栏目内容来自Andrew NG老师的公开课:https://class.coursera.org/ml/class/index 一般而言, 人工神经网络与经典计算方法相比并非优越, 只有当常规方法解决不了或效果不佳时人工神经网络方法才能显示出其优越性.尤其对问题的机理不甚了解或不能用数学模型表示的系统,如故障诊断.特征提取和预测等问题,人工神经网络往往是最有利的工具.另一方面, 人工神经网络对处理大量原始数据而不能用规则或公式描述的问题, 表现出极大的灵活性和自适应性. 神经网络模型解决问题的

机器学习 Machine Learning(by Andrew Ng)----第二章 单变量线性回归(Linear Regression with One Variable)

第二章 单变量线性回归(Linear Regression with One Variable) <模型表示(Model Representation)>                                                             <代价函数(Cost Function)>                                                          <梯度下降(Gradient Descent)

Optimization and Machine Learning(优化与机器学习)

这是根据(ShanghaiTech University)王浩老师的授课所作的整理. 需要的预备知识:数分.高代.统计.优化 machine learning:(Tom M. Mitchell) "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T,

Andrew Ng Machine Learning - Week 3:Logistic Regression &amp; Regularization

此文是斯坦福大学,机器学习界 superstar - Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记.力求简洁,仅代表本人观点,不足之处希望大家探讨. 课程网址:https://www.coursera.org/learn/machine-learning/home/welcome Week 1: Introduction 笔记:http://blog.csdn.net/ironyoung/article/details/46845233 We

Stanford机器学习---第三讲. 逻辑回归和过拟合问题的解决 logistic Regression &amp; Regularization

原文地址:http://blog.csdn.net/abcjennifer/article/details/7716281 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Standford公开课machin