Coursera-吴恩达-机器学习-第三周-编程作业: Logistic Regression

本次文章内容:

Coursera吴恩达机器学习课程,第三周编程作业。编程语言是Matlab。

学习算法分两部分进行理解,第一部分是对算法结构进行口头综述,第二部分是代码。

0 Introduction

本作业中,将执行逻辑回归并将其应用于两个不同的数据集。一个是线性可分数据集,另一个是非线性的数据集,降级引入正则化。

1 Logistic Regression

part 1 algorithm 

Part 0 Initialization & Load Data ,常规操作初始化并加载数据。

Part 1: Plotting ,数据可视化,将data拆分成X和y,并绘出图像。

Part 2: Compute Cost and Gradient  ,计算Cost 和Gradient。

Part 3: Optimizing using fminunc  

           使用part2部分的值,带入 fminunc 函数返回最优解(cost和theta),并在图像中画出DecisionBoundary曲线。

Part 4: Predict and Accuracies

           根据得出的theta值,计算训练集上的精度accuracy。

           p = predict(theta, X)得出的布尔值,mean(A)返回A中元素的平均值。 从而预测精度。

part 2 code 

2 Regularized logistic regression

part 1 algorithm 

Part 0 Initialization & Load Data ,常规操作初始化并加载数据。

Part 1: Regularized Logistic Regression

           当数据集不是 linearly separable时,需添加polynomial features to our data matrix 。

           先使用mapFeature 函数得到polynomial features,注意,这个函数已经添加了intercept项 ,即X0项,此处注意维度。

           再使用costFunctionReg函数,计算Compute and display initial cost and gradient for regularized logistic regression

Part 2: Regularization and Accuracies

           将costFunctionReg函数带入 fminunc 函数,返回最优解(cost和theta)计算训练集上的精度accuracy。

           这一部分同上。

part 2 code 

猜你喜欢

转载自blog.csdn.net/qq1376725255/article/details/82793723