•机器学习基础
文章平均质量分 71
本专栏依据吴恩达机器学习课程,对每一节课进行提炼和总结,并结合课后作业进行相应的解析,除此之外,本专栏将用python实现课后作业。
爱吃骨头的猫、
嘘!
展开
-
入门机器学习(一)--单变量线性回归
写在前面本系列依据吴恩达机器学习课程,对每一节课进行提炼和总结,并结合课后作业进行相应的讲解。由于原课程的课后作业是用MATLAB完成的,本系列为了方便,将用python实现课后作业。1.模型描述以预测房价为例,训练集为:用以下指标来对模型进行描述:m:训练集的数目x's:输入变量/输入特征y‘s: 输出变量/目标变量(x,y):一个训练样本(x(i),y(...原创 2019-04-15 20:22:31 · 3928 阅读 · 0 评论 -
入门机器学习(二)--多变量线性回归
1. 多维特征对于房子来说,房子的大小,房间数,楼层,房领等特征都是影响房价的因素,这些称为多维特征。如下图所示:其中,表示的是第i个样本中的第j个特征。多变量线性回归的假设函数可以表示为:对上式进行简化,另x0=1,则特征矩阵X以及系数矩阵θ可以表示为: 则假设函数可以被表示为:2. 多元梯度下降法假设函数为:其中x0=1代价函...原创 2019-04-15 22:59:09 · 4299 阅读 · 0 评论 -
入门机器学习(三)--课后作业解析-线性回归(Python实现)
相关资料:线性回归Python实现源码与数据集下载吴恩达机器学习课件与课后习题下载1. 单变量线性回归 在本练习的这一部分中, 您将使用一个变量实现线性回归, 以预测食品卡车的道具。假设你是一个餐厅的CEO, 并正在考虑开放一个在不同城市的新的网点。该连锁企业已经在各个城市拥有卡车, 你有来自城市的道具和人口的数据(ex1data1.txt)。你需要使用这些数据来帮助你选择哪...原创 2019-04-16 11:05:45 · 5081 阅读 · 7 评论 -
入门机器学习(四)--Logistic回归
1.分类(Classification)如何开发一个分类算法,以对肿瘤进行恶性或良性分类为例。如果要对以上数据进行线性回归可以这么做:如果h(x)≥0.5,那么输出为"y=1",如果h(x)<0.5,那么输出为"y=0"但是,如果在数据的右边增加一个点:那么根据线性回归,得到的分类曲线如下图蓝色线所示:这样,取0.5为阈值的话就是明显不合理的。其实将线...原创 2019-04-17 18:37:02 · 3799 阅读 · 0 评论 -
入门机器学习(五)--正则化
1. 过拟合问题(The Problem of Overfitting)线性回归的例子:以下图像是用不同的假设函数来拟合相同的数据集:拟合结果如下:第一张图用一阶多项式来拟合,效果不好,不能很好的表达数据之间的特征,这被称为“欠拟合”;第二张图用二阶多项式拟合,效果很好,虽然不能穿透每一个数据,但是能将数据的整体趋势表达出来;第三张图用四阶多项式拟合,其对于每一个数据点都拟...原创 2019-04-17 23:08:07 · 3687 阅读 · 1 评论 -
入门机器学习(六)--课后作业解析-logistics回归(python实现)
相关资料:逻辑回归Python实现源码与数据集下载吴恩达机器学习课件与课后习题下载编程作业2 logistic_regression(逻辑回归)推荐运行环境:python 3.6建立一个逻辑回归模型来预测一个学生是否被大学录取。根据两次考试的结果来决定每个申请人的录取机会。有以前的申请人的历史数据, 可以用它作为逻辑回归的训练集python实现逻辑回归 目标:建立分类器(求...原创 2019-04-22 21:48:46 · 6078 阅读 · 2 评论 -
入门机器学习(七)--神经网络
1. 非线性假设(Non-linear hypotheses)如下图所示,如果要分类该非线性数据集,应该怎么做呢?根据之前学习的逻辑回归算法,可以用一下假设函数来分类该数据集:其中函数g是sigmoid函数,分类的结果如下图所示。这是一个特征数为2的非线性分类的粒子,回到之前所学的房价问题,如下图所示,如果特征比较多,多达100个,此时如果用逻辑回归的话,假设函数的特征...原创 2019-04-24 14:58:13 · 3843 阅读 · 4 评论 -
入门机器学习(八)--神经网络参数的反向传播算法
1. 代价函数(Cost Function)假设我们拥有一个如下图所示的神经网络,一共有四层,分别是一层输入层,两层隐藏层,一层输出层。下面定义几个变量的意义:m:训练样本的个数,共有m个样本L:神经网络的层数,图中为4层Sl:在第L层的单元个数(不包括偏置单元),比如S3=5K:输出单元的个数,比如下图K=4神经网络的输出有两种形式:①单分类输出只有一个输出...原创 2019-05-05 17:07:12 · 3735 阅读 · 1 评论 -
入门机器学习(九)--应用机器学习的建议
1. 评估假设函数(Evaluating Hypothesis Function)在我们确定学习算法参数的时候,我们通常会选择是训练误差最小化的参数。但是并不是训练误差越好效果就越好,因为存在过拟合的问题。如下图所示,该模型的训练误差很小,但是曲线过度拟合了训练集的特征,所以在其他新的数据集上的表现就会比较差。但是我们怎么样去判断一个模型是否过拟合呢?当然,我们可以像上面一样绘制模型来...原创 2019-05-06 21:02:24 · 3503 阅读 · 1 评论 -
入门机器学习(十)--课后作业解析-神经网络(Python实现)
源代码与数据集对于这个练习,我们将处理手写数字数据集,这次使用反向传播的前馈神经网络。 我们将通过反向传播算法实现神经网络成本函数和梯度计算的非正则化和正则化版本。 我们还将实现随机权重初始化和使用网络进行预测的方法。import numpy as npimport pandas as pd import matplotlib.pyplot as pltfrom scipy.io...原创 2019-05-07 15:40:45 · 4769 阅读 · 9 评论 -
入门机器学习(十一)--机器学习系统的设计
1. 误差分析(Error Analysis)当研究机器学习时,最好的方法不是使用复杂的系统,而是用简单的算法,最快得到结果。即便运行不完美,但是也要运行一遍,最后通过交叉验证来验证数据。一旦做完,可以画出学习曲线,通过画出学习曲线,以验证检验误差来判断算法是否具有高偏差或者高方差的问题。在分析之后再决定使用更多的数据训练或者加入更多的特征变量。所以构建一个学习算法的推荐方法为:① 从一个...原创 2019-05-18 22:45:07 · 3593 阅读 · 1 评论 -
入门机器学习(十二)--课后作业解析-偏差与方差(Python 实现)
在本次作业中,我们要完成的是预测水库水位的变化预测大坝流出的水量。已知特征为水库的水位,要预测的y是大坝流出的水量。编程作业 5 - 偏差和方差这次练习我们将会看到如何使用课上的方法改进机器学习算法,包括过拟合、欠拟合的的状态判断以及学习曲线的绘制。import numpy as npimport scipy.io as sioimport scipy.optimize as o...原创 2019-05-20 21:04:50 · 4159 阅读 · 3 评论 -
入门机器学习(十三)--支持向量机(SVM)
1. 优化目标(Optimization Objective)目前来说,我们已经学过了单变量与多变量的线性回归,逻辑回归以及神经网络等机器学习算法,他们在各自的领域都发挥着巨大的作用。但是还有一个算法在工业界和学术界有着非常广泛地应用,它就是支持向量机(Surport Vector Machine)。与逻辑回归和神经网络相比,支持向量机,或者简称SVM,在学习复杂的非线性方程时提供了一种更为清...原创 2019-05-27 00:36:05 · 4034 阅读 · 1 评论 -
入门机器学习(十四)--编程作业-支持向量机(Python实现)
在本练习中,我们将使用支持向量机(SVM)来构建垃圾邮件分类器。 我们将从一些简单的2D数据集开始使用SVM来查看它们的工作原理。 然后,我们将对一组原始电子邮件进行一些预处理工作,并使用SVM在处理的电子邮件上构建分类器,以确定它们是否为垃圾邮件。我们要做的第一件事是看一个简单的二维数据集,看看线性SVM如何对数据集进行不同的C值(类似于线性/逻辑回归中的正则化项)。import nu...原创 2019-05-29 12:24:18 · 4491 阅读 · 7 评论 -
入门机器学习(十五)--无监督学习(K均值)
1.无监督学习-简介(Unsupervised Learning-Introduction)如下图所示是一个典型的监督学习,训练集中的每一个样本都有标签,我们需要根据标签来拟合一个假设函数。什么是无监督学习呢? 如下图所示,训练集的每一个样本都没有标签,我们需要将一系列无标签的训练数据输入到一个算法中,然后这个算法可以根据这些没有标签的样本,找到可以对样本进行分类的结构。这种学习方...原创 2019-06-05 18:39:55 · 3693 阅读 · 1 评论 -
入门机器学习(十六)--降维(PCA算法)
降维1. 数据压缩(Data Compression)2. 数据可视化(Data Visuallization)3. 主成分析问题(Principal Component Analysis Problem Formulation)4. 主成分分析算法(Principal Component Analysis Algorithm)5. 选择主成分的数量(Choosing The Number of ...原创 2019-06-07 22:43:36 · 4369 阅读 · 0 评论 -
入门机器学习(十七)--编程作业-K-means和PCA(Python实现)
编程作业-K-means和PCAK-means 聚类Principal component analysis(主成分分析)在本练习中,我们将实现K-means聚类,并使用它来压缩图像。 我们将从一个简单的2D数据集开始,以了解K-means是如何工作的,然后我们将其应用于图像压缩。 我们还将对主成分分析进行实验,并了解如何使用它来找到面部图像的低维表示。K-means 聚类我们将实施和应用K...原创 2019-06-10 13:14:26 · 4663 阅读 · 12 评论 -
入门机器学习(十八)--异常检测(Anomaly Detection)
异常检测(Anomaly Detection)1. 问题动机(Problem Motivation)2. 高斯分布(Gaussian Distribution)3. 算法(Algorithm)4. 开发和评价一个异常检测系统(Developing and Evaluating an Anomaly Detection System)1. 问题动机(Problem Motivation)什么是异...原创 2019-06-11 22:59:10 · 5976 阅读 · 0 评论 -
入门机器学习(十九)--推荐系统(Recommender Systems)
推荐系统(Recommender System)1. 问题规划(Problem Formulation)2. 基于内容的推荐系统(Content Based Recommendations)1. 问题规划(Problem Formulation)推荐系统是机器学习应用中最广泛和研究最多的场景,那么究竟什么就推荐系统呢?我们可以通过下面这个例子来说明。假使我们是一个电影供应商,我们有5部电影和...原创 2019-06-24 14:53:45 · 3964 阅读 · 0 评论 -
入门机器学习(二十)--编程作业-异常检测和推荐系统(Python实现)
编程作业–异常检测和推荐系统在本练习中,我们将使用高斯模型实现异常检测算法,并将其应用于检测网络上的故障服务器。 我们还将看到如何使用协作过滤构建推荐系统,并将其应用于电影推荐数据集。Anomaly detection(异常检测)我们的第一个任务是使用高斯模型来检测数据集中未标记的示例是否应被视为异常。 我们有一个简单的二维数据集开始,以帮助可视化该算法正在做什么。import numpy...原创 2019-06-24 17:10:57 · 3743 阅读 · 0 评论 -
入门机器学习(二十一)--大规模机器学习(Large Scale Machine Learning)
大规模机器学习(Large Scale Machine Learning)1. 大型数据集的学习(Learning With Large Datasets)2. 随机梯度下降法(Stochastic Gradient Descent)3. 小批量梯度下降(Mini-Batch Gradient Descent)4. 随机梯度下降收敛(Stochastic Gradient Descent Conv...原创 2019-06-26 14:52:20 · 3725 阅读 · 0 评论