Coursera-吴恩达机器学习课程笔记-Week3
logistic regression
Binary classification problems
logistic regression 是一个分类算法
Hypothesis function
decision boundary 决策边界
与线性回归算法类似,先了解logistic回归算法的表达式
然后是它的cost function
代价函数本质上就是对每一个训练样本计算真实值和预测值的差距,差距大则代价函数的取值也大(这就是对算法的大惩罚);反之,预测值接近真实值,代价函数也小。下面的函数满足这个条件:
整理得到:
最后用梯度下降min代价函数可以求参
其他最小化代价函数的方法(高级优化)
Conjugate gradient(共轭梯度法)、BFGS (变尺度法) 和L-BFGS (限制变尺度法) 等方法可以用来代替梯度下降法来最小化logistic回归的代价函数。
下面是这些高级方法的优点和缺点:
Multi-class classification problems
面对多分类问题, 同样用logistic回归算法。
有n个分类,就用n个logistic回归分类器,每一次把一个类和其他类看作二元分类,进行n次就可以解决多分类问题。
算法模型训练过后一般会有两种情况:
- 欠拟合 underfitting ——高偏差 high bias
- 过拟合 overfitting ——高方差 high variance -> 泛化能力差
正则化(Regularization)
如何解决过拟合问题:
- 舍弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙(例如PCA)
- 正则化。 保留所有的特征,但是减少参数的大小(magnitude)。
正则化:在代价函数里加入正则化项。对部分特征参数加入惩罚,使他们参数值接近0。
正则化的线性回归
最小化线性回归的cost function有两种方式:梯度下降和正规方程。
下面是梯度下降的方式:
上面矩阵的尺寸是(n+1)*(n+1)
正则化的logistic回归
正则化后的函数:
正则化总结
无论是对线性回归还是logistic回归。正则化都是在原有的cost function里加入新的正则项来惩罚一些参数(降低参数大小),然后在根据新的cost function利用梯度下降或其他优化方法来最小化代价函数。
Coursera-吴恩达机器学习课程笔记-Week3的更多相关文章
- ML:吴恩达 机器学习 课程笔记(Week3~4)
Logistic Regression Regularization Neural Networks: Representation
- ML:吴恩达 机器学习 课程笔记(Week1~2)
吴恩达(Andrew Ng)机器学习课程:课程主页 由于博客编辑器有些不顺手,所有的课程笔记将全部以手写照片形式上传.有机会将在之后上传课程中各个ML算法实现的Octave版本. Linear Reg ...
- Coursera 吴恩达 机器学习 学习笔记
Week 1 机器学习笔记(一)基本概念与单变量线性回归 Week 2 机器学习笔记(二)多元线性回归 机器学习作业(一)线性回归——Matlab实现 机器学习作业(一)线性回归——Python( ...
- ML:吴恩达 机器学习 课程笔记(Week7~8)
Support Vector Machines Unsupervised Learning Dimensionality Reduction
- ML:吴恩达 机器学习 课程笔记(Week5~6)
Neural Networks: Learning Advice for Applying Machine Learning Machine Learning System Design
- ML:吴恩达 机器学习 课程笔记(Week9~10)
Anomaly Detection Recommender Systems Large Scale Machine Learning
- Coursera-吴恩达机器学习课程笔记-Week2
参考资料: 吴恩达教授机器学习课程 机器学习课程中文笔记 Week2 一. 多变量线性回归(Linear Regression with Multiple Variables) 多变量就时当一个exa ...
- Coursera-吴恩达机器学习课程笔记-Week1
参考资料: 吴恩达教授机器学习课程 机器学习课程中文笔记 Week 1 一. 引言 机器学习模型可分为监督学习Superviese learning(每个数据集给出了正确的值)和无监督学习Unsupe ...
- Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记
Week1: Machine Learning: A computer program is said to learn from experience E with respect to some ...
随机推荐
- 大数据-redis
redis 分布式缓存数据库 单节点安装 tar -zxvf redis-3.2.9.tar.gz cd /opt/sxt/redis-3.2.9 yum -y install gcc tcl (依赖 ...
- Flink流处理(四)- 时间语义
4. 时间语义(Time Semantics) 这章我们会介绍时间语义,以及在流中,对于时间的各种不同的概念的描述.同时我们也会讨论一个流处理器在事件乱序的情况下,如何能提供精准的结果,以及如何使用流 ...
- time时间模块_python
一.常用指定格式打印时间 strftime()函数: import timeprint(time.strftime('%Y-%M-%d %H:%M:%S %A' )) #格式可任意定制,2019-14 ...
- HTML学习(16)颜色
HTML 颜色由红色.绿色.蓝色混合而成. 颜色值 HTML 颜色由一个十六进制符号来定义,这个符号由红色.绿色和蓝色的值组成(RGB). 每种颜色的最小值是0(十六进制:#00).最大值是255(十 ...
- Navicat图形更改表结构的时,设置外键时出现1452错误
原文地址:http://www.mamicode.com/info-detail-1296600.html 提示1452错误,如下图所示. 然后百度了一下,得到了一个靠谱的答案: 这是因为表设置了外键 ...
- codeforces 597div2 F. Daniel and Spring Cleaning(数位dp+二维容斥)
题目链接:https://codeforces.com/contest/1245/problem/F 题意:给定一个区间(L,R),a.b两个数都是属于区间内的数,求满足 a + b = a ^ b ...
- ErgExp-lookbehind assert(后行断言)
//先行断言:先遇到一个条件,判断后面的条件是否满足 let test = 'hello world' console.log(test.match(/hello(?=\sworld)/)) //后行 ...
- ASP.NET Core 使用过滤器移除重复代码
USING ACTIONFILTERS TO REMOVE DUPLICATED CODE ASP.NET Core 的过滤器可以让我们在请求管道的特定状态之前或之后运行一些代码.因此如果我们的 ac ...
- python 第三方库安装
1.首先安装pip 2.在cmd中找到pip的安装路径,(一般在python的scripts文件中) 3.pip install 第三方库名称
- linux建立动态库的软链接
复制动态库: /home/wmz/anaconda3/lib/ 删除原链接: 建立新链接: /home/wmz/anaconda3/lib/libstdc++.so. 问题的起源是,安装anacond ...