SMOTE for multi-instance learning i.e num_rows(x_train) > num_rows(y_train)
What you have here is called Multi-Instance Learning. From Wikipedia


  In machine learning, multiple-instance learning (MIL) is a type of supervised learning. Instead of receiving a set of instances which are individually labeled, the learner receives a set of labeled bags, each containing many instances.


Source: https://en.wikipedia.org/wiki/Multiple_instance_learning

The approach you take in this case is different. You need to bring the Multi-Instance Learning problem into a Single-Instance Learning one. One way you can do this is:


Perform for each bag of instances a K-Means clustering
Calculate the Hausdorff distance of each instance from each of the cluster
Use those distances as features and keep the label from the y_train set


Then apply SMOTE on the new dataset (where you have one row for features and label) and any kind of model of Single-Instance Learning.

You can find details in this Review of Multi-Instance Learning and Its applications