大家好,我是Mac Jiang,非常高兴您能在百忙之中阅读我的博客!这个专题我主要讲的是Coursera-台湾大学-機器學習基石(Machine Learning Foundations)的课后习题解答.笔者是在学习了Ng的Machine Learning之后開始学习这门课程的.但还是感觉收获颇丰.Ng的课程主要站在计算机专业的角度.教你怎样使用机器学习.注重方法而不是数学推导,是一门非常好的新手教程.而林轩田老师的机器学习基石是站在统计分析角度,证明机器学习算法为什么要这么做,更加注重于理论的…
今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三的习题解答.笔者在做这些题目时遇到非常多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目怎样思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,假设各位博友发现错误请及时留言联系.谢谢!再次提醒:请不要以此博客作为通过考试的用途,还是更好学习.理解课程的途径! 希望我的博客对您的学习有所帮助! 本文出处:http://bl…
大家好,我是Mac Jiang.今天和大家分享Coursera-台湾大学-機器學習基石 (Machine Learning Foundations) -作业1的Q15-17题的C++实现. 这部分作业的任务主要是写一个PLA分类器,用于解决一个4维数据的分类问题. 我的代码或许能较好的运行PLA算法.但它不一定是最好最快的实现过程,假设各位博友有更好的思路.请留言联系,谢谢!希望我的博客能给您带来一些学习上的帮助! 其它解答请看汇总帖:http://blog.csdn.net/a10155538…
大家好,我是Mac Jiang,今天和大家分享Coursera-NTU-機器學習基石(Machine Learning Foundations)-作业四 Q13-20的MATLAB实现. 曾经的代码都是通过C++实现的.可是发现C++实现这些代码太麻烦.这次作业还要频繁更改參数值,所以选择用MATLAB实现了.与C++相比.MATLAB实现显然轻松非常多.在数据导入方面也更加方便.我的代码尽管可以得到正确答案,可是当中可能有某些思想或者细节是错误的,假设各位博友发现,请及时留言纠正,谢谢.再次声…
大家好,我是Mac Jiang,今天和大家分享Coursera-NTU-機器學習基石(Machine Learning Foundations)-作业2 Q16-18的C++实现.尽管有非常多大神已经在非常多博客中给出了Phython的实现,可是给出C++实现的文章明显较少,这里为大家提供一条C++实现的思路!我的代码尽管可以得到正确答案.可是当中可能有某些思想或者细节是错误的,假设各位博友发现,请及时留言纠正,谢谢! 再次声明.博主提供实现代码的原因不是为了让各位通过測试,而是为学习有困难的同…
由于前面分享的几篇博客已经把其他题的解决方法给出了链接,而这道题并没有,于是这里分享一下: 原题: 这题说白了就是求一个二维平面上的数据用决策树来分开,这就是说平面上的点只能画横竖两个线就要把所有的点SATTER掉,先给出四个点的情况,如下: 第一种分割方式: 第二种分割方式 第三种分割方式   为第一种的  上下导致. 第四种分割方式   为第二种的  上下导致. 第 5 6 7 8 分别为  第1 2 3 4 种中正负点的互换, 以此方式,我们可以画出  16种,这里不全部给出了. 由此可以…
这里写的是  习题1 中的    18 , 19, 20 题的解答. Packet 方法,我这里是这样认为的,它所指的贪心算法是不管权重更新是否会对train data有改进都进行修正,因为这里面没有区分是否可以线性分割,如果线性可分那么每次的更新都注定是要使train data的分割效果得到提升,但是如果不是线性可分的,那么并不是每次的权重修正都可以使效果得到提升. 这时候的贪心算法是指不考虑每次权重的修正是否可以使优化效果得到提升,有错误的分割则进行一次权重修正.这种情况下我们不能保证一定会…
我在 B 站学机器学习(Machine Learning)- 吴恩达(Andrew Ng)[中英双语] 视频地址:https://www.bilibili.com/video/av9912938/ tensorflow:http://tensorflow123.com…
机器学习(Machine Learning)是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的学科.…
domain adaptation(域适配)是一个连接机器学习(machine learning)与迁移学习(transfer learning)的新领域.这一问题的提出在于从原始问题(对应一个 source data distribution)学习到的模型能够很好地适应一个与之相不同的目标问题(对应一个 target data distribution).比如垃圾邮件过滤问题(spam filtering problems). 1. 数学描述 X:input space(description…
算法原理 K近邻是机器学习中常见的分类方法之间,也是相对最简单的一种分类方法,属于监督学习范畴.其实K近邻并没有显式的学习过程,它的学习过程就是测试过程.K近邻思想很简单:先给你一个训练数据集D,包括每个训练样本对应的标签.然后给你一个新的测试样本T,问你测试样本的标签预测是什么,K近邻的方法就是找到T到D中每一个样本的相似度,然后根据相似度大小对D中样本排序,取前K个最相似的样本的标签的众数作为测试样本T的标签(即前K个样本投票决定).具体相似度怎么度量,是根据测试样本到D中每个训练样本的距离…
机器学习 - 维基百科,自由的百科全书 https://zh.wikipedia.org/wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0 机器学习是人工智能的一个分支.人工智能的研究历史有着一条从以“推理”为重点,到以“知识”为重点,再到以“学习”为重点的自然.清晰的脉络.显然,机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题.机器学习在近30多年已发展为一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.计算复杂性理论等多门学科.…
机器学习实战 (豆瓣) https://book.douban.com/subject/24703171/ 机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或模式,成为各行业求生存.谋发展的决定性手段,这使得这一过去为分析师和数学家所专属的研究领域越来越为人们所瞩目. 本书第一部分主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法.朴素贝叶斯算法.Logistic回归算法.支持向量机.Ada…
一.机器学习基本概念总结 分类(classification):目标标记为类别型的数据(离散型数据)回归(regression):目标标记为连续型数据 有监督学习(supervised learning):训练集有类别标记无监督学习(unsupervised learning):训练集无类别标记半监督学习(semi-supervised learning):有类别标记的训练集+无类别标记的训练集 机器学习步骤的框架: step1:把数据拆分为训练集和测试集 step2:用训练集和特征集的特征向量…
内容简介 机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或模式,成为各行业求生存.谋发展的决定性手段,这使得这一过去为分析师和数学家所专属的研究领域越来越为人们所瞩目. <机器学习实战>主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法.朴素贝叶斯算法.Logistic回归算法.支持向量机.AdaBoost集成方法.基于树的回归算法和分类回归树(CART)算法等.第三部分则重点介绍无监督…
组要组成部分:监督学习(supervised learning),非监督学习(unsupervised learning),半监督学习(semi-supervised learning),强化学习(reinforcement learning). 三要素:模型(model),策略(strategy),算法(algorithm). 模型就是设计一种机器学习模型(神经网络的网络结构),策略就是定义模型中的函数中什么是最优的(loss函数的选取),算法是如何找到最优值(梯度下降,牛顿法,拉普拉斯近似)…
关于机器学习有两个相关的定义: 1)给计算机赋予没有固定编程的学习能力的研究领域. 2)一种计算机的程序,能从一些任务(T)和性能的度量(P),经验(E)中进行学习.在学习中,任务T的性能P能够随着P能去改善经验E. 例子:玩跳棋游戏 E=玩了很多调情游戏积累的经验. T=玩跳棋游戏的任务. P=该程序赢下比赛的可能性. 一般情况下,任何机器学习的问题我们都可以分类为: 1)监督学习(Supervised learning). 2)非监督学习(Unsupervised learning).…
上篇文章提到了误差分析以及设定误差度量值的重要性.那就是设定某个实数来评估学习算法并衡量它的表现.有了算法的评估和误差度量值,有一件重要的事情要注意,就是使用一个合适的误差度量值,有时会对学习算法造成非常微妙的影响.这类问题就是偏斜类(skewed classes)的问题.什么意思呢.以癌症分类为例,我们拥有内科病人的特征变量,并希望知道他们是否患有癌症,这就像恶性与良性肿瘤的分类问题.假设y=1表示患者患有癌症,假设y=0表示没有得癌症,然后训练逻辑回归模型.假设用测试集检验了这个分类模型,并…
误差分析可以更系统地做出决定.如果你准备研究机器学习的东西或者构造机器学习应用程序,最好的实践方法不是建立一个非常复杂的系统.拥有多么复杂的变量,而是构建一个简单的算法.这样你可以很快地实现它.研究机器学习的问题时,会花一天的时间试图很快的把结果搞出来.即便效果不好,运行得不完美,通过交叉验证来检验数据,一旦做完,就可以画出学习曲线.通过画出学习曲线以及检验误差来找出算法是否有高偏差和高方差的问题,或者别的问题.在这样分析之后,再来决定用更多的数据训练,或者加入更多的特征变量.这么做的原因是刚接…
当我们在进行机器学习时着重要考虑什么问题.以垃圾邮件分类为例子.假如你想建立一个垃圾邮件分类器,看这些垃圾邮件与非垃圾邮件的例子.左边这封邮件想向你推销东西.注意这封垃圾邮件有意的拼错一些单词,就像Med1cine中有一个1,m0rtgage里有个0.右边的邮件显然不是一个垃圾邮件. 假设我们已经有一些加过标签的训练集,比如标注垃圾邮件为y=1,和非垃圾邮件为y=0.那么如何用监督学习的方法来构造一个分类器,区分垃圾邮件和非垃圾邮件呢?为了应用监督学习,首先必须确定的是,如何用邮件的特征构造向量…
刚面完 AI 岗,这几点分享给你!- AI科技大本营 https://mp.weixin.qq.com/s/05G5HKSkZwhwnmskijToLQ 1.训练决策树时的参数是什么? 2.在决策树的节点处分割的标准是什么? 3.基尼系数的公式是什么? 4.熵的公式是什么? 5.决策树如何决定在哪个特征处分割? 6.你如何用数学计算收集来的信息?你确定吗? 7.随机森林的优点有哪些? 8.介绍一下boosting算法. 9.gradient boosting如何工作? 10.关于AdaBoost…
问题描述 在Azure的VM中已经安装好Jupyter,并且通过jupyter notebook --port 9999 已经启动,但是通过本机浏览器,访问VM的公网IP,则始终是不能访问的错误.(This site can't be reached) 问题分析 通过对端口9999进行tcping,结果发现该端口没有响应.而通过putty连接到Linux中,使用netstat -an命令查看内部是否已经开始监听端口.发现已经监听VM本地的IP及端口为:127.0.0.1:9999. 而问题就出现…
一.算法详解 1.什么是K临近算法 Cover 和 Hart在1968年提出了最初的临近算法 属于分类(classification)算法 邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一. 所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表. kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性. 该方法在…
下图为四种不同算法应用在不同大小数据量时的表现,可以看出,随着数据量的增大,算法的表现趋于接近.即不管多么糟糕的算法,数据量非常大的时候,算法表现也可以很好. 数据量很大时,学习算法表现比较好的原理: 使用比较大的训练集(意味着不可能过拟合),此时方差会比较低:此时,如果在逻辑回归或者线性回归模型中加入很多参数以及层数的话,则偏差会很低.综合起来,这会是一个很好的高性能的学习算法.…
一般来说,召回率和查准率的关系如下:1.如果需要很高的置信度的话,查准率会很高,相应的召回率很低:2.如果需要避免假阴性的话,召回率会很高,查准率会很低.下图右边显示的是召回率和查准率在一个学习算法中的关系.值得注意的是,没有一个学习算法是能同时保证高查准率和召回率的,要高查准率还是高召回率,取决于自己的需求.此外,查准率和召回率之间的关系曲线可以是多样性,不一定是图示的形状. 如何取舍查准率和召回率数值: 一开始提出来的算法有取查准率和召回率的平均值,如下面的公式average=(P+R)/2…
问题描述 在平常的工作习惯中,如果使用VS Code做脚本的开发,是一个非常好用的工具,现在也可以通过VS Code的不同方式来连接到Linux VM中(ssh), 第一种是VS Code的Terminal中通过powershell窗口使用ssh命令登录.另外一种就是通过插件remote-ssh登录并管理Linux VM机器(非常方便的小工具,也是本文采用的方式). 当SSH连接成功后,可以直接在VS Code中直接打开VM中的文件夹,运行脚本及编辑文件.非常方便. 实现步骤 1)通过使用SSH…
问题情形 使用Python SDK在连接到数据库后,连接数据库获取数据成功,但是在Pandas中用 to_sql 反写会数据库时候报错.错误信息为:ProgrammingError: ('42000', "[42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid object name 'sqlite_master'. (104014) (SQLExecDirectW)"). 出错代码片段: import…
机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008/Qix/blob/master/dl.md 原作作者會不斷更新.本文更新至2014-12-21 <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍非常全面.从感知机.神经网络.决策树.SVM.Adaboost到随机森林.Deep L…
(转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can Machine Learn? How Can Machine Learn Better? 每个部分由四节课组成,总共有16节课.那么,从这篇开始,我们将连续对这门课做课程笔记,共16篇,希望能对正在看这们课的童鞋有所帮助.下面开始第一节课的笔记:The Learning Problem. 一.What…
机器学习分为四步: When Can Machine Learn? Why Can Machine Learn? How Can Machine Learn? How Can Machine Learn Better? 一.What is Machine Learning Q:什么是“学习”? A:学习就是人类通过观察.积累经验,掌握某项技能或能力.就好像我们从小学习识别字母.认识汉字,就是学习的过程. 机器学习(Machine Learning),顾名思义,就是让机器(计算机)也能向人类一样,…