台大林轩田《机器学习基石》:作业一python实现

機器學習基石 机器学习基石(Machine Learning Foundations) 作业1 习题解答 大家好,我是Mac Jiang,今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业1的习题解答。笔者是在学习了Ng的Machine Learning之后开始学习这门课程的,但还是感觉收获颇丰。Ng的课程主要站在计算机专业的角度,教你如何使用机器学习,注重方法而不是数学推导,是门很好的入门教程;而林轩田老师的机器学习基石是站在统计 阅读详情

台大林轩田《机器学习基石》:作业一python实现
台大林轩田《机器学习基石》:作业二python实现
台大林轩田《机器学习基石》:作业三python实现
台大林轩田《机器学习基石》:作业四python实现

完整代码:
https://github.com/xjwhhh/LearningML/tree/master/MLFoundation
欢迎follow和star

在学习和总结的过程中参考了不少别的博文,且自己的水平有限,如果有错,希望能指出,共同学习,共同进步

##15

15题题目描述

下载训练数据,每一行都是一个训练实例,每一行的数据中,前四项是特征值,最后一项是标签,编写PLA算法进行分类,设w初始为0,sign(0)=-1,问迭代多少次后算法结束?

1.需要自己手动添加一维特征,X0=1
2.一个点分类正确的条件是xwy>0(PLA)
3.算法结束的条件是所有实例都被分配正确

代码如下:

import numpy

class NaiveCyclePLA(object):
    def __init__(self, dimension, count):
        self.__dimension = dimension
        self.__count = count

    # get data
    def train_matrix(self, path):
        training_set = open(path)
        x_train = numpy.zeros((self.__count, self.__dimension))
        y_train = numpy.zeros((self.__count, 1))
        x = []
        x_count = 0
        for line in training_set:
            # add 1 dimension manually
            x.append(1)
            for str in line.split(' '):
                if len(str.split('\t')) == 1:
                    x.append(float(str))
                else:
                    x.append(float(str.split('\t')[0]))
                    y_train[x_count, 0] = int(str.split('\t')[1].strip())
            x_train[x_count, :] = x
            x = []
            x_count += 1
        return x_train, y_train

    def iteration_count(self, path):
        count = 0
        x_train, y_train = self.train_matrix(path)
        w = numpy.zeros((self.__dimension, 1))
        # loop until all x are classified right
        while True:
            flag = 0
            for i in range(self.__count):
                if numpy.dot(x_train[i, :], w)[0] * y_train[i, 0] <= 0:
                    w += y_
機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总 大家好,我是Mac Jiang,很高兴您能在百忙之中阅读我的博客!这个专题我主要讲的是Coursera-台湾大学-機器學習基石(Machine Learning Foundations)的课后习题解答。笔者是在学习了Ng的Machine Learning之后开始学习这门课程的,但还是感觉收获颇丰。Ng的课程主要站在计算机专业的角度,教你如何使用机器学习,注重方法而不是数学推导,是门很好的入门教程 阅读详情

相关推荐

機器學習基石(Machine Learning Foundations) 机器学习基石 作业四 课后习题解答

大家好,我是Mac Jiang,今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业四的习题解答。笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供些思路。当然,我对题目的理解不定是正确的,如果各位博友发现错误请及时留言联系,谢谢!再次提醒

Mac Jiang的博客 9767

林轩田-机器学习基石-作业4-python源码

林轩田-机器学习基石-作业4-python源码

rikichou的专栏 1194

台大林轩田机器学习基石》:作业python实现

17,18 分类方法是”positive and negative rays”,老师上课讲过的 第17题是要在[-1,1]种取20个点,分隔为21个区间作为theta的取值区间,每种分类有42个hyphothesis,枚举所有可能情况找到使E_in最小的hyphothesis,记录最小E_in 第18题的意思是在17题得到的最佳hyphothesis的基础上,利用第16题的公式计算E...

devil_bye的博客 1174

林轩田-机器学习基石-作业3-python源码

林轩田-机器学习基石-作业3-python源码

rikichou的专栏 3020

台大林轩田机器学习基石》:作业python实现

台大林轩田机器学习基石》:作业python实现 台大林轩田机器学习基石》:作业python实现 台大林轩田机器学习基石》:作业python实现 13 给定target function,我们的工作是在X=[-1,1]x[-1,1]上随机产生1000个点,利用f(x1,x2)计算它的值,然后在基础上添加10%的噪声(二元分类的噪声就是把10%的样本的y值取相反数)。如果不做f...

devil_bye的博客 1342

台大林轩田机器学习基石》:作业python实现

13 下载训练样本和测试样本,利用正则化的线性回归,参数lambda取10,得到Ein和Eout 我计算w的方式是使用正规方程,即calculate_w_reg方法 import numpy as np # load data def load_data(filename): code = open(filename, &amp;amp;quot;r&amp;amp;quot;) lines = code.readli...

devil_bye的博客 688

机器学习基石作业

已入机器学习坑,下决心走下去。《统计学习方法》书介绍了十种算法,不算太难,但仍需重读以仔细研究其中的推导。《机器学习实战》书则给出了各种算法的具体实例,Python实现,适合入门者了解算法的具体应用。另在Cousera上选了两门课:斯坦福Andrew Ng的《Machine Learning》、台大林田轩的《机器学习基石》和《机器学习技法》。Andrew的课程简单,省去了很多的数学推导和证明,但

Marcovaldong的博客 5483

机器学习基石作业(NTU-林轩田) Python代码部分

机器学习基石作业(NTU-林轩田) Python代码部分 Q15 这题是写PLA演算法 import numpy as np import pandas as pd def PLA(data): n,m = data.shape w = np.zeros([m-1,1]) counts = 0 k = 0 while 1: k=0 ...

weixin_39765532的博客 405

台大机器学习基石(Machine Learning Foundations)(Quiz3--作业三)的Python实现(带详细注释)

Quiz 3 (q13-15, q18-20) 源码文件链接:https://github.com/Alex-YP-Jiang/Machine-Learning-Foundations-Taiwan-University-Quiz-1-4-Python-Codes >>> # Q13-15 1st order and feature-transformed(2nd ...

weixin_45135272的博客 276

机器学习路径规划

机器学习路径规划从知乎上听说了林轩田老师机器学习的课程,又偶然从百度云上获得了他讲课的视频,看了节课程介绍后,大体规划了下machine learning的学习路径视频

Jade_Moon的博客 5042

深度盘点:机器学习这6套技术资料真香啊

大家好,这几天我对机器学习资料进行了整理,发现这些年已积攒了太多的学习资料。当初从小白到现在路走来真心不易。至今记得,当初反复阅读了4遍周志华老师的《机器学习》,满满的都是理论基础,非常的枯燥。 后面开始接触林轩田、李宏毅、吴恩达等老师的课程。今天我把这些资料都进行了梳理,分析给大家,喜欢的文末获取。整理不易,获取前记得点赞、收藏、关注。 1.资料展示 1.1 全部资料展示 1.2 机器学习技法(台大-林轩田) 1.3 斯坦福吴恩达 1.4 唐宇迪 python 数据分析与机器学习(视频) 1.5

机器学习社区 1260

机器学习笔记

教程 吴恩达机器学习视频教程; 吴恩达机器学习讲义; 吴恩达机器学习课程资源,包括笔记、视频、python作业

qq_36699238的博客 162

撒花!李宏毅机器学习 2021 版正式开放上线

提起李宏毅老师,熟悉机器学习的读者朋友定不会陌生。最典型的就是开局言不合就“宝可梦”。李宏毅老师幽默风趣的教学风格也吸引力很多机器学习爱好者。李宏毅老师的机器学习课程可以说是最具代表性...

红色石头的专栏 2220

Machine Learning学习资源

machine learning学习资源

好记性不如烂笔头 257

年终超全整理:机器学习视频教程和 Python 技术路线来了

大家好,2022马上要来了,这几天对学习机器学习时收藏的资料进行了整理,当初看过《吴恩达老师》的几个视频,但是没看几个视频就直接去磕《机器学习》(又名“西瓜书”)和《机器学习实战》了。现在主要是跟着李宏毅老师的机器学习视频。 先说句“资料在精,不再多”。选好个资料,把这个资料给磕完就是很不错的。以上提到的资料都会有,给大家准备这么多,是给大家多点选择的机会. 1.资料展示 1.1 全部资料展示 1.2 机器学习技法(台大-林轩田) 1.3 斯坦福吴恩达 1.4 唐宇迪 pytho

slw20010213的博客 1198

超全整理:机器学习Python 技术路线来了

大家好,2022年已开始段时间了,这几天对学习机器学习时收藏的资料进行了整理,当初看过《吴恩达老师》的几个视频,但是没看几个视频就直接去磕《机器学习》(又名“西瓜书”)和《机器学习实战》了。现在主要是跟着李宏毅老师的机器学习视频。 先说句“资料在精,不再多”。选好个资料,把这个资料给磕完就是很不错的。以上提到的资料都会有,给大家准备这么多,是给大家多点选择的机会. 1.资料展示 1.1 全部资料展示 1.2 机器学习技法(台大-林轩田) 1.3 斯坦福吴恩达 1.4 唐宇迪 python 数据分

Python学习与数据挖掘 541

B站好资源: 数据科学,机器学习python

数学基础 1、Up主:3Blue1Brown的数学基础 https://space.bilibili.com/88461692 课程介绍:用动画讲述数学专业知识,其视频涵盖了线性代数、微积分、拓扑学等领域,每门课都配有直观生动的动画演示,帮助观众加深对数学概念定理的理解。 2、数学分析 https://www.bilibili.com/video/av8042121 课程介绍:复旦陈纪修老师的数学...

一直在路上 1590

不要浪费时间!直到你到达你的蟒蛇机器学习

Python——书 这里推荐三本最有价值的书吧: 《流畅的Python》,作者:[巴西]Luciano Ramalho,很厚,比较全面,可以作为工具书常常翻看 《 Python编程从入门到实践(第2版)》,作者:[美]埃里克·马瑟斯(Eric,Matthes)非常全面,对新手还算友好,里面有很多的练习项目非常不错。 《利用Python进行数据分析·第2版》数据分析入门必读书,主要介绍了python 3个库numpy(数组),pandas(数据分析)和matplotlib(绘图)的学习。 Pyt..

weixin_59071011的博客 327
上一篇: 统计学习方法第五章:决策树(decision tree),CART算法,剪枝及python实现
下一篇: 台大林轩田《机器学习基石》:作业二python实现
不晓得X
博客等级 码龄10年 114粉丝 50原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值